Midnight Sun Firmware
Loading...
Searching...
No Matches
telemetry.h
1#pragma once
2
3/************************************************************************************************
4 * @file telemetry.h
5 *
6 * @brief Header file for telemetry
7 *
8 * @date 2025-01-25
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13
14/* Inter-component Headers */
15#include "queue.h"
16
17/* Intra-component Headers */
18#include "bmi323.h"
19#include "datagram.h"
20#include "sd_card_spi.h"
21
31typedef struct {
38
42typedef struct {
43 Datagram datagram_buffer[DATAGRAM_BUFFER_SIZE];
49
59StatusCode telemetry_init(TelemetryStorage *telemetry_storage, TelemetryConfig *config, Bmi323Storage *bmi323_storage, CanStorage *can_storage);
60
UartPort
UART Port selection.
Definition: network.h:30
StatusCode
StatusCodes for various errors.
Definition: status.h:27
StatusCode telemetry_init(TelemetryStorage *telemetry_storage, TelemetryConfig *config, Bmi323Storage *bmi323_storage, CanStorage *can_storage)
Initialize the telemetry interface.
Definition: telemetry.c:43
#define DATAGRAM_BUFFER_SIZE
Datagram buffer size.
Definition: datagram.h:26
SdSpiPort
SD SPI port options.
Definition: sd_card_spi.h:61
Storage struct for bmi323.
Definition: bmi323.h:190
Storage class for the device ID and RX data.
Definition: can.h:36
Datagram storage class.
Definition: datagram.h:45
Queue storage and access struct.
Definition: queues.h:33
Configuration settings for initializing an SD SPI port.
Definition: sd_card_spi.h:66
Telemetry configuration data.
Definition: telemetry.h:31
uint32_t message_transmit_frequency_hz
Definition: telemetry.h:34
UartSettings uart_settings
Definition: telemetry.h:33
SdSpiPort sd_spi_port
Definition: telemetry.h:35
SdSpiSettings sd_spi_settings
Definition: telemetry.h:36
UartPort uart_port
Definition: telemetry.h:32
Telemetry storage.
Definition: telemetry.h:42
TelemetryConfig * config
Definition: telemetry.h:47
Queue datagram_queue
Definition: telemetry.h:44
CanStorage * can_storage
Definition: telemetry.h:46
Bmi323Storage * bmi323_storage
Definition: telemetry.h:45
UART Settings.
Definition: network.h:67