ISIS Antenna System API¶
Deployment Status Flags
- 
SYS_BURN_ACTIVE¶
- Antenna system independent burn is active. 
- 
SYS_IGNORE_DEPLOY¶
- Antenna system is ignoring the deployment switches. 
- 
SYS_ARMED¶
- Antenna system is armed. 
- 
ANT_1_NOT_DEPLOYED¶
- Antenna 1 is not deployed. 
- 
ANT_1_STOPPED_TIME¶
- Antenna 1 deployment time limit was reached. 
- 
ANT_1_ACTIVE¶
- Antenna 1 deployment system is active. 
- 
ANT_2_NOT_DEPLOYED¶
- Antenna 2 is not deployed. 
- 
ANT_2_STOPPED_TIME¶
- Antenna 2 deployment time limit was reached. 
- 
ANT_2_ACTIVE¶
- Antenna 2 deployment system is active. 
- 
ANT_3_NOT_DEPLOYED¶
- Antenna 3 is not deployed. 
- 
ANT_3_STOPPED_TIME¶
- Antenna 3 deployment time limit was reached. 
- 
ANT_3_ACTIVE¶
- Antenna 3 deployment system is active. 
- 
ANT_4_NOT_DEPLOYED¶
- Antenna 4 is not deployed. 
- 
ANT_4_STOPPED_TIME¶
- Antenna 4 deployment time limit was reached. 
- 
ANT_4_ACTIVE¶
- Antenna 4 deployment system is active. 
Enums
- 
enum KANTSStatus¶
- Antenna function return values. - Values: - 
ANTS_OK¶
- Requested function completed successfully. 
 - 
ANTS_ERROR¶
- Generic error. 
 - 
ANTS_ERROR_CONFIG¶
- Configuration error. 
 - 
ANTS_ERROR_NOT_IMPLEMENTED¶
- Requested function has not been implemented for the subsystem. 
 
- 
Functions
- 
KANTSStatus k_ants_init(char *bus, uint8_t primary, uint8_t secondary, uint8_t ant_count, uint32_t timeout)¶
- Initialize the antenna interface. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
- Parameters
- bus: I2C bus device the antenna systems device is connected to
- primary: The I2C address of the device’s primary microcontroller
- secondary: The I2C address of the device’s secondary/redundant microcontroller
- ant_count: The number of antennas that the device can deploy
- timeout: The watchdog timeout interval (in seconds)
 
 
- 
void k_ants_terminate(void)¶
- Terminate the antenna interface. 
- 
KANTSStatus k_ants_configure(KANTSController config)¶
- Configure the antenna. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
- Parameters
- config: Microntroller to use for system commanding
 
 
- 
KANTSStatus k_ants_reset(void)¶
- Reset both of the antenna’s microcontrollers. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
 
- 
KANTSStatus k_ants_arm(void)¶
- Arm the antenna. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
 
- 
KANTSStatus k_ants_disarm(void)¶
- Disarm the antenna. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
 
- 
KANTSStatus k_ants_deploy(KANTSAnt antenna, bool override, uint8_t timeout)¶
- Deploy an antenna. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
- Parameters
- antenna: Antenna to deploy
- override: Indicates whether system should ignore previous successful deployment
- timeout: Maximum time, in seconds, system should spend deploying the antenna
 
 
- 
KANTSStatus k_ants_auto_deploy(uint8_t timeout)¶
- Automatically deploy each antenna in sequence. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
- Parameters
- timeout: Maximum time, in seconds, system should spend deploying a single antenna
 
 
- 
KANTSStatus k_ants_cancel_deploy(void)¶
- Cancel all current deployment actions. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
 
- 
KANTSStatus k_ants_get_deploy_status(uint16_t *resp)¶
- Get current deployment status. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
- Parameters
- resp: Pointer to storage for data
 
 
- 
KANTSStatus k_ants_get_uptime(uint32_t *uptime)¶
- Get system uptime. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
- Parameters
- uptime: Pointer to storage for data
 
 
- 
KANTSStatus k_ants_get_system_telemetry(ants_telemetry *telem)¶
- Get the current system telemetry. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
- Parameters
- telem: Pointer to ants_telemetry structure
 
 
- 
KANTSStatus k_ants_get_activation_count(KANTSAnt antenna, uint8_t *count)¶
- Get an antenna’s activation count. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
- Parameters
- antenna: Antenna to query
- count: Number of times antenna deployment has been attempted
 
 
- 
KANTSStatus k_ants_get_activation_time(KANTSAnt antenna, uint16_t *time)¶
- Get an antenna’s activation time. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
- Parameters
- antenna: Antenna to query
- time: Amount of time spent deploying antenna in 50ms steps
 
 
- 
KANTSStatus k_ants_watchdog_kick(void)¶
- Kick the AntS’s watchdogs once. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
 
- 
KANTSStatus k_ants_watchdog_start(void)¶
- Start a thread to kick the AntS’s watchdogs at an interval of (timeout/3) seconds. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
 
- 
KANTSStatus k_ants_watchdog_stop(void)¶
- Stop the watchdog thread. - Return
- KANTSStatus ANTS_OKif OK, error otherwise
 
- 
KANTSStatus k_ants_passthrough(const uint8_t *tx, int tx_len, uint8_t *rx, int rx_len)¶
- Pass a command packet directly through to the antenna. - Useful for executing commands which have not been implemented in either the generic or specific antenna APIs. - Return
- KANTSStatus ANTS_OK if OK, error otherwise
- Parameters
- tx: Pointer to command packet to send
- tx_len: Size of command packet
- rx: Pointer to storage for command response
- rx_len: Expected length of command response
 
 
- 
struct ants_telemetry¶
- #include <ants-api.h>System telemetry fields returned from k_ants_get_system_telemetry.