57 lines
1.6 KiB
C
57 lines
1.6 KiB
C
#ifndef _VARIANT_RUSSELL_
|
|
#define _VARIANT_RUSSELL_
|
|
|
|
#define USE_STM32WLx
|
|
|
|
// I/O
|
|
#define LED_POWER PA0 // Red LED
|
|
#define LED_STATE_ON 1
|
|
#define BUTTON_PIN PH3 // Shared with BOOT0
|
|
#define BUTTON_NEED_PULLUP
|
|
// Charger IC charge/standby pins are open-drain with no hardware pull-up:
|
|
// Internal pull-up is needed on STM32 (TODO)
|
|
// #define EXT_CHRG_DETECT PA5
|
|
// #define EXT_PWR_DETECT PA4
|
|
|
|
#define BATTERY_PIN AVBAT
|
|
// ADC_MULTIPLIER: 3.0 = internal 1:3 bridge divider (DS13105§3.18.3)
|
|
// Margin: 1.10 = AVBAT divider tolerance ±10% (Table 82)
|
|
#define ADC_MULTIPLIER (1.01f * 3)
|
|
/*
|
|
Sample OCV curve for Li-SOCl2 primary lithium cells (e.g. Saft cells have fresh OCV of 3.67V)
|
|
#define NUM_OCV_POINTS 11
|
|
#define OCV_ARRAY 3670, 3650, 3630, 3610, 3590, 3560, 3530, 3480, 3400, 3200, 2500
|
|
*/
|
|
|
|
// Bosch Sensortec BME280
|
|
#define HAS_SENSOR 1
|
|
|
|
// CDtop CD-PA1010D
|
|
#define ENABLE_HWSERIAL1
|
|
#define PIN_SERIAL1_RX PB7
|
|
#define PIN_SERIAL1_TX PB6
|
|
|
|
// Debug serial (USART2)
|
|
#define ENABLE_HWSERIAL2
|
|
#define PIN_SERIAL2_TX PA2
|
|
#define PIN_SERIAL2_RX PA3
|
|
#define HAS_GPS 1
|
|
#define PIN_GPS_STANDBY PA15
|
|
#define GPS_RX_PIN PB7
|
|
#define GPS_TX_PIN PB6
|
|
|
|
// LoRa
|
|
/*
|
|
* RAK3172 (-20-85°C) -> No TCXO
|
|
* RAK3172-T (-40-85°C) -> 3.0V TCXO
|
|
* https://github.com/RAKWireless/RAK-STM32-RUI/blob/e5a28be8fab1a492bd9223dd425ca33a8a297d90/variants/WisDuo_RAK3172-T_Board/radio_conf.h#L91
|
|
*/
|
|
#define TCXO_OPTIONAL
|
|
#define SX126X_DIO3_TCXO_VOLTAGE 3.0
|
|
|
|
// Required to avoid Serial1 conflicts due to board definition here:
|
|
// https://github.com/stm32duino/Arduino_Core_STM32/blob/main/variants/STM32WLxx/WL54CCU_WL55CCU_WLE4C(8-B-C)U_WLE5C(8-B-C)U/variant_RAK3172_MODULE.h
|
|
#define RAK3172
|
|
|
|
#endif
|