Ke Ao Teensy Flight Software
The software on the Teensy in the Ke Ao cubesat.
Loading...
Searching...
No Matches
Artemis::Devices::Astrodev::function_config1 Struct Reference

Structure for configuring discrete Astrodev radio functions. More...

#include <astrodev.h>

Public Attributes

uint16_t ext_event_pin12_functions: 2
 Pin 12 external event functions.
 
uint16_t config2_pin13_functions: 2
 Pin 13 configuration options.
 
uint16_t config1_pin14_dio_enable: 1
 Pin 14 Digital I/O (DIO) enable options.
 
uint16_t config1_pin14_dio_pattern: 1
 Pin 14 Digital I/O (DIO) enable pattern.
 
uint16_t rx_crc_enable: 1
 Enable CRC for received packets.
 
uint16_t tx_crc_enable: 1
 Enable CRC for transmitted packets.
 
uint16_t tlm_packet_logging_enable: 1
 Enable telemetry packets.
 
uint16_t tlm_packet_logging_rate: 2
 Telemetry packet logging rate.
 
uint16_t tlm_dump_enable: 1
 Enable telemetry dump.
 
uint16_t oa_commands_enable: 1
 Enable Over-the-Air (OA) commands.
 
uint16_t code_upload_enable: 1
 Enable code uploading.
 
uint16_t radio_reset_enable: 1
 Enable radio reset.
 
uint16_t factory_defaults_restored: 1
 Factory settings restore complete flag.
 

Detailed Description

Structure for configuring discrete Astrodev radio functions.

This defines the structure of Astrodev radio configuration settings. These settings are usually small, one- or two-bit settings that would clutter the configuration structure. Therefore, this structure holds them seperately.

This struct consists of 13 members and is 2 bytes in size. Because of the large number of members, they are not summarized in this top-level description. See the definition of this structure for the member summaries.A diagram of the struct is included below.

   2 bytes = 4 nybbles
   +--------------------+
   |  function_config1  |
   +--------------------+

   Nybble 1
   2 bits                      2 bits
   +---------------------------+-------------------------+
   | ext_event_pin12_functions | config2_pin13_functions |
   +---------------------------+-------------------------+

   Nybble 2
   1 bit                      1 bit                       1 bit 1 bit
   +--------------------------+---------------------------+---------------+---------------+
   | config1_pin14_dio_enable | config1_pin14_dio_pattern | rx_crc_enable
| tx_crc_enable |
   +--------------------------+---------------------------+---------------+---------------+

   Nybble 3
   1 bit                       2 bits                    1 bit
   +---------------------------+-------------------------+-----------------+
   | tlm_packet_logging_enable | tlm_packet_logging_rate |
tlm_dump_enable |
   +---------------------------+-------------------------+-----------------+

   Nybble 4
   1 bit                1 bit                1 bit                1 bit
   +--------------------+--------------------+--------------------+---------------------------+
   | oa_commands_enable | code_upload_enable | radio_reset_enable |
factory_defaults_restored |
   +--------------------+--------------------+--------------------+---------------------------+

Member Data Documentation

◆ code_upload_enable

uint16_t Artemis::Devices::Astrodev::function_config1::code_upload_enable

Enable code uploading.

Defines whether code can be uploaded to the radio. Possible options are:

  • 0: Disable code uploading
  • 1: Enable code uploading

◆ config1_pin14_dio_enable

uint16_t Artemis::Devices::Astrodev::function_config1::config1_pin14_dio_enable

Pin 14 Digital I/O (DIO) enable options.

Defines whether or not Digital I/O (DIO) should be enabled for pin 14 on the radio. Possible options are:

  • 0: Off, Logic Low
  • 1: Digital IO Over the Air Key Enable

◆ config1_pin14_dio_pattern

uint16_t Artemis::Devices::Astrodev::function_config1::config1_pin14_dio_pattern

Pin 14 Digital I/O (DIO) enable pattern.

Defines how pin 14 on the radio should be enabled when triggered. Possible options are:

  • 0: Pattern A, Latch High
  • 1: Pattern B, Toggle, 72ms High

◆ config2_pin13_functions

uint16_t Artemis::Devices::Astrodev::function_config1::config2_pin13_functions

Pin 13 configuration options.

Defines how pin 13 should be configured on the radio. Possible options are:

  • 0: Off, Logic Low
  • 1: Switch between Tx/Rx
  • 2: Trigger WatchDog Timer (WDT) with 2.5Hz frequency
  • 3: Toggle on receive packet (1.25ms)

◆ ext_event_pin12_functions

uint16_t Artemis::Devices::Astrodev::function_config1::ext_event_pin12_functions

Pin 12 external event functions.

Defines when to trigger pin 12 connected to the radio. Possible options are:

  • 0: Off, Logic Low
  • 1: 2.5s Toggle
  • 2: TX Packet Toggle (12ms)
  • 3: Rx Packet Toggle (1.25ms)

◆ factory_defaults_restored

uint16_t Artemis::Devices::Astrodev::function_config1::factory_defaults_restored

Factory settings restore complete flag.

Indicates that all settings have been restored to factory default. Possible options are:

  • 0: Factory settings not yet restored
  • 1: Factory settings restored

◆ oa_commands_enable

uint16_t Artemis::Devices::Astrodev::function_config1::oa_commands_enable

Enable Over-the-Air (OA) commands.

Defines whether the radio should execute Over-the-Air (OA) commands transmitted to it by a ground station. Possible options are:

  • 0: Disable OA commands
  • 1: Enable OA commands

◆ radio_reset_enable

uint16_t Artemis::Devices::Astrodev::function_config1::radio_reset_enable

Enable radio reset.

Defines whether the radio can be soft reset. Possible options are:

  • 0: Disable radio reset
  • 1: Enable radio reset

◆ rx_crc_enable

uint16_t Artemis::Devices::Astrodev::function_config1::rx_crc_enable

Enable CRC for received packets.

Defines where Cyclic Redundancy Checking (CRC) should be enabled for packets the radio receives. Possible options are:

  • 0: Disable CRC
  • 1: Enable CRC

◆ tlm_dump_enable

uint16_t Artemis::Devices::Astrodev::function_config1::tlm_dump_enable

Enable telemetry dump.

Defines whether telemetry packets should include the full telemetry data dump. Possible options are:

  • 0: Disable telemetry dump
  • 1: Enable telemetry dump

◆ tlm_packet_logging_enable

uint16_t Artemis::Devices::Astrodev::function_config1::tlm_packet_logging_enable

Enable telemetry packets.

Defines whether telemetry packets should be transmitted by the radio at a regular interval. Possible options are:

  • 0: Disable telemetry packet logging
  • 1: Enable telemetry packet logging

◆ tlm_packet_logging_rate

uint16_t Artemis::Devices::Astrodev::function_config1::tlm_packet_logging_rate

Telemetry packet logging rate.

Defines the rate at which telemetry packets are generated and sent by the radio. Possible options are:

  • 0: 0.1 Hz
  • 1: 1 Hz
  • 2: 2 Hz
  • 3: 4 Hz

◆ tx_crc_enable

uint16_t Artemis::Devices::Astrodev::function_config1::tx_crc_enable

Enable CRC for transmitted packets.

Defines where Cyclic Redundancy Checking (CRC) should be enabled for packets the radio transmits. This feature has not yet been implemented in the Astrodev firmware. Possible options are:

  • 0: Disable CRC
  • 1: Enable CRC

The documentation for this struct was generated from the following file: