Artemis Teensy Flight Software
The software on the Teensy in the Artemis cubesat.
Todo List
Member Artemis::Channels::RPI::loop ()
Handle the case where the Pi is not on.
Member Artemis::Channels::RPI::setup ()
Ensure the Pi is on before completing setup.
Member Artemis::Devices::PDU::set_switch (PDU_SW sw, PDU_SW_State state)
This function should check the switch state and ensure it matches what we expect. However, the reply from the PDU with the switch state should still be used to update the internal PDU class switch state, even if the switch hasn't been set.
Member Artemis::Devices::PDU::switch_states [NUMBER_OF_SWITCHES]
Make this private.
Page de_setup_guide
Inlcude installatin of Git for Windows if using Windows
Member Artemis::Channels::PDU::deploy ()

try storing burnwire complete and deployment separately. deployed.txt should only be written after DEPLOYMENT_LENGTH.

SD is begun twice. is this needed?

Member Artemis::Channels::PDU::enableRFM23Radio ()
The radio is connected to the 3V3_2 switch however it is still getting power from somewhere else. Uncommenting these two lines crashes the flight software. troubleshoot hardware & software.
Member Artemis::Channels::RPI::receive_from_pi ()
See if there's a better way of doing this.
Member Artemis::Devices::CurrentSensors::setup (void)
Go through library and see what we need to configure and calibrate
Member Artemis::Devices::RFM23::init (rfm23_config cfg, Threads::Mutex *mtx)
The function puts the rfm23 into sleep mode, then idle mode. Is this intended? idle overrides sleep.
Member Artemis::Devices::RFM23::recv (PacketComm &packet, uint16_t timeout)
The transmit and receive pins are set high and low respectively. check if this is intended behavior. either change the pin definitions or use setGpioReversed().
Member Artemis::Devices::RFM23::send (PacketComm &packet)

The function puts the rfm23 into sleep mode, then idle mode. Is this intended? idle overrides sleep.

The transmit and receive pins are set low and high respectively. check if this is intended behavior. either change the pin definitions or use setGpioReversed().

Member ensure_rpi_is_powered ()
This should still function if the current sensors are not enabled via build flags.
Member kill_thread (uint8_t target_channel_id)
Check return types here.