20#include "kx134_1211.h"
61 spiSensorConfig.
afr = SENSORS_SPI_AF;
70 spiFlashConfig.
afr = FLASH_SPI_AF;
79 spiLoraConfig.
afr = LORA_SPI_AF;
95 static SPI_t spiSensors;
96 spiSensors =
SPI_init(SENSORS_SPI_INTERFACE, NULL);
115 deviceList[DEVICE_ACCEL_HIGH].deviceName =
"HAccel";
116 deviceList[DEVICE_ACCEL_HIGH].device = &hAccel;
134 deviceList[DEVICE_ACCEL_LOW].deviceName =
"LAccel";
135 deviceList[DEVICE_ACCEL_LOW].device = &lAccel;
149 BMP581_TEMP_SENSITIVITY,
150 BMP581_PRESS_SENSITIVITY
152 deviceList[DEVICE_BARO].deviceName =
"Baro";
153 deviceList[DEVICE_BARO].device = &baro;
167 A3G4250D_SENSITIVITY,
171 deviceList[DEVICE_GYRO].deviceName =
"Gyro";
172 deviceList[DEVICE_GYRO].device = &gyro;
182 deviceList[DEVICE_ACCEL] = deviceList[DEVICE_ACCEL_LOW];
197 static SPI_t spiFlash;
198 spiFlash =
SPI_init(FLASH_SPI_INTERFACE, NULL);
215 deviceList[DEVICE_FLASH].deviceName =
"Flash";
216 deviceList[DEVICE_FLASH].device = &flash;
234 static SPI_t spiLora;
236 SPI_Config spiLoraConfig = SPI_CONFIG_DEFAULT;
237 spiLoraConfig.
CPHA = SPI_CPHA_FIRST;
238 spiLoraConfig.
CPOL = SPI_CPOL0;
239 spiLora =
SPI_init(LORA_SPI_INTERFACE, &spiLoraConfig);
256 deviceList[DEVICE_LORA].deviceName =
"LoRa";
257 deviceList[DEVICE_LORA].device = &lora;
287 deviceList[DEVICE_UART_USB].deviceName =
"USB";
288 deviceList[DEVICE_UART_USB].device = &uart;
303 deviceList[DEVICE_GPS].deviceName =
"GPS";
304 deviceList[DEVICE_GPS].device = &gps;
315extern uint32_t __state_vector_start;
316extern uint32_t __state_vector_end;
320 return (handleRef == NULL) ? (
StateHandle_t){
"NULL", NULL} : *handleRef;
325 for (uint8_t *i = (uint8_t *)&__state_vector_start; i < (uint8_t *)&__state_vector_end; i +=
sizeof(
StateHandle_t)) {
328 if (!strcmp(handle->name, name)) {
329 handle->ref = handle;
A3G4250D_t A3G4250D_init(A3G4250D_t *, SPI_t *, GPIOpin_t, const float, const uint8_t *, const int8_t *)
Initialiser for a A3G4250D gyroscope.
BMP581_t BMP581_init(BMP581_t *, SPI_t *, GPIOpin_t, const float, const float)
Initialiser for a BMP581 barometer.
void DeviceList_init(DeviceHandle_t deviceList[DEVICE_MAX_KEYS])
Initialise all system devices.
GPIO_Mode mode
Pin I/O direction | (default GPIO_MODE_OUTPUT)
GPIO_AF afr
Pin alternate function | (default GPIO_AF0)
GPIOpin_t GPIOpin_init(GPIO_TypeDef *, GPIO_Pin, GPIO_Config *)
Initialiser for a GPIO peripheral pin interface.
@ GPIO_MODE_AF
Alternate function mode.
Struct definition for GPIO configuration.
Struct definition for a GPIO pin.
KX134_1211_t KX134_1211_init(KX134_1211_t *, SPI_t *, GPIOpin_t, const uint8_t, const uint8_t *, const int8_t *)
Initialiser for a KX134-1211 accelerometer.
SPI_Polarity CPOL
SPI clock polarity | (default SPI_CPOL1)
SPI_Phase CPHA
SPI clock phase | (default SPI_CPHA_SECOND)
SPI_t SPI_init(SPI_TypeDef *, SPI_Config *)
Initialiser for an SPI device interface.
SPI CR1 configuration struct.
Struct definition for SPI interface. Provides the interface for API consumers to interact with the SP...
SX1272_t SX1272_init(SX1272_t *, SPI_t *, GPIOpin_t, SX1272_Bandwidth, SX1272_SpreadingFactor, SX1272_CodingRate)
Initializes the LoRa module with specified configuration parameters.
Struct definition for SX1272. Provides the interface for API consumers to interact with the SX1272 Lo...
UART_t UART_init(UART_t *, USART_TypeDef *, GPIO_TypeDef *, UART_Pins, uint32_t, OversampleMode)
Initialiser for a UART device interface.
Struct definition for UART interface.
W25Q128_t W25Q128_init(W25Q128_t *, SPI_t *, GPIOpin_t)
Initialise flash struct.