Artemis Teensy Flight Software
The software on the Teensy in the Artemis cubesat.
Artemis::Channels::RFM23 Namespace Reference

The RFM23 channel. More...

Functions

void rfm23_channel ()
 The top-level channel definition. More...
 
void setup ()
 The RFM23 setup function. More...
 
void loop ()
 The RFM23 loop function. More...
 
void handle_queue ()
 Helper function to handle packet queue. More...
 
void receive_from_radio ()
 Helper function to receive a packet from the RFM23 radio.
 
RFM23 radio (config.pins.cs, config.pins.nirq, hardware_spi1)
 The radio object used throughout the channel.
 

Variables

PacketComm packet
 The packet used throughout the channel.
 
RFM23::rfm23_config config
 The radio's configuration used throughout the channel. More...
 

Detailed Description

The RFM23 channel.

Function Documentation

◆ handle_queue()

void Artemis::Channels::RFM23::handle_queue ( )

Helper function to handle packet queue.

This is a helper function called in loop() that checks for packets and routes them to the RFM23 radio.

◆ loop()

void Artemis::Channels::RFM23::loop ( )

The RFM23 loop function.

This function runs in an infinite loop after setup() completes. It routes packets going to and coming from the RFM23 radio.

◆ rfm23_channel()

void Artemis::Channels::RFM23::rfm23_channel ( )

The top-level channel definition.

This is the function that defines the RFM23 channel. Like an Arduino script, it has a setup() function that is run once, then loop() runs forever.

◆ setup()

void Artemis::Channels::RFM23::setup ( )

The RFM23 setup function.

This function is run once, when the channel is started. It connects to the RFM23 over a SPI connection.

Variable Documentation

◆ config

RFM23::rfm23_config Artemis::Channels::RFM23::config
Initial value:
= {
.freq = 433,
.tx_power = RH_RF22_RF23BP_TXPOW_30DBM,
.pins =
{
.spi_miso = SPI1_D0,
.spi_mosi = SPI1_D1,
.spi_sck = SPI1_SCLK,
.nirq = NIRQ,
.cs = SPI1_CS1,
.tx_on = TX_ON,
.rx_on = RX_ON,
},
}

The radio's configuration used throughout the channel.