Artemis Teensy Flight Software
The software on the Teensy in the Artemis cubesat.
artemis_channels.h
Go to the documentation of this file.
1 
8 #ifndef _ARTEMIS_CHANNELS_H
9 #define _ARTEMIS_CHANNELS_H
10 
11 #include "config/artemis_defs.h"
12 
13 namespace Artemis {
20 namespace Channels {
22  enum Channel_ID : uint8_t {
23  RFM23_CHANNEL = 1,
24  PDU_CHANNEL,
25  RPI_CHANNEL,
26  TEST_CHANNEL,
27  };
28 
29  namespace RFM23 {
30  void rfm23_channel();
31  void setup();
32  void loop();
33  void handle_queue();
34  void receive_from_radio();
35  } // namespace RFM23
36 
37  namespace PDU {
38  void pdu_channel();
39  void setup();
40  void enableRFM23Radio();
41  void deploy();
42  void deploy_burn_wire();
43  void loop();
44  void handle_queue();
46  void set_switch_on_pdu();
48  void regulate_temperature();
49  void update_watchdog_timer();
50  } // namespace PDU
51 
52  namespace RPI {
53  void rpi_channel();
54  void setup();
55  void loop();
56  void handle_queue();
57  void shut_down_pi();
58  void send_to_pi();
59  void receive_from_pi();
60  } // namespace RPI
61 
62  namespace TEST {
63  void test_channel();
64  void setup();
65  void loop();
66  void turn_on_rpi();
67  void turn_off_rpi();
70  void pdu_switch_all_on();
71  void pdu_switch_status();
72  void rfm23_transmit();
73  void report_threads_status();
74  void report_memory_usage();
75  void report_queue_size();
76  } // namespace TEST
77 
78 } // namespace Channels
79 } // namespace Artemis
80 
81 #endif // _ARTEMIS_CHANNELS_H
The Artemis definitions.
The PDU class.
Definition: pdu.h:46
The RFM23 radio class.
Definition: rfm23.h:25
void handle_queue()
Helper function to handle packet queue.
Definition: pdu_channel.cpp:163
void deploy_burn_wire()
Deploys the burn wire.
Definition: pdu_channel.cpp:130
void setup()
The PDU setup function.
Definition: pdu_channel.cpp:48
void test_communicating_with_pdu()
Helper function to ping the PDU to test communications.
Definition: pdu_channel.cpp:186
void set_switch_on_pdu()
Helper function to set a switch on the PDU.
Definition: pdu_channel.cpp:204
void loop()
The PDU loop function.
Definition: pdu_channel.cpp:148
void regulate_temperature()
Helper function to regulate the satellite's temperature.
Definition: pdu_channel.cpp:254
void enableRFM23Radio()
Provides power to the RFM23 radio.
Definition: pdu_channel.cpp:83
void update_watchdog_timer()
Helper function to feed the PDU's watchdog.
Definition: pdu_channel.cpp:272
void report_pdu_switch_status()
Helper function to report status of all switches on PDU.
Definition: pdu_channel.cpp:221
void pdu_channel()
The top-level channel definition.
Definition: pdu_channel.cpp:36
void deploy()
Deployment sequence.
Definition: pdu_channel.cpp:97
void receive_from_radio()
Helper function to receive a packet from the RFM23 radio.
Definition: rfm23_channel.cpp:74
void setup()
The RFM23 setup function.
Definition: rfm23_channel.cpp:53
void handle_queue()
Helper function to handle packet queue.
Definition: rfm23_channel.cpp:95
void rfm23_channel()
The top-level channel definition.
Definition: rfm23_channel.cpp:42
void loop()
The RFM23 loop function.
Definition: rfm23_channel.cpp:65
void loop()
The Raspberry Pi loop function.
Definition: rpi_channel.cpp:58
void shut_down_pi()
Shuts down the Raspberry Pi and kills the channel.
Definition: rpi_channel.cpp:166
void rpi_channel()
The top-level channel definition.
Definition: rpi_channel.cpp:27
void receive_from_pi()
Helper function to receive a packet from the Raspberry Pi.
Definition: rpi_channel.cpp:85
void handle_queue()
Helper function to handle packet queue.
Definition: rpi_channel.cpp:145
void send_to_pi()
Helper function to send a packet to the Raspberry Pi.
Definition: rpi_channel.cpp:182
void setup()
The Raspberry Pi setup function.
Definition: rpi_channel.cpp:40
void loop()
The test loop function.
Definition: test_channel.cpp:49
void pdu_switch_status()
Test requesting status of all PDU switches.
Definition: test_channel.cpp:164
void report_threads_status()
Report on the status of all currently running threads.
Definition: test_channel.cpp:200
void turn_off_rpi()
Test turning off the Raspberry Pi.
Definition: test_channel.cpp:99
void test_channel()
The top-level channel definition.
Definition: test_channel.cpp:30
void report_queue_size()
Report on the size of each of the queues.
Definition: test_channel.cpp:221
void rpi_take_picture_from_ground()
Test taking a picture (from the ground).
Definition: test_channel.cpp:134
void turn_on_rpi()
Test turning on the Raspberry Pi.
Definition: test_channel.cpp:78
void report_memory_usage()
Report on the current memory utilization.
Definition: test_channel.cpp:209
void rpi_take_picture_from_teensy()
Test taking a picture (from the Teensy).
Definition: test_channel.cpp:118
void rfm23_transmit()
Test transmitting from the RFM23.
Definition: test_channel.cpp:179
void setup()
The test setup function.
Definition: test_channel.cpp:41
void pdu_switch_all_on()
Test enabling all PDU switches.
Definition: test_channel.cpp:148
Channel_ID
Enumeration of channel ID.
Definition: artemis_channels.h:22