Midnight Sun Firmware
Loading...
Searching...
No Matches
telemetry_hw_defs.h
1#pragma once
2
3/************************************************************************************************
4 * @file telemetry_hw_defs.h
5 *
6 * @brief Header file for Telemetry HW definition
7 *
8 * @date 2026-02-09
9 * @author Midnight Sun Team #24 - MSXVI
10 ************************************************************************************************/
11
12/* Standard library Headers */
13
14/* Inter-component Headers */
15
16/* Intra-component Headers */
17
23/************************************************************************************************
24 * File-scope definitions
25 ************************************************************************************************/
26
27#define TELEMETRY_GPIO_DEF(PORT, PIN) \
28 { .port = GPIO_PORT_##PORT, .pin = PIN }
29
30/************************************************************************************************
31 * Telemetry CAN definitions
32 ************************************************************************************************/
33
35#define GPIO_TELEMETRY_CAN_RX TELEMETRY_GPIO_DEF(B, 8)
36
38#define GPIO_TELEMETRY_CAN_TX TELEMETRY_GPIO_DEF(B, 9)
39
40/************************************************************************************************
41 * Telemetry UART definitions - for XBee transciever
42 ************************************************************************************************/
43
45#define GPIO_TELEMETRY_UART_RX TELEMETRY_GPIO_DEF(A, 3)
46
48#define GPIO_TELEMETRY_UART_TX TELEMETRY_GPIO_DEF(A, 2)
49
51#define GPIO_TELEMETRY_XBEE_XRST TELEMETRY_GPIO_DEF(A, 5)
52
54#define GPIO_TELEMETRY_XBEE_SLEEP_RQ TELEMETRY_GPIO_DEF(A, 11)
55
56#define TELEMETRY_XBEE_UART_BAUDRATE 230400
57
58#define TELEMETRY_XBEE_UART_FLOW_CONTROL UART_FLOW_CONTROL_NONE
59
60#define TELEMETRY_XBEE_UART_PORT UART_PORT_2
61
62/************************************************************************************************
63 * Telemetry SPI definitions - for SD card & IMU
64 ************************************************************************************************/
65
67#define GPIO_TELEMETRY_SPI_MISO TELEMETRY_GPIO_DEF(B, 14)
68
70#define GPIO_TELEMETRY_SPI_MOSI TELEMETRY_GPIO_DEF(B, 15)
71
73#define GPIO_TELEMETRY_SPI_SCK TELEMETRY_GPIO_DEF(B, 13)
74
76#define GPIO_TELEMETRY_SPI_NSS TELEMETRY_GPIO_DEF(B, 12)
77
78/************************************************************************************************
79 * Telemetry IMU-specific Definitions
80 ************************************************************************************************/
81
83#define GPIO_TELEMETRY_IMU_INTL1 TELEMETRY_GPIO_DEF(B, 0)
84
86#define GPIO_TELEMETRY_IMU_INTL2 TELEMETRY_GPIO_DEF(B, 1)
87
88#define TELEMETRY_IMU_SPI_BAUDRATE SPI_BAUDRATE_5MHZ
89
90#define TELEMETRY_IMU_SPI_MODE SPI_MODE_3
91
92#define TELEMETRY_IMU_SPI_PORT SPI_PORT_2
93
94/************************************************************************************************
95 * Telemetry SD-card-specific Definitions
96 ************************************************************************************************/
97
99#define GPIO_TELEMETRY_SD_CARD_CD_B TELEMETRY_GPIO_DEF(B, 10)
100
101/************************************************************************************************
102 * Board LED definition
103 ************************************************************************************************/
104
106#define GPIO_TELEMETRY_BOARD_LED TELEMETRY_GPIO_DEF(A, 6)
107