mirror of https://github.com/meshcore-dev/MeshCore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
4.9 KiB
144 lines
4.9 KiB
/*
|
|
* variant.h
|
|
*
|
|
* MIT License
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "WVariant.h"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Low frequency clock source
|
|
|
|
#define USE_LFXO // 32.768 kHz crystal oscillator
|
|
#define VARIANT_MCK (64000000ul)
|
|
|
|
#define WIRE_INTERFACES_COUNT (1)
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Power
|
|
|
|
#define PIN_PWR_EN (30) // RT9080 LDO enable pin for 3v3 rail
|
|
|
|
#define PIN_BAT_CTL (31) // vdiv enable
|
|
#define PIN_VBAT_READ (2)
|
|
#define ADC_MULTIPLIER (4.90F)
|
|
|
|
#define ADC_RESOLUTION (14)
|
|
#define BATTERY_SENSE_RES (12)
|
|
#define AREF_VOLTAGE (3.0)
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Number of pins
|
|
|
|
#define PINS_COUNT (48)
|
|
#define NUM_DIGITAL_PINS (48)
|
|
#define NUM_ANALOG_INPUTS (1)
|
|
#define NUM_ANALOG_OUTPUTS (0)
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// UART pin definition
|
|
|
|
#define PIN_SERIAL1_RX PIN_GPS_TX
|
|
#define PIN_SERIAL1_TX PIN_GPS_RX
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// I2C pin definition
|
|
|
|
#define PIN_WIRE_SDA (36) // P1.04
|
|
#define PIN_WIRE_SCL (34) // P1.02
|
|
#define I2C_NO_RESCAN
|
|
#define DISABLE_DS3231_PROBE // DS3231 lives at 0x68 but this board has ICM20948 at that address, causing broken clock.
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// SPI pin definition
|
|
|
|
#define SPI_INTERFACES_COUNT (1)
|
|
|
|
#define PIN_SPI_MISO (17)
|
|
#define PIN_SPI_MOSI (15)
|
|
#define PIN_SPI_SCK (13)
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// QSPI FLASH
|
|
|
|
#define PIN_QSPI_SCK (4)
|
|
#define PIN_QSPI_CS (12)
|
|
#define PIN_QSPI_IO0 (6)
|
|
#define PIN_QSPI_IO1 (8)
|
|
#define PIN_QSPI_IO2 (41) // P1.09
|
|
#define PIN_QSPI_IO3 (26)
|
|
|
|
#define EXTERNAL_FLASH_DEVICES ZD25WQ32CEIGR
|
|
#define EXTERNAL_FLASH_USE_QSPI
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Builtin LEDs (only WS2812, no traditional LEDs available)
|
|
|
|
// WS1812 data lines
|
|
#define WS2812_DATA_1 (39) // P1.07
|
|
#define WS2812_DATA_2 (44) // P1.12
|
|
#define WS2812_DATA_3 (28) // P0.28
|
|
|
|
#define LED_BLUE (-1)
|
|
#define LED_BUILTIN (-1)
|
|
#define LED_PIN LED_BUILTIN
|
|
#define LED_STATE_ON LOW
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Builtin buttons
|
|
|
|
#define PIN_BUTTON1 (42) // P1.10
|
|
#define BUTTON_PIN PIN_BUTTON1 // BUTTON A
|
|
#define PIN_USER_BTN BUTTON_PIN
|
|
|
|
#define PIN_BUTTON2 (24)
|
|
#define BUTTON_PIN2 PIN_BUTTON2 // BUTTON C
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// Lora (Acsip S62F)
|
|
|
|
#define USE_SX1262
|
|
#define P_LORA_SCLK PIN_SPI_SCK
|
|
#define P_LORA_MISO PIN_SPI_MISO
|
|
#define P_LORA_MOSI PIN_SPI_MOSI
|
|
#define P_LORA_DIO_1 (40) // P1.08
|
|
#define P_LORA_RESET (7) // P0.07
|
|
#define P_LORA_BUSY (14) // P0.14
|
|
#define P_LORA_NSS (11) // P0.11
|
|
#define SX126X_RXEN (33) // P1.01
|
|
#define SX126X_TXEN (27) // P0.27
|
|
#define SX126X_DIO3_TCXO_VOLTAGE (1.8f)
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// GPS
|
|
|
|
// NOTE: these pins are defined differently to how lilygo does them but they
|
|
// seem to work properly for how EnvironmentSensorManager operates.
|
|
// TODO: MAYBE? migrate to board based sensor manager / add GPS_WAKE_UP to ESM
|
|
|
|
#define PIN_GPS_RX (21) // GPS_UART_RX in lilygo pin defs
|
|
#define PIN_GPS_TX (19) // GPS_UART_TX in lilygo pin defs
|
|
#define PIN_GPS_EN (25) // GPS_WAKE_UP in lilygo pin defs
|
|
#define PIN_GPS_RESET (47) // GPS_EN in lilygo pin defs
|
|
#define PIN_GPS_STANDBY (29) // GPS_RF_EN in lilygo pin defs
|
|
#define PIN_GPS_PPS (23) // GPS_1PPS in lilygo pin defs
|
|
|
|
// buzzer - enabled in platformio.ini so it can be easily turned off if not wanted.
|
|
// #define PIN_BUZZER (38) // P1.06
|
|
|
|
// microphone
|
|
#define MICROPHONE_SCLK (35) // P1.03
|
|
#define MICROPHONE_DATA (37) // P1.05
|
|
|
|
// speaker
|
|
#define SPEAKER_EN (43) // P1.11
|
|
#define SPEAKER_EN_2 (3) // P0.03
|
|
#define SPEAKER_BCLK (16) // P0.16
|
|
#define SPEAKER_DATA (20) // P0.20
|
|
#define SPEAKER_WS_LRCK (22) // P0.22
|
|
|
|
// ICM20948 9dof motion sensor (accelerometer and magnetometer)
|
|
#define ICM20948_SDA PIN_WIRE_SDA // P1.4
|
|
#define ICM20948_SCL PIN_WIRE_SCL // P1.2
|
|
#define ICM20948_ADDRESS 0x68
|
|
|