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

The tests channel. More...

Functions

void test_channel ()
 The top-level channel definition. More...
 
void setup ()
 The test setup function. More...
 
void loop ()
 The test loop function. More...
 
void turn_on_rpi ()
 Test turning on the Raspberry Pi. More...
 
void turn_off_rpi ()
 Test turning off the Raspberry Pi. More...
 
void rpi_take_picture_from_teensy ()
 Test taking a picture (from the Teensy). More...
 
void rpi_take_picture_from_ground ()
 Test taking a picture (from the ground). More...
 
void pdu_switch_all_on ()
 Test enabling all PDU switches. More...
 
void pdu_switch_status ()
 Test requesting status of all PDU switches. More...
 
void rfm23_transmit ()
 Test transmitting from the RFM23. More...
 
void report_threads_status ()
 Report on the status of all currently running threads.
 
void report_memory_usage ()
 Report on the current memory utilization.
 
void report_queue_size ()
 Report on the size of each of the queues.
 

Variables

PacketComm packet
 The packet used throughout the tests.
 
elapsedMillis piShutdownTimer = 0
 The time since the Raspberry Pi has been turned on.
 
bool piIsOff = false
 Whether the Raspberry Pi is off.
 
uint32_t packet_count = 0
 The number of packets transmitted by the RFM23.
 

Detailed Description

The tests channel.

Function Documentation

◆ loop()

void Artemis::Channels::TEST::loop ( )

The test loop function.

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

◆ pdu_switch_all_on()

void Artemis::Channels::TEST::pdu_switch_all_on ( )

Test enabling all PDU switches.

This function simulates a packet sent from the ground to the satellite commanding it to enable all PDU switches.

◆ pdu_switch_status()

void Artemis::Channels::TEST::pdu_switch_status ( )

Test requesting status of all PDU switches.

This function simulates a packet sent from the ground to the satellite commanding it to report the status of all PDU switches.

◆ rfm23_transmit()

void Artemis::Channels::TEST::rfm23_transmit ( )

Test transmitting from the RFM23.

This function simulates a packet sent from the Teensy to the RFM23 commanding it to send a packet of data to the ground.

◆ rpi_take_picture_from_ground()

void Artemis::Channels::TEST::rpi_take_picture_from_ground ( )

Test taking a picture (from the ground).

This function simulates a packet sent from the ground to the satellite commanding it to take a picture.

◆ rpi_take_picture_from_teensy()

void Artemis::Channels::TEST::rpi_take_picture_from_teensy ( )

Test taking a picture (from the Teensy).

This function simulates a packet sent from the Teensy to the Raspberry Pi commanding it to take a picture.

◆ setup()

void Artemis::Channels::TEST::setup ( )

The test setup function.

This function is run once, when the channel is started. It connects to the Raspberry Pi over a serial connection.

◆ test_channel()

void Artemis::Channels::TEST::test_channel ( )

The top-level channel definition.

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

◆ turn_off_rpi()

void Artemis::Channels::TEST::turn_off_rpi ( )

Test turning off the Raspberry Pi.

This function simulates a packet sent from the ground to the satellite commanding the Teensy to turn off the Raspberry Pi. A minimum of 10 seconds must have passed since the Raspberry Pi was turned on.

◆ turn_on_rpi()

void Artemis::Channels::TEST::turn_on_rpi ( )

Test turning on the Raspberry Pi.

This function simulates a packet sent from the ground to the satellite commanding the Teensy to turn on the Raspberry Pi.