From 63e98f7af1fc65cde444527d67d862f8b6076334 Mon Sep 17 00:00:00 2001 From: SuragNuthulapaty <77648585+SuragNuthulapaty@users.noreply.github.com> Date: Tue, 9 Jul 2024 19:56:44 -0700 Subject: [PATCH] Comments final (#51) * commented fsm and half of hardware folder * some comments * final comments * fixed spelling errors * updated kalman filter * updated readme * forgor commas * forgor colon * fucked up dash --------- Co-authored-by: Aidan Costello Co-authored-by: aidancostello <107577891+aidancostello@users.noreply.github.com> --- MIDAS/docs/architecture-diagram.png | Bin 301217 -> 101552 bytes MIDAS/src/Buffer.h | 37 ++++++++++ MIDAS/src/Mutex.h | 17 +++-- MIDAS/src/Queue.h | 8 +-- MIDAS/src/buzzer.cpp | 23 ++++++ MIDAS/src/buzzer.h | 11 ++- MIDAS/src/data_logging.cpp | 41 ++++++++++- MIDAS/src/data_logging.h | 4 +- MIDAS/src/errors.cpp | 5 ++ MIDAS/src/errors.h | 5 ++ MIDAS/src/finite-state-machines/fsm.cpp | 41 +++++++++-- MIDAS/src/finite-state-machines/fsm.h | 17 +++-- MIDAS/src/finite-state-machines/fsm_states.h | 11 +-- MIDAS/src/finite-state-machines/thresholds.h | 3 +- MIDAS/src/gnc/example_kf.h | 5 +- MIDAS/src/gnc/kalman_filter.h | 3 - MIDAS/src/gnc/yessir.h | 4 +- MIDAS/src/hardware/Barometer.cpp | 11 +-- MIDAS/src/hardware/Continuity.cpp | 27 +++---- MIDAS/src/hardware/Emmc.cpp | 12 +++- MIDAS/src/hardware/Emmc.h | 5 ++ MIDAS/src/hardware/GPSSensor.cpp | 23 +++--- MIDAS/src/hardware/HighG.cpp | 14 ++-- MIDAS/src/hardware/LowG.cpp | 13 +++- MIDAS/src/hardware/LowGLSM.cpp | 18 +++-- MIDAS/src/hardware/Magnetometer.cpp | 13 +++- MIDAS/src/hardware/Orientation.cpp | 39 +++++++++- MIDAS/src/hardware/Pyro.cpp | 26 +++++-- MIDAS/src/hardware/SDLog.cpp | 11 +++ MIDAS/src/hardware/SDLog.h | 5 ++ MIDAS/src/hardware/Voltage.cpp | 9 ++- MIDAS/src/hardware/main.cpp | 9 ++- MIDAS/src/hardware/sensors.h | 30 ++++++++ MIDAS/src/hardware/telemetry_backend.cpp | 18 +++++ MIDAS/src/hardware/telemetry_backend.h | 13 +++- MIDAS/src/led.cpp | 18 ++++- MIDAS/src/led.h | 10 +++ MIDAS/src/log_format.h | 9 ++- MIDAS/src/rocket_state.h | 70 +++++++++++++++++- MIDAS/src/sensor_data.h | 72 ++++++++++++++++++- MIDAS/src/systems.cpp | 34 ++++++--- MIDAS/src/systems.h | 10 +++ MIDAS/src/telemetry.cpp | 29 +++++++- MIDAS/src/telemetry.h | 5 ++ MIDAS/src/telemetry_packet.h | 5 ++ README.md | 30 ++++++++ 46 files changed, 709 insertions(+), 114 deletions(-) diff --git a/MIDAS/docs/architecture-diagram.png b/MIDAS/docs/architecture-diagram.png index b838a226e936fd7275dd302b715bfb7c5dfb017b..7279f9c1d8eb629d11f5b27c9583d4ec319c4662 100644 GIT binary patch literal 101552 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

%XouI(`R*H*1LuX^ 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 TuU8$!IQWZtF)pHcQ;PCmPaHMk literal 301217 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 #include +/** + * @class Buffer + * + * @brief Templeted buffer to quickly calculate averages and derivatives for the FSM + * + * @tparam T type of data to hold in the buffer + * @tparam BUFFER_SIZE size of the buffer +*/ template struct Buffer { public: Buffer() = default; + /** + * @brief Append data to the end of the circular buffer + * + * @param element Element to add to thebuffer + */ void push(T const& element) { buffer[tail_idx] = element; tail_idx++; @@ -20,6 +33,13 @@ struct Buffer { } + /** + * @brief Reads newest value into the buffer + * + * @param item reference in which to store the most recent reading + * + * @return boolean indicating a successful read + */ bool read(T& item) { if (count == 0) { return false; @@ -28,6 +48,13 @@ struct Buffer { return true; } + /** + * @brief Reads oldest value into the buffer + * + * @param item reference in which to store the oldest reading + * + * @return boolean indicating a successful read + */ bool read_oldest(T&item) { if (count == 0) { return false; @@ -53,6 +80,11 @@ struct Buffer { private: + /** + * @brief gets oldest index in the circular buffer + * + * @return the oldest indext in the buffer + */ size_t oldest_idx() { if (tail_idx < count) { return tail_idx + BUFFER_SIZE - count; @@ -61,6 +93,11 @@ struct Buffer { } } + /** + * @brief gets newest index in the circular buffer + * + * @return the newest index in the buffer + */ size_t newest_idx() { if (tail_idx == 0) { return BUFFER_SIZE - 1; diff --git a/MIDAS/src/Mutex.h b/MIDAS/src/Mutex.h index 6b084400..a524ddaa 100644 --- a/MIDAS/src/Mutex.h +++ b/MIDAS/src/Mutex.h @@ -10,7 +10,7 @@ /** - * A mutex which holds a single value. + * @brief A mutex which holds a single value. * * @tparam T The type of the value to hold. Should have copy semantics. */ @@ -45,7 +45,7 @@ struct Mutex { } /** - * Read the current value in the mutex (will spin until it acquires the lock). + * @brief Read the current value in the mutex (will spin until it acquires the lock). * * @return The value in the mutex. */ @@ -61,11 +61,20 @@ struct Mutex { return ret; } + /** + * @brief Read the current value in the mutex, will not acquire lock + * + * @return The value in the mutex. + */ T read_unsync() { return data; } - + /** + * @brief reads value in mutex, will acquire lock + * + * @param ptr buffer to store data in + */ void read2(T* ptr) { if (!mutex_handle || mutex_handle != check) { Serial.println("Aw shucks"); @@ -78,7 +87,7 @@ struct Mutex { } /** - * Update the value in the mutex (will spin until it acquires the lock). + * @brief Update the value in the mutex (will spin until it acquires the lock). * * @param value What to update the mutex to. */ diff --git a/MIDAS/src/Queue.h b/MIDAS/src/Queue.h index b89a4de5..ffd8ce3c 100644 --- a/MIDAS/src/Queue.h +++ b/MIDAS/src/Queue.h @@ -9,12 +9,12 @@ #endif /** - * The default maximum length for a Queue. + * @brief The default maximum length for a Queue. */ #define QUEUE_LENGTH 128 /** - * A Thread-safe Queue containing a single data type. + * @brief A Thread-safe Queue containing a single data type. * * @tparam T The data type stored in the queue. * @tparam length The maximum length of the queue. Defaults to QUEUE_LENGTH. @@ -37,7 +37,7 @@ class Queue { Queue(Queue&&) = delete; /** - * Put a value in the queue. If the queue is full or timed out, do nothing. + * @brief Put a value in the queue. If the queue is full or timed out, do nothing. * * @param value The value to put in the queue. */ @@ -49,7 +49,7 @@ class Queue { } /** - * Fetch a value from the queue. + * @brief Fetch a value from the queue. * * @param out Where to put the value from the queue. It is undefined if there is no value in the queue, or if the queue timed out. * @return True if there was a value in the queue that was read into `out`, false otherwise. diff --git a/MIDAS/src/buzzer.cpp b/MIDAS/src/buzzer.cpp index cbfac65d..a83a4ee9 100644 --- a/MIDAS/src/buzzer.cpp +++ b/MIDAS/src/buzzer.cpp @@ -3,6 +3,12 @@ #define BUZZER_PIN (48) #define BUZZER_CHANNEL (1) +/** + * @brief starts playing a new song + * + * @param tune Song to be played + * @param length Length of song to be played +*/ void BuzzerController::play_tune(Sound* tune, uint32_t length) { current_tune_ = tune; index_ = 0; @@ -10,10 +16,16 @@ void BuzzerController::play_tune(Sound* tune, uint32_t length) { new_tune_started = true; } +/** + * @brief public interface to tick the buzzer +*/ void BuzzerController::tick() { tick_sounds(); } +/** + * @brief ticks the bizzer, plays next note/ starts new song if applicable +*/ void BuzzerController::tick_sounds() { if (current_tune_ == nullptr) { return; @@ -46,6 +58,11 @@ void BuzzerController::tick_sounds() { } } +/** + * @brief Initializes buzzer + * + * @return Error code +*/ ErrorCode BuzzerController::init() { // ledcDetachPin(BUZZER_PIN); // this probably isn't necessary but who am I do question the knowledge of github pinMode(BUZZER_PIN, OUTPUT); @@ -54,6 +71,9 @@ ErrorCode BuzzerController::init() { return NoError; } +/** + * @brief notes to use for creating a song, along with a tempo +*/ #define MS_PER_4BEAT 6000 #define rest Sound{0, 10} @@ -72,6 +92,9 @@ ErrorCode BuzzerController::init() { #define d4_2fifth Sound{294, static_cast(0.1 * MS_PER_4BEAT)} #define f_nat_4_2fifth Sound{350, static_cast(0.1 * MS_PER_4BEAT)} +/** + * @brief free bird solo song, to be played on startup/ second stage iginition +*/ Sound free_bird[FREE_BIRD_LENGTH] = {/*measure 1*/ d4_eight, g4_eight, d4_eight, /*measure 2*/ f_nat_4_eight, g4_eight, f_nat_4_quart, rest, f_nat_4_quart, rest, f_nat_4_eight, d4_eight }; diff --git a/MIDAS/src/buzzer.h b/MIDAS/src/buzzer.h index fb23df18..6ffadd60 100644 --- a/MIDAS/src/buzzer.h +++ b/MIDAS/src/buzzer.h @@ -4,13 +4,22 @@ #include "hal.h" #include "errors.h" - +/** + * @struct Sound + * + * @brief contains information for a single note to play on the buzzer +*/ struct Sound { public: uint32_t frequency; uint8_t duration_ms; }; +/** + * @struct BuzzerController + * + * @brief wraps the buzzer functionality +*/ struct BuzzerController { private: Sound* current_tune_ = nullptr; diff --git a/MIDAS/src/data_logging.cpp b/MIDAS/src/data_logging.cpp index 12b1b041..e6cb5ce2 100644 --- a/MIDAS/src/data_logging.cpp +++ b/MIDAS/src/data_logging.cpp @@ -2,9 +2,15 @@ #include "log_format.h" #include "log_checksum.h" +/** + * @brief Forward decleration of the ID recieving function +*/ template constexpr ReadingDiscriminant get_discriminant(); +/** + * @brief macro to associate a certain sensor with a specific number ID +*/ #define ASSOCIATE(ty, id) template<> constexpr ReadingDiscriminant get_discriminant() { return ReadingDiscriminant::id; } ASSOCIATE(LowGData, ID_LOWG) @@ -20,7 +26,12 @@ ASSOCIATE(FSMState, ID_FSM) ASSOCIATE(KalmanData, ID_KALMAN) ASSOCIATE(PyroState, ID_PYRO) - +/** + * @brief writes a reading, with its ID, timestamp, and data to a specific sink + * + * @param sink the LogSink to write to + * @param reading the data to read +*/ template void log_reading(LogSink& sink, Reading& reading) { ReadingDiscriminant discriminant = get_discriminant(); @@ -29,6 +40,14 @@ void log_reading(LogSink& sink, Reading& reading) { sink.write((uint8_t*) &reading.data, sizeof(T)); } +/** + * @brief writes a SensorData's entire queue reading to a sink + * + * @param sink the LogSink to write to + * @param sensor_data the sensor data, with queue, to write from + * + * @return the number of packets written to the LogSink +*/ template uint32_t log_from_sensor_data(LogSink& sink, SensorData& sensor_data) { Reading reading; @@ -40,11 +59,22 @@ uint32_t log_from_sensor_data(LogSink& sink, SensorData& sensor_data) { return read; } +/** + * @brief Initializes a specific LogSink + * + * @param sink the LogSink to initialize +*/ void log_begin(LogSink& sink) { uint32_t checksum = LOG_CHECKSUM; sink.write((uint8_t*) &checksum, 4); } +/** + * @brief logs all sensor data from the rocket + * + * @param sink the LogSink to write data to + * @param data the rocket which holds all the sensor data to write +*/ void log_data(LogSink& sink, RocketData& data) { log_from_sensor_data(sink, data.low_g); log_from_sensor_data(sink, data.low_g_lsm); @@ -63,6 +93,15 @@ void log_data(LogSink& sink, RocketData& data) { #ifndef SILSIM #define MAX_FILES 999 +/** + * @brief names a new file for a log sink depending on the files currently on said LogSink + * + * @param fileName buffer to write the file name to + * @param fileExtensionParam the file extension required for the file + * @param fs the FileSystem to check files off of + * + * @return buffer contianing string of file name +*/ char* sdFileNamer(char* fileName, char* fileExtensionParam, FS& fs) { char fileExtension[strlen(fileExtensionParam) + 1]; strcpy(fileExtension, fileExtensionParam); diff --git a/MIDAS/src/data_logging.h b/MIDAS/src/data_logging.h index 4366482a..123dd5c3 100644 --- a/MIDAS/src/data_logging.h +++ b/MIDAS/src/data_logging.h @@ -12,7 +12,9 @@ #endif /** - * Protocol for a sink, which is implemented as an SD card in hardware. + * @class LogSink + * + * @brief Protocol for a sink, which is implemented as an SD card in hardware. */ class LogSink { public: diff --git a/MIDAS/src/errors.cpp b/MIDAS/src/errors.cpp index 29cda436..e21eb59a 100644 --- a/MIDAS/src/errors.cpp +++ b/MIDAS/src/errors.cpp @@ -27,6 +27,11 @@ #include #include "hardware/pins.h" +/** + * @brief writes LEDS to indicate errors as described above + * + * @param error Error Code to indicate +*/ void update_error_LED(ErrorCode error) { switch (error) { case LowGCouldNotBeInitialized: diff --git a/MIDAS/src/errors.h b/MIDAS/src/errors.h index 20df8ff9..e0963cf8 100644 --- a/MIDAS/src/errors.h +++ b/MIDAS/src/errors.h @@ -1,5 +1,10 @@ #pragma once +/** + * @enum ErrorCode + * + * @brief list of all error codes that can arise +*/ enum ErrorCode { NoError = 0, LowGCouldNotBeInitialized = 1, diff --git a/MIDAS/src/finite-state-machines/fsm.cpp b/MIDAS/src/finite-state-machines/fsm.cpp index 1b32d9b8..d2e0a1c5 100644 --- a/MIDAS/src/finite-state-machines/fsm.cpp +++ b/MIDAS/src/finite-state-machines/fsm.cpp @@ -3,8 +3,14 @@ #include "fsm.h" #include "thresholds.h" -// helper functions - +/** + * @brief Helper to calculate the average value of a buffered sensor data + * + * @param sensor Buffered sensor struct + * @param get_item Lambda get function + * + * @return Average value +*/ template double sensor_average(BufferedSensorData& sensor, double (* get_item)(T&)) { auto arr = sensor.template getBufferRecent(); @@ -15,6 +21,14 @@ double sensor_average(BufferedSensorData& sensor, double (* get_item)( return sum / count; } +/** + * @brief Helper to calculate the derivative over a buffered sensor data + * + * @param sensor Buffered sensor struct + * @param get_item Lambda get function + * + * @return Derivative +*/ template double sensor_derivative(BufferedSensorData& sensor, double (* get_item)(T&)) { auto arr = sensor.template getBufferRecent(); @@ -41,7 +55,9 @@ double sensor_derivative(BufferedSensorData& sensor, double (* get_ite return (second_average - first_average) / (second_average_time - first_average_time); } - +/** + * @brief Populates StateEstimate struct with the correct values for accel, alt, jerk, and speed +*/ StateEstimate::StateEstimate(RocketData& state) { acceleration = sensor_average(state.high_g, [](HighGData& data) { return (double) data.ax; @@ -60,6 +76,14 @@ StateEstimate::StateEstimate(RocketData& state) { #ifdef IS_SUSTAINER +/** + * @brief Sustainer FSM tick function, which will advance the current state if necessary + * + * @param state current FSM state + * @param state_estimate StateEstimate struct for the current estimate for accel, alt, jerk, and speed + * + * @return New FSM State +*/ FSMState FSM::tick_fsm(FSMState& state, StateEstimate state_estimate) { //get current time double current_time = pdTICKS_TO_MS(xTaskGetTickCount()); @@ -216,7 +240,16 @@ FSMState FSM::tick_fsm(FSMState& state, StateEstimate state_estimate) { #else -// this is similar to the previous function but contains less states +/** + * @brief Booster FSM tick function, which will advance the current state if necessary + * + * This is similar to the previous function but contains less states + * + * @param state current FSM state + * @param state_estimate StateEstimate struct for the current estimate for accel, alt, jerk, and speed + * + * @return New FSM State +*/ FSMState FSM::tick_fsm(FSMState& state, StateEstimate state_estimate) { double current_time = pdTICKS_TO_MS(xTaskGetTickCount()); diff --git a/MIDAS/src/finite-state-machines/fsm.h b/MIDAS/src/finite-state-machines/fsm.h index ed2b2257..82b637e7 100644 --- a/MIDAS/src/finite-state-machines/fsm.h +++ b/MIDAS/src/finite-state-machines/fsm.h @@ -1,18 +1,19 @@ -#pragma once - -// header for fsm governing state transitions and in-flight event control +#pragma once #include #include "FreeRTOSConfig.h" #include "fsm_states.h" - #include "thresholds.h" #include "sensor_data.h" #include "Buffer.h" #include "rocket_state.h" - +/** + * @struct StateEstimate + * + * @brief Holds current altitude, acceleration, jerk, and speed values based off of averages and derivatives. +*/ struct StateEstimate { double altitude; double acceleration; @@ -22,7 +23,11 @@ struct StateEstimate { explicit StateEstimate(RocketData& state); }; - +/** + * @class FSM + * + * @brief Contains fsm tick function and timestamps for different events used for future calculations +*/ class FSM { public: FSM() = default; diff --git a/MIDAS/src/finite-state-machines/fsm_states.h b/MIDAS/src/finite-state-machines/fsm_states.h index d00fb797..77b48d75 100644 --- a/MIDAS/src/finite-state-machines/fsm_states.h +++ b/MIDAS/src/finite-state-machines/fsm_states.h @@ -1,6 +1,10 @@ #pragma once -// holds the enum for different FSM states +/** + * @enum FSMState + * + * @brief Enum for the different FSM states +*/ enum FSMState { STATE_IDLE, @@ -13,11 +17,8 @@ enum FSMState { STATE_MAIN_DEPLOY, STATE_MAIN, STATE_LANDED, -// #ifdef IS_SUSTAINER STATE_SUSTAINER_IGNITION, STATE_SECOND_BOOST, -// #else STATE_FIRST_SEPARATION, -// #endif - FSM_STATE_COUNT, //used to get the total number of fsm states so we can assert that the fsm will fit in 4 bits + FSM_STATE_COUNT //used to get the total number of fsm states so we can assert that the fsm will fit in 4 bits }; diff --git a/MIDAS/src/finite-state-machines/thresholds.h b/MIDAS/src/finite-state-machines/thresholds.h index 6047f30e..59fdd9fb 100644 --- a/MIDAS/src/finite-state-machines/thresholds.h +++ b/MIDAS/src/finite-state-machines/thresholds.h @@ -1,5 +1,4 @@ #pragma once -#include // ---------------------------------- // SECOND STAGE THRESHOLDS @@ -61,6 +60,8 @@ // Stores a small jerk value #define sustainer_main_jerk_threshold 300 + + // ---------------------------------- // FIRST STAGE THRESHOLDS // ---------------------------------- diff --git a/MIDAS/src/gnc/example_kf.h b/MIDAS/src/gnc/example_kf.h index 6871194a..86f27ce7 100644 --- a/MIDAS/src/gnc/example_kf.h +++ b/MIDAS/src/gnc/example_kf.h @@ -2,7 +2,6 @@ #include "kalman_filter.h" - // makes a kalman filter with 9 state variables and 3 sensor inputs class ExampleKalmanFilter : public KalmanFilter<9, 3> { @@ -13,8 +12,8 @@ class ExampleKalmanFilter : public KalmanFilter<9, 3> void priori() override; void update() override; - void setQ(float dt, float sd) override; - void setF(float dt) override; + void setQ(float dt, float sd); + void setF(float dt); KalmanData getState() override; void setState(KalmanData state) override; diff --git a/MIDAS/src/gnc/kalman_filter.h b/MIDAS/src/gnc/kalman_filter.h index 0b97cb99..1041c042 100644 --- a/MIDAS/src/gnc/kalman_filter.h +++ b/MIDAS/src/gnc/kalman_filter.h @@ -46,9 +46,6 @@ class KalmanFilter virtual void priori() = 0; virtual void update() = 0; - virtual void setQ(float dt, float sd) = 0; - virtual void setF(float dt) = 0; - virtual KalmanData getState() = 0; virtual void setState(KalmanData state) = 0; }; diff --git a/MIDAS/src/gnc/yessir.h b/MIDAS/src/gnc/yessir.h index 06ae2d4e..25779878 100644 --- a/MIDAS/src/gnc/yessir.h +++ b/MIDAS/src/gnc/yessir.h @@ -12,8 +12,8 @@ class Yessir : public KalmanFilter<3, 3> void priori() override; void update() override; - void setQ(float dt, float sd) override; - void setF(float dt) override; + void setQ(float dt, float sd); + void setF(float dt); KalmanData getState() override; void setState(KalmanData state) override; diff --git a/MIDAS/src/hardware/Barometer.cpp b/MIDAS/src/hardware/Barometer.cpp index b012811f..8adae988 100644 --- a/MIDAS/src/hardware/Barometer.cpp +++ b/MIDAS/src/hardware/Barometer.cpp @@ -1,10 +1,12 @@ #include "sensors.h" #include -MS5611 MS(MS5611_CS); +MS5611 MS(MS5611_CS); //singleton object for the MS sensor /** - * Initializes barometer, returns NoError + * @brief Initializes barometer, returns NoError + * + * @return Error code */ ErrorCode BarometerSensor::init() { MS.init(); @@ -13,8 +15,9 @@ ErrorCode BarometerSensor::init() { } /** - * Reads the pressure and temperature from the MS5611 - * @return a barometer data packet for the thread to send to the data logger + * @brief Reads the pressure and temperature from the MS5611 + * + * @return Barometer data packet */ Barometer BarometerSensor::read() { MS.read(12); diff --git a/MIDAS/src/hardware/Continuity.cpp b/MIDAS/src/hardware/Continuity.cpp index 2ce3c93d..a57a5ab0 100644 --- a/MIDAS/src/hardware/Continuity.cpp +++ b/MIDAS/src/hardware/Continuity.cpp @@ -1,26 +1,29 @@ #include "sensors.h" #include "ads7138-q1.h" - #include -#define PYRO_VOLTAGE_DIVIDER (5.0 / (5.0 + 20.0)) -#define CONT_VOLTAGE_DIVIDER (5.0 / (5.0 + 20.0)) +#define PYRO_VOLTAGE_DIVIDER (5.0 / (5.0 + 20.0)) //voltage divider for pyro batt voltage, check hardware schematic +#define CONT_VOLTAGE_DIVIDER (5.0 / (5.0 + 20.0)) //voltage divider for continuity voltage, check hardware schematic +/** + * @brief Initializes ADC, returns NoError + * + * @return Error code +*/ ErrorCode ContinuitySensor::init() { - // do whatever steps to initialize the sensor - // if it errors, return the relevant error code - ADS7138Init(); -// if (!) { -// return ErrorCode::ContinuityCouldNotBeInitialized; -// } - // Ask ADS to init the pins, we still need to get the device to actually read + ADS7138Init(); // Ask ADS to init the pins, we still need to get the device to actually read + return ErrorCode::NoError; } +/** + * @brief Reads the value of the ADC + * + * @return Continuity data packet +*/ Continuity ContinuitySensor::read() { - // read from aforementioned global instance of sensor Continuity continuity; - // todo convert to bool + //ADC reference voltage is 3.3, returns 12 bit value continuity.sense_pyro = adcAnalogRead(ADCAddress{SENSE_PYRO}).value * 3.3f / 4096.f / PYRO_VOLTAGE_DIVIDER; continuity.pins[0] = adcAnalogRead(ADCAddress{SENSE_MOTOR}).value * 3.3f / 4096.f / CONT_VOLTAGE_DIVIDER; continuity.pins[1] = adcAnalogRead(ADCAddress{SENSE_MAIN}).value * 3.3f / 4096.f / CONT_VOLTAGE_DIVIDER; diff --git a/MIDAS/src/hardware/Emmc.cpp b/MIDAS/src/hardware/Emmc.cpp index 0a6879d7..06bbd5bf 100644 --- a/MIDAS/src/hardware/Emmc.cpp +++ b/MIDAS/src/hardware/Emmc.cpp @@ -1,6 +1,11 @@ #include "Emmc.h" - +/** + * @brief Writes a byte buffer to the emmc + * + * @param data byte buffer of data + * @param size size of buffer +*/ void EMMCSink::write(const uint8_t* data, size_t size) { file.write(data, size); unflushed_bytes += size; @@ -10,6 +15,11 @@ void EMMCSink::write(const uint8_t* data, size_t size) { } } +/** + * @brief Init the emmc + * + * @return Error code +*/ ErrorCode EMMCSink::init(){ if(!SD_MMC.setPins(EMMC_CLK, EMMC_CMD, EMMC_D0, EMMC_D1, EMMC_D2, EMMC_D3)){ return ErrorCode::EmmcPinsAreWrong; diff --git a/MIDAS/src/hardware/Emmc.h b/MIDAS/src/hardware/Emmc.h index 73083dc0..07bf79c5 100644 --- a/MIDAS/src/hardware/Emmc.h +++ b/MIDAS/src/hardware/Emmc.h @@ -8,6 +8,11 @@ #include "errors.h" #include "rocket_state.h" +/** + * @class EMMCSink + * + * @brief Class that wraps the emmc functions +*/ class EMMCSink : public LogSink { public: EMMCSink() = default; diff --git a/MIDAS/src/hardware/GPSSensor.cpp b/MIDAS/src/hardware/GPSSensor.cpp index 87cf9488..7f179e99 100644 --- a/MIDAS/src/hardware/GPSSensor.cpp +++ b/MIDAS/src/hardware/GPSSensor.cpp @@ -5,18 +5,20 @@ #include "sensor_data.h" #include -// Replace "Wire" with a reference to the I2C object to be used by the sensor -TeseoLIV3F teseo(&Wire, GPS_RESET, GPS_ENABLE); +TeseoLIV3F teseo(&Wire, GPS_RESET, GPS_ENABLE); //singleton for the teseo gps +/** + * @brief Initializes GPS, returns NoError + * + * @return Error code +*/ ErrorCode GPSSensor::init() { - // Remember to change any RESET related operations to use the GPIO expander - teseo.init(); -// if (!teseo.init()) { -// return ErrorCode::GPSCouldNotBeInitialized; -// } + teseo.init(); //function always returns ok for some reason + return ErrorCode::NoError; } + // This is needed because GPS doesn't provide unix time and just gives // dd mm yy const uint16_t months[12] = { @@ -28,8 +30,11 @@ inline bool is_leapyear(int year) { } -// GPS Coordinates are ddmm.mmmm, so please convert with some code - +/** + * @brief Reads the GPS data from the sensor (lat, long, altitude, sat count, etc) + * + * @return GPS data packet +*/ GPS GPSSensor::read() { teseo.update(); GPGGA_Info_t gpgga_message = teseo.getGPGGAData(); diff --git a/MIDAS/src/hardware/HighG.cpp b/MIDAS/src/hardware/HighG.cpp index b5e2e7cd..1123f9bd 100644 --- a/MIDAS/src/hardware/HighG.cpp +++ b/MIDAS/src/hardware/HighG.cpp @@ -1,13 +1,12 @@ #include "sensors.h" - -// #include sensor library #include "SparkFun_Qwiic_KX13X.h" -// global static instance of the sensor -QwiicKX134 KX; +QwiicKX134 KX; // global static instance of the sensor /** - * Initializes the high G data sensor, returns ErrorCode::CANNOT_INIT_KX134_CS if cannot initialize + * @brief Initializes the high G sensor + * + * @return Error Code */ ErrorCode HighGSensor::init() { KX.beginSPI(KX134_CS); @@ -24,8 +23,9 @@ ErrorCode HighGSensor::init() { } /** - * Reads and returns the data from the sensor - * @return a HighGData packet with current acceleration in all three axies + * @brief Reads and returns the data from the sensor + * + * @return a HighGData packet with current acceleration in all three axes */ HighGData HighGSensor::read() { auto data = KX.getAccelData(); diff --git a/MIDAS/src/hardware/LowG.cpp b/MIDAS/src/hardware/LowG.cpp index 9361ff9b..1eac7371 100644 --- a/MIDAS/src/hardware/LowG.cpp +++ b/MIDAS/src/hardware/LowG.cpp @@ -1,9 +1,13 @@ #include "sensors.h" #include "PL_ADXL355.h" -#include "pins.h" -PL::ADXL355 sensor(ADXL355_CS); +PL::ADXL355 sensor(ADXL355_CS); //singleton object for the adxl +/** + * @brief Initializes the low G sensor + * + * @return Error Code +*/ ErrorCode LowGSensor::init() { ErrorCode error = ErrorCode::NoError; sensor.begin(); @@ -14,6 +18,11 @@ ErrorCode LowGSensor::init() { return error; } +/** + * @brief Reads and returns the data from the sensor + * + * @return a LowGData packet with current acceleration in all three axes +*/ LowGData LowGSensor::read() { auto data = sensor.getAccelerations(); diff --git a/MIDAS/src/hardware/LowGLSM.cpp b/MIDAS/src/hardware/LowGLSM.cpp index 475066ab..951be540 100644 --- a/MIDAS/src/hardware/LowGLSM.cpp +++ b/MIDAS/src/hardware/LowGLSM.cpp @@ -1,19 +1,25 @@ #include "sensors.h" - -// #include sensor library #include -// global static instance of the sensor -LSM6DS3Class LSM(SPI, LSM6DS3_CS, 46); +LSM6DS3Class LSM(SPI, LSM6DS3_CS, 46); // global static instance of the sensor + +/** + * @brief Initializes the low G LSM sensor + * + * @return Error Code +*/ ErrorCode LowGLSMSensor::init() { - // do whatever steps to initialize the sensor - // if it errors, return the relevant error code if (!LSM.begin()) { return ErrorCode::GyroCouldNotBeInitialized; } return ErrorCode::NoError; } +/** + * @brief Reads and returns the data from the sensor + * + * @return a LowGLSM packet with current acceleration and gyro in all three axes +*/ LowGLSM LowGLSMSensor::read() { // read from aforementioned global instance of sensor LowGLSM result; diff --git a/MIDAS/src/hardware/Magnetometer.cpp b/MIDAS/src/hardware/Magnetometer.cpp index 7acf7d1f..e072b169 100644 --- a/MIDAS/src/hardware/Magnetometer.cpp +++ b/MIDAS/src/hardware/Magnetometer.cpp @@ -2,9 +2,13 @@ #include #include "hal.h" -// global static instance of the sensor -Adafruit_LIS3MDL LIS3MDL; +Adafruit_LIS3MDL LIS3MDL; // global static instance of the sensor +/** + * @brief Initializes the magnetometer sensor + * + * @return Error Code +*/ ErrorCode MagnetometerSensor::init() { if (!LIS3MDL.begin_SPI(LIS3MDL_CS)) { //Checks if sensor is connected return ErrorCode::MagnetometerCouldNotBeInitialized; @@ -15,6 +19,11 @@ ErrorCode MagnetometerSensor::init() { return ErrorCode::NoError; } +/** + * @brief Reads and returns the data from the sensor + * + * @return a magnetometer packet with current flux in all three axes +*/ Magnetometer MagnetometerSensor::read() { // read from aforementioned global instance of sensor LIS3MDL.read(); diff --git a/MIDAS/src/hardware/Orientation.cpp b/MIDAS/src/hardware/Orientation.cpp index 890dffc5..0d6a3526 100644 --- a/MIDAS/src/hardware/Orientation.cpp +++ b/MIDAS/src/hardware/Orientation.cpp @@ -1,12 +1,15 @@ #include "sensors.h" - -// #include sensor library #include "Adafruit_BNO08x.h" // global static instance of the sensor Adafruit_BNO08x imu(BNO086_RESET); #define REPORT_INTERVAL_US 5000 +/** + * @brief Initializes the bno sensor + * + * @return Error Code +*/ ErrorCode OrientationSensor::init() { gpioPinMode(BNO086_RESET, OUTPUT); delay(100); @@ -22,6 +25,17 @@ ErrorCode OrientationSensor::init() { return ErrorCode::NoError; } +/** + * @brief Turns a quaternion into its corresponding Euler 3D vector representation + * + * @param qr Quaternion real component + * @param qi Quaternion i component + * @param qj Quaternion j component + * @param qk Quaternion k component + * @param degrees Quaternion degrees, not used + * + * @return 3D representation of the quaternion +*/ Vec3 quaternionToEuler(float qr, float qi, float qj, float qk, bool degrees) { float sqr = sq(qr); float sqi = sq(qi); @@ -35,17 +49,38 @@ Vec3 quaternionToEuler(float qr, float qi, float qj, float qk, bool degrees) { return euler; } +/** + * @brief Takes a rotation quaternion and turns it into its Euler angle counterpart + * + * @param rotational_vector Rotation quaternion + * @param degrees Quaternion degrees, not used + * + * @return Euler angle vector representation of the quaternion +*/ Vec3 quaternionToEulerRV(sh2_RotationVectorWAcc_t* rotational_vector, bool degrees) { return quaternionToEuler(rotational_vector->real, rotational_vector->i, rotational_vector->j, rotational_vector->k, degrees); } +/** + * @brief Takes a gyroscope quaternion and turns it into its Euler 3D counterpart + * + * @param rotational_vector Gyroscope quaternion + * @param degrees Quaternion degrees, not used + * + * @return Euler angle vector representation of the quaternion +*/ Vec3 quaternionToEulerGI(sh2_GyroIntegratedRV_t* rotational_vector, bool degrees) { return quaternionToEuler(rotational_vector->real, rotational_vector->i, rotational_vector->j, rotational_vector->k, degrees); } +/** + * @brief Reads and returns the data from the sensor + * + * @return An orientation packet with orientation, acceleration, gyroscope, and magenetometer for all axes, along with temperature and pressure +*/ Orientation OrientationSensor::read() { // read from aforementioned global instance of sensor sh2_SensorValue_t event; diff --git a/MIDAS/src/hardware/Pyro.cpp b/MIDAS/src/hardware/Pyro.cpp index 646791be..ab9fd8b6 100644 --- a/MIDAS/src/hardware/Pyro.cpp +++ b/MIDAS/src/hardware/Pyro.cpp @@ -8,12 +8,19 @@ #define MAXIMUM_TILT_ANGLE (M_PI/9) // 20 degrees /** - * Helper function: Determines if the orientation is within an acceptable range to fire the second stage igniter. + * @brief Helper function: Determines if the orientation is within an acceptable range to fire the second stage igniter. + * + * @return Boolean indication no error if true, error if false */ bool gpio_error_to_fail_flag(GpioError error_code) { return error_code != GpioError::NoError; } +/** + * @brief Determines if orientation is in an acceptable range to fire second stage + * + * @return boolean indicating an acceptable range, true if acceptable, false if not +*/ bool can_fire_igniter(Orientation orientation) { // This needs to be fleshed out. The sensor may not report angles in 'world space', so we need to determine // if the orientation of the rocket depends on other angles @@ -23,8 +30,9 @@ bool can_fire_igniter(Orientation orientation) { /** - * "Initializes" the pyro thread. The main initialization will be done by the GPIO expander, so the pyro thread doesn't - * have to do anything special. + * @brief "Initializes" the pyro thread. The main initialization will be done by the GPIO expander, so the pyro thread doesn't have to do anything special. + * + * @return Error code */ ErrorCode Pyro::init() { bool has_failed_gpio_init = false; @@ -55,8 +63,10 @@ ErrorCode Pyro::init() { /** * Upper stage only! - * Returns a new pyro struct, with data depending on whether or not each pyro channel should be firing. - * Fires channels by setting their pin on the GPIO. + * + * @brief Fires channels by setting their pin on the GPIO. + * + * @return A new pyro struct, with data depending on whether or not each pyro channel should be firing. */ PyroState Pyro::tick(FSMState fsm_state, Orientation orientation) { PyroState new_pyro_state = PyroState(); @@ -103,8 +113,10 @@ PyroState Pyro::tick(FSMState fsm_state, Orientation orientation) { /** * Lower stage only! - * Returns a new pyro struct, with data depending on whether or not each pyro channel should be firing. - * Fires channels by setting their pin on the GPIO. + * + * @brief Fires channels by setting their pin on the GPIO. + * + * @return A new pyro struct, with data depending on whether or not each pyro channel should be firing. */ PyroState Pyro::tick(FSMState fsm_state, Orientation orientation) { PyroState new_pyro_state = PyroState(); diff --git a/MIDAS/src/hardware/SDLog.cpp b/MIDAS/src/hardware/SDLog.cpp index 0a3143f7..bb8d1879 100644 --- a/MIDAS/src/hardware/SDLog.cpp +++ b/MIDAS/src/hardware/SDLog.cpp @@ -4,6 +4,11 @@ #include "SDLog.h" +/** + * @brief Initializes the SD card logger + * + * @return Error Code +*/ ErrorCode SDSink::init() { Serial.println("Connecting to SD..."); if (!SD_MMC.setPins(SD_CLK, SD_CMD, SD_D0)) { @@ -27,6 +32,12 @@ ErrorCode SDSink::init() { return ErrorCode::NoError; } +/** + * @brief Writes a byte buffer to the SD card + * + * @param data byte buffer of data + * @param size size of buffer +*/ void SDSink::write(const uint8_t* data, size_t size) { if (failed) { diff --git a/MIDAS/src/hardware/SDLog.h b/MIDAS/src/hardware/SDLog.h index 2e65507f..be038d47 100644 --- a/MIDAS/src/hardware/SDLog.h +++ b/MIDAS/src/hardware/SDLog.h @@ -6,6 +6,11 @@ #include "sensors.h" #include "data_logging.h" +/** + * @class SDSink + * + * @brief Class that wraps the SD card functions +*/ class SDSink : public LogSink { public: bool failed = false; diff --git a/MIDAS/src/hardware/Voltage.cpp b/MIDAS/src/hardware/Voltage.cpp index 090d1875..fcf66e99 100644 --- a/MIDAS/src/hardware/Voltage.cpp +++ b/MIDAS/src/hardware/Voltage.cpp @@ -5,15 +5,18 @@ #define VOLTAGE_DIVIDER (5.0 / (5.0 + 20.0)) /** - * "Initializes" the voltage sensor. Since it reads directly from a pin without a library, there is no specific initialization. + * @brief "Initializes" the voltage sensor. Since it reads directly from a pin without a library, there is no specific initialization. + * + * @return Error Code, will always be NoError */ ErrorCode VoltageSensor::init() { return ErrorCode::NoError; } /** - * Reads the value of the given analog pin and converts it to a battery voltage with the assumption that the voltage sensor is plugged into that pin - * \return The scaled voltage given by the voltage sensor + * @brief Reads the value of the given analog pin and converts it to a battery voltage with the assumption that the voltage sensor is plugged into that pin + * + * @return The scaled voltage given by the voltage sensor */ Voltage VoltageSensor::read() { Voltage v_battery; diff --git a/MIDAS/src/hardware/main.cpp b/MIDAS/src/hardware/main.cpp index 774a0838..0ff17182 100644 --- a/MIDAS/src/hardware/main.cpp +++ b/MIDAS/src/hardware/main.cpp @@ -19,6 +19,9 @@ MultipleLogSink sinks; MultipleLogSink<> sinks; #endif RocketSystems systems { .log_sink = sinks }; +/** + * @brief Sets up pinmodes for all sensors and starts threads +*/ void setup() { //begin serial port @@ -29,13 +32,14 @@ void setup() { delay(200); //begin sensor SPI bus - Serial.println("Starting SPI..."); SPI.begin(SPI_SCK, SPI_MISO, SPI_MOSI); + //begin I2C bus Serial.println("Starting I2C..."); Wire.begin(I2C_SDA, I2C_SCL); + //set all chip selects high (deselected) pinMode(MS5611_CS, OUTPUT); pinMode(LSM6DS3_CS, OUTPUT); pinMode(KX134_CS, OUTPUT); @@ -44,7 +48,6 @@ void setup() { pinMode(BNO086_CS, OUTPUT); pinMode(CAN_CS, OUTPUT); pinMode(RFM96_CS, OUTPUT); - digitalWrite(MS5611_CS, HIGH); digitalWrite(LSM6DS3_CS, HIGH); digitalWrite(KX134_CS, HIGH); @@ -54,6 +57,7 @@ void setup() { digitalWrite(CAN_CS, HIGH); digitalWrite(RFM96_CS, HIGH); + //configure output leds gpioPinMode(LED_BLUE, OUTPUT); gpioPinMode(LED_GREEN, OUTPUT); gpioPinMode(LED_ORANGE, OUTPUT); @@ -61,6 +65,7 @@ void setup() { delay(200); + //init and start threads begin_systems(&systems); } diff --git a/MIDAS/src/hardware/sensors.h b/MIDAS/src/hardware/sensors.h index 9313b5a7..6aca7f44 100644 --- a/MIDAS/src/hardware/sensors.h +++ b/MIDAS/src/hardware/sensors.h @@ -4,41 +4,65 @@ #include "sensor_data.h" #include "hardware/pins.h" +/** + * @struct LowG interface +*/ struct LowGSensor { ErrorCode init(); LowGData read(); }; +/** + * @struct HighG interface +*/ struct HighGSensor { ErrorCode init(); HighGData read(); }; +/** + * @struct Magnetometer interface +*/ struct MagnetometerSensor { ErrorCode init(); Magnetometer read(); }; +/** + * @struct Barometer interface +*/ struct BarometerSensor { ErrorCode init(); Barometer read(); }; +/** + * @struct LowGLSM interface +*/ struct LowGLSMSensor { ErrorCode init(); LowGLSM read(); }; +/** + * @struct Continuity interface +*/ struct ContinuitySensor { ErrorCode init(); Continuity read(); }; +/** + * @struct Voltage interface +*/ struct VoltageSensor { ErrorCode init(); Voltage read(); }; +/** + * @struct BNO interface +*/ struct OrientationSensor { Orientation initial_orientation; uint8_t initial_flag; @@ -46,12 +70,18 @@ struct OrientationSensor { Orientation read(); }; +/** + * @struct GPS interface +*/ struct GPSSensor { ErrorCode init(); GPS read(); bool is_leap = false; }; +/** + * @struct Pyro interface +*/ struct Pyro { ErrorCode init(); PyroState tick(FSMState fsm_state, Orientation orientation); diff --git a/MIDAS/src/hardware/telemetry_backend.cpp b/MIDAS/src/hardware/telemetry_backend.cpp index 28738b32..e944a5ad 100644 --- a/MIDAS/src/hardware/telemetry_backend.cpp +++ b/MIDAS/src/hardware/telemetry_backend.cpp @@ -29,10 +29,18 @@ #define RF95_FREQ 426.15 #endif +/** + * @brief Default constructor for the telemetry system +*/ TelemetryBackend::TelemetryBackend() : rf95(RFM96_CS, RFM96_INT) { led_state = false; } +/** + * @brief Initializes the telemetry system + * + * @return Error Code +*/ ErrorCode TelemetryBackend::init() { pinMode(RFM96_RESET, OUTPUT); digitalWrite(RFM96_RESET, HIGH); @@ -68,10 +76,20 @@ ErrorCode TelemetryBackend::init() { return ErrorCode::NoError; } +/** + * @brief Gets RSSI of recent packets + * + * @return RSSI of most recent packet +*/ int8_t TelemetryBackend::getRecentRssi() { return rf95.lastRssi(); } +/** + * @brief Sets new frequency for the LoRa module + * + * @param freq New frequency to set the LoRa module to +*/ void TelemetryBackend::setFrequency(float freq) { rf95.setFrequency(freq); } diff --git a/MIDAS/src/hardware/telemetry_backend.h b/MIDAS/src/hardware/telemetry_backend.h index d854855b..4ee8ea87 100644 --- a/MIDAS/src/hardware/telemetry_backend.h +++ b/MIDAS/src/hardware/telemetry_backend.h @@ -7,7 +7,11 @@ #include "TCAL9539.h" #include "pins.h" - +/** + * @class TelemetryBackend + * + * @brief Class that wraps the Telemetry functions +*/ class TelemetryBackend { public: TelemetryBackend(); @@ -48,6 +52,13 @@ class TelemetryBackend { rf95.handleInterrupt(); } + /** + * @brief Reads message from the LoRa + * + * @param write The buffer to write the data to + * + * @return bool indicating a successful read and write to buffer + */ template bool read(T* write) { static_assert(sizeof(T) <= RH_RF95_MAX_MESSAGE_LEN, "The data type to receive is too large"); diff --git a/MIDAS/src/led.cpp b/MIDAS/src/led.cpp index 3301dd4b..6dc57dcc 100644 --- a/MIDAS/src/led.cpp +++ b/MIDAS/src/led.cpp @@ -2,7 +2,11 @@ #include "TCAL9539.h" #include "hardware/pins.h" - +/** + * @struct GpioAddress + * + * @brief struct representing the LED pins +*/ static GpioAddress LED_pins[4] = { LED_BLUE, LED_RED, @@ -10,11 +14,18 @@ static GpioAddress LED_pins[4] = { LED_GREEN }; - +/** + * @brief Initializes LEDs + * + * @return Error code +*/ ErrorCode LEDController::init() { return ErrorCode::NoError; } +/** + * @brief Toggles a specific LED's state +*/ void LEDController::toggle(LED led) { int id = static_cast(led); if (targets[id] == LOW) { @@ -24,6 +35,9 @@ void LEDController::toggle(LED led) { } } +/** + * @brief updates the LEDS to represent the current state the rocket is in +*/ void LEDController::update() { for (int i = 0; i < 4; i++) { if (targets[i] != states[i]) { diff --git a/MIDAS/src/led.h b/MIDAS/src/led.h index 6e6bec28..bcc3df22 100644 --- a/MIDAS/src/led.h +++ b/MIDAS/src/led.h @@ -3,6 +3,11 @@ #include "hal.h" #include "errors.h" +/** + * @enum LED + * + * @brief represents the different LEDS +*/ enum class LED { BLUE = 0, RED = 1, @@ -10,6 +15,11 @@ enum class LED { GREEN = 3 }; +/** + * @class LEDController + * + * @brief wraps functionality for LEDs +*/ class LEDController { int states[4]; int targets[4]; diff --git a/MIDAS/src/log_format.h b/MIDAS/src/log_format.h index 004cbefb..dde361bb 100644 --- a/MIDAS/src/log_format.h +++ b/MIDAS/src/log_format.h @@ -3,7 +3,9 @@ #include "sensor_data.h" /** - * 0 is not used to make it easier to spot bugs + * @enum ReadingDiscriminant + * + * @brief ID for each sensor, 0 is not used to make it easier to spot bugs */ enum ReadingDiscriminant { ID_LOWG = 1, @@ -22,6 +24,11 @@ enum ReadingDiscriminant { /** + * @struct LoggerReading + * + * @brief representation of data that will be logged + * + * @note * This struct isn't actually logged as-is, because if we did we'd waste extra space since * unions are the size of their largest member. This is just a reference struct. * diff --git a/MIDAS/src/rocket_state.h b/MIDAS/src/rocket_state.h index 472b7b33..139acd3d 100644 --- a/MIDAS/src/rocket_state.h +++ b/MIDAS/src/rocket_state.h @@ -6,18 +6,35 @@ #include "hal.h" #include "Buffer.h" -/** The RocketState struct stores everything that is needed by more than one system/thread of the Rocket. +/** + * @brief The RocketState struct stores everything that is needed by more than one system/thread of the Rocket. * + * @note * Normally, this would be considered a poor decision. However, the fact that all this data is here * makes it easier to debug since all this data can be logged (and thus used when debugging). + * */ +/** + * @struct Reading + * + * @brief A specific reading from a sensor, holding a timestamp and data + * + * @tparam SensorData Type of data we are storing +*/ template struct Reading { uint32_t timestamp_ms; SensorData data; }; +/** + * @struct SensorData + * + * @brief Wrapper for thread safe sensor data storage + * + * @tparam S Type of data we are storing +*/ template struct SensorData { private: @@ -27,24 +44,57 @@ struct SensorData { public: SensorData() : current(S()) { } + /** + * @brief pushes to the queue with new data + * + * @param data New data of the templated type to add to queue + */ virtual void update(S data) { current.write(data); queue.send((Reading) { .timestamp_ms = pdTICKS_TO_MS(xTaskGetTickCount()), .data = data }); }; + /** + * @brief gets most recent data, will wait and acquire lock + * + * @return the most recent data + */ S getRecent() { return current.read(); }; + /** + * @brief gets most recent data, will not acquire lock + * + * @return the most recent data + */ S getRecentUnsync() { return current.read_unsync(); } + /** + * @brief destructively gets the queue + * + * @note + * This will clear the entire queue + * + * @param out Array in which to put the queue data + * + * @return boolean indicating successful transfer of data + */ bool getQueued(Reading* out) { return queue.receive(out); }; }; +/** + * @struct BufferedSensorData + * + * @brief Buffer of Sensor data for easy calculations on + * + * @tparam S type of data stored + * @tparam count size of buffer +*/ template struct BufferedSensorData : public SensorData { private: @@ -74,25 +124,41 @@ struct BufferedSensorData : public SensorData { }; }; +/** + * @class Latency + * + * @brief class determining latency between a set time and when the data was created +*/ class Latency { uint32_t latency = 0; TickType_t last_tick = 0; public: + /** + * @brief updates latency since last packet + */ void tick() { TickType_t now = xTaskGetTickCount(); latency = now - last_tick; last_tick = now; } + /** + * @brief gets the msot recent latency + * + * @return most receent latency + */ [[nodiscard]] uint32_t getLatency() const { return latency; } }; /** - * The RocketData struct stores all data that is needed by more than one system/thread of the Rocket. + * @struct RocketData + * + * @brief The RocketData struct stores all data that is needed by more than one system/thread of the Rocket. * + * @note * Normally, this would be considered a poor decision. However, the fact that all this data is here * makes it easier to debug since all this data can be logged (and thus used when debugging). */ diff --git a/MIDAS/src/sensor_data.h b/MIDAS/src/sensor_data.h index 92fa904d..d6b8b765 100644 --- a/MIDAS/src/sensor_data.h +++ b/MIDAS/src/sensor_data.h @@ -8,13 +8,14 @@ //#define CONTINUITY_PIN_COUNT 5 /** + * @brief * This header provides all the implementation for the data that comes from all of the sensors/ * These structs will be individual packets of data passed between the sensor and the * rocket_state struct, and each will be tagged with a timestamp. */ /** - * First 4 structs are base vector, pos, vel, and accel data to be used elsewhere + * @brief First 4 structs are base vector, pos, vel, and accel data to be used elsewhere */ struct Vec3 { float x = 0; @@ -49,6 +50,11 @@ struct Acceleration { } }; +/** + * @struct euler_t + * + * @brief euler representation of rotation +*/ struct euler_t { float yaw; float pitch; @@ -56,7 +62,13 @@ struct euler_t { }; /** - * Structs starting here represent specific sensors and the respective data + * @brief Structs starting here represent specific sensors and the respective data +*/ + +/** + * @struct LowGData + * + * @brief data from the LowG sensor */ struct LowGData { float ax = 0; @@ -67,6 +79,11 @@ struct LowGData { LowGData(float x, float y, float z) : ax(x), ay(y), az(z) {}; }; +/** + * @struct HighGData + * + * @brief data from the HighG sensor +*/ struct HighGData { float ax = 0; float ay = 0; @@ -76,6 +93,11 @@ struct HighGData { HighGData(float x, float y, float z) : ax(x), ay(y), az(z) {} }; +/** + * @struct LowGLSM + * + * @brief data from the Low G LSM sensor +*/ struct LowGLSM { float gx = 0; float gy = 0; @@ -85,6 +107,11 @@ struct LowGLSM { float az = 0; }; +/** + * @struct Barometer + * + * @brief data from the barometer +*/ struct Barometer { float temperature = 0; float pressure = 0; @@ -94,15 +121,30 @@ struct Barometer { Barometer(float t, float p, float a) : temperature(t), pressure(p), altitude(a) {} }; +/** + * @struct Continuity + * + * @brief data about pyro continuity +*/ struct Continuity { float sense_pyro; float pins[4]; }; +/** + * @struct Voltage + * + * @brief data about battery voltage +*/ struct Voltage { float voltage = 0; }; +/** + * @struct GPS + * + * @brief data from the GPS +*/ struct GPS { int32_t latitude = 0; int32_t longitude = 0; @@ -116,12 +158,22 @@ struct GPS { uint32_t time; }; +/** + * @struct Magnetometer + * + * @brief data from the magnetometer +*/ struct Magnetometer { float mx; float my; float mz; }; +/** + * @struct Orientation + * + * @brief data from the BNO +*/ struct Orientation { bool has_data = false; @@ -145,6 +197,11 @@ struct Orientation { }; +/** + * @struct KalmanData + * + * @brief data from the Kalman thread +*/ struct KalmanData { Position position; Velocity velocity; @@ -153,12 +210,21 @@ struct KalmanData { float altitude; }; - +/** + * @struct PyroChannel + * + * @brief data about a specific pyro channel +*/ struct PyroChannel { bool is_armed = false; bool is_firing = false; }; +/** + * @struct PyroState + * + * @brief data regarding all pyro channels +*/ struct PyroState { bool is_global_armed = false; PyroChannel channels[4]; diff --git a/MIDAS/src/systems.cpp b/MIDAS/src/systems.cpp index 0a2240be..d3279c28 100644 --- a/MIDAS/src/systems.cpp +++ b/MIDAS/src/systems.cpp @@ -11,13 +11,17 @@ /** - * These are all the functions that will run in each task + * @brief These are all the functions that will run in each task * Each function has a `while (true)` loop within that should not be returned out of or yielded in any way * * @param name the name of the thread, replace with the actual name * @param arg the config file for the rocket */ + +/** + * See \ref data_logger_thread + */ DECLARE_THREAD(logger, RocketSystems* arg) { log_begin(arg->log_sink); while (true) { @@ -30,7 +34,7 @@ DECLARE_THREAD(logger, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref barometer_thread */ DECLARE_THREAD(barometer, RocketSystems* arg) { while (true) { @@ -40,7 +44,9 @@ DECLARE_THREAD(barometer, RocketSystems* arg) { } } - +/** + * See \ref accelerometers_thread + */ DECLARE_THREAD(accelerometers, RocketSystems* arg) { while (true) { #ifdef IS_SUSTAINER @@ -56,7 +62,7 @@ DECLARE_THREAD(accelerometers, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref orientation_thread */ DECLARE_THREAD(orientation, RocketSystems* arg) { while (true) { @@ -70,7 +76,7 @@ DECLARE_THREAD(orientation, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref magnetometer_thread */ DECLARE_THREAD(magnetometer, RocketSystems* arg) { while (true) { @@ -81,7 +87,10 @@ DECLARE_THREAD(magnetometer, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref i2c_thread + * + * @note + * this thread holds all instructios for all components on i2c */ DECLARE_THREAD(i2c, RocketSystems* arg) { int i = 0; @@ -110,7 +119,7 @@ DECLARE_THREAD(i2c, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref fsm_thread */ DECLARE_THREAD(fsm, RocketSystems* arg) { FSM fsm {}; @@ -133,7 +142,7 @@ DECLARE_THREAD(fsm, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref buzzer_thread */ DECLARE_THREAD(buzzer, RocketSystems* arg) { while (true) { @@ -144,7 +153,7 @@ DECLARE_THREAD(buzzer, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref kalman_thread */ DECLARE_THREAD(kalman, RocketSystems* arg) { yessir.initialize(); @@ -173,7 +182,7 @@ DECLARE_THREAD(kalman, RocketSystems* arg) { } /** - * See \ref data_logger_thread + * See \ref telemetry_thread */ DECLARE_THREAD(telemetry, RocketSystems* arg) { while (true) { @@ -183,7 +192,9 @@ DECLARE_THREAD(telemetry, RocketSystems* arg) { } } - +/** + * @brief initializes all systems +*/ #define INIT_SYSTEM(s) do { ErrorCode code = (s).init(); if (code != NoError) { return code; } } while (0) ErrorCode init_systems(RocketSystems& systems) { gpioDigitalWrite(LED_ORANGE, HIGH); @@ -209,6 +220,7 @@ ErrorCode init_systems(RocketSystems& systems) { #undef INIT_SYSTEM /** + * @brief * Creates all threads for each sensor, FSM, Kalman algorithm, and data logging member * Starts thread scheduler to actually start doing jobs */ diff --git a/MIDAS/src/systems.h b/MIDAS/src/systems.h index 9890ce08..301add67 100644 --- a/MIDAS/src/systems.h +++ b/MIDAS/src/systems.h @@ -18,6 +18,11 @@ #include "hardware/sensors.h" #endif +/** + * @struct Sensors + * + * @brief holds all interfaces for all sensors on MIDAS +*/ struct Sensors { LowGSensor low_g; LowGLSMSensor low_g_lsm; @@ -31,6 +36,11 @@ struct Sensors { GPSSensor gps; }; +/** + * @struct RocketData + * + * @brief holds all information about the rocket, sensors, and controllers +*/ struct RocketSystems { Sensors sensors; RocketData rocket_data; diff --git a/MIDAS/src/telemetry.cpp b/MIDAS/src/telemetry.cpp index d99ace2d..ecd4448d 100644 --- a/MIDAS/src/telemetry.cpp +++ b/MIDAS/src/telemetry.cpp @@ -20,6 +20,14 @@ T inv_convert_range(float val, float range) { return std::max(std::min((float)std::numeric_limits::max(), converted), (float)std::numeric_limits::min()); } +/** + * @brief packs highg and tilt infomation into 3, 2 byte integers + * + * @param highg highg data to store + * @param tilt tilt information to store + * + * @return tuple with packed data +*/ std::tuple pack_highg_tilt(HighGData const& highg, uint8_t tilt) { uint16_t ax = (uint16_t)inv_convert_range(highg.ax, 32); uint16_t ay = (uint16_t)inv_convert_range(highg.ay, 32); @@ -32,10 +40,17 @@ std::tuple pack_highg_tilt(HighGData const& highg, return {x,y,z}; } - +/** + * @brief move constructor for the telemetry backend +*/ Telemetry::Telemetry(TelemetryBackend&& backend) : backend(std::move(backend)) { } - +/** + * @brief transmit telemetry data through LoRa + * + * @param rocket_data rocket_data to transmit + * @param led led state to transmit +*/ void Telemetry::transmit(RocketData& rocket_data, LEDController& led) { static_assert(sizeof(TelemetryPacket) == 20); @@ -44,6 +59,11 @@ void Telemetry::transmit(RocketData& rocket_data, LEDController& led) { backend.send(packet); } +/** + * @brief creates the packet to send through the telemetry system + * + * @param data the data to serialize into a packet +*/ TelemetryPacket Telemetry::makePacket(RocketData& data) { TelemetryPacket packet { }; @@ -78,6 +98,11 @@ TelemetryPacket Telemetry::makePacket(RocketData& data) { return packet; } +/** + * @brief initializes the Telemetry system + * + * @return Error Code +*/ ErrorCode __attribute__((warn_unused_result)) Telemetry::init() { return backend.init(); } diff --git a/MIDAS/src/telemetry.h b/MIDAS/src/telemetry.h index 498cefd0..932d5424 100644 --- a/MIDAS/src/telemetry.h +++ b/MIDAS/src/telemetry.h @@ -12,6 +12,11 @@ #include "hardware/telemetry_backend.h" #endif +/** + * @class Telemetry + * + * @brief wraps the telemetry system to create and send a packet +*/ class Telemetry { public: Telemetry() = default; diff --git a/MIDAS/src/telemetry_packet.h b/MIDAS/src/telemetry_packet.h index 38ad85e8..ef90e536 100644 --- a/MIDAS/src/telemetry_packet.h +++ b/MIDAS/src/telemetry_packet.h @@ -3,6 +3,11 @@ #include #include +/** + * @struct TelemetryPacket + * + * @brief format of the telemetry packet +*/ struct TelemetryPacket { int32_t lat; int32_t lon; diff --git a/README.md b/README.md index cecd58c3..d82d6202 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,32 @@ # MIDAS-Software Illinois Space Society's flight software codebase for the MIDAS avionics system + +### Directory Structure: +- `eMMC/`: Code used to extract a MIDAS log file from the onaboard eMMC. +- `ground/`: Code running on ground station hardware (Adafruit LoRa Feather + combiner laptop). +- `MIDAS/`: Mission critical flight software running on MIDAS. This is the code that actually flies on the rocket. + - `docs/`: Files related to documentation. + - `lib/`: Hardware drivers to interface with sensors and more. Some are downloaded from the internet and some were written by us. + - `src/`: All the flight code that we write ourselves is in this directory. + +### Avionics Software Team 23-24: +Aidan Costello, +Magilan Sendhil, +Aaditya Voruganti, +Michael Karpov, +Zyun Lam, +Surag Nuthulapaty, +Nicholas Phillips, +Gautam Dayal, +Rithvik Bhogavilli, +Anthony Smykalov, +Aryaman Dwivedi, +Eisha Peyyeti, +Rishi Gottumukkala, +Carson Sprague, +Deeya Bodas, +Ashley Sawa, +Ankith Madadi, +Patrick Cassino, +Kaustubh Khulbe, +Ethan Pereira \ No newline at end of file