Using an ISIS Anntenna System in a Kubos Project

This document covers the particular capabilities and requirements of the Kubos API for the ISIS Antenna Systems.

Reference Documents

ISIS

  • Antenna System Interface Control Document - The main hardware guide for the antenna
  • Antenna Systems Options Sheet - Allows customers to specify non-default options that their antenna should be manufactured with

Run-Time Configuration

The ISIS antenna system supports in-flight configuration changes via the k_ants_configure() function. The function takes a KANTSController value which indicates which microcontroller should be used to issue future antenna system commands.

Arming the System

Deployment can be enabled using the k_ants_arm() function.

Deployment can subsequently be disabled using the k_ants_disarm() function.

Note

Arming/Disarming is done on a per-microcontroller basis

Deployment

There are several functions which can be used to control the deployment of the systems antennas.

Manual Deployment

Deployment of a single antenna can be controlled using the k_ants_deploy() function.

The function takes three arguments:

  • The antenna to deploy, specified by KANTSAnt
  • Whether prior deployment should be overridden
  • The deployment timeout value, in seconds (the default is 30 seconds)

For example:

#include <isis-ants-api/ants-api.h>

KANTSStatus status;

/* Deploy antenna #3 with a 20 second timeout value */
status = k_ants_deploy(ANT_3, false, 20);
if (status != ANTS_OK)
{
    fprintf(stderr, "Failed to deploy antenna: %d\n", status);
    return ANTS_ERROR;
}

Automatic Deployment

The k_ants_auto_deploy() function can be used to automatically deploy each antenna in sequential order.

The function takes a single argument of the deployment timeout value for each antenna, in seconds (the default is 30 seconds).

Canceling Deployment

All current deployment actions can be canceled by using k_ants_cancel_deploy().

Watchdog

Each antenna microcontroller has a watchdog which will restart the system if it has not been fed within the required interval.

There are three provided functions to assist with maintenance:

Other Functions