# 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: