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#include "ws22_motor_can.h"
17
18/* Intra-component Headers */
19#include "bmi323.h"
20#include "datagram.h"
21#include "sd_card_spi.h"
22
32typedef struct {
39
43typedef struct {
44 Datagram datagram_buffer[DATAGRAM_BUFFER_SIZE];
51
61StatusCode telemetry_init(TelemetryStorage *telemetry_storage, TelemetryConfig *config, Bmi323Storage *bmi323_storage, CanStorage *can_storage);
62
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:45
#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:32
uint32_t message_transmit_frequency_hz
Definition: telemetry.h:35
UartSettings uart_settings
Definition: telemetry.h:34
SdSpiPort sd_spi_port
Definition: telemetry.h:36
SdSpiSettings sd_spi_settings
Definition: telemetry.h:37
UartPort uart_port
Definition: telemetry.h:33
Telemetry storage.
Definition: telemetry.h:43
Ws22MotorCanStorage * ws22_storage
Definition: telemetry.h:48
TelemetryConfig * config
Definition: telemetry.h:49
Queue datagram_queue
Definition: telemetry.h:45
CanStorage * can_storage
Definition: telemetry.h:47
Bmi323Storage * bmi323_storage
Definition: telemetry.h:46
UART Settings.
Definition: network.h:67
WS22 motor CAN interface storage structure.
Definition: ws22_motor_can.h:111