mirror of
https://github.com/alexhopeoconnor/firmware.git
synced 2026-10-17 00:51:30 +10:00
72 lines
1.8 KiB
C
72 lines
1.8 KiB
C
// LilyGo T-Beam-BPF variant.h
|
|
// Configuration based on LilyGO utilities.h and RF documentation
|
|
|
|
// Hardware is restricted to the amateur 2m band (144-148 MHz).
|
|
#define HAS_HAM_2M_ONLY 1
|
|
|
|
// I2C for OLED display (SH1106 at 0x3C)
|
|
#define I2C_SDA 8
|
|
#define I2C_SCL 9
|
|
|
|
// GPS - Quectel L76K. Per schematic sheet 7:
|
|
|
|
#define GPS_RX_PIN 5
|
|
#define GPS_TX_PIN 6
|
|
#define GPS_1PPS_PIN 7
|
|
#define HAS_GPS 1
|
|
#define GPS_BAUDRATE 9600
|
|
|
|
// Buttons
|
|
#define BUTTON_PIN 0 // BUTTON 1
|
|
#define ALT_BUTTON_PIN 3 // BUTTON 2
|
|
|
|
// SPI (shared by LoRa and SD)
|
|
#define SPI_MOSI 11
|
|
#define SPI_SCK 12
|
|
#define SPI_MISO 13
|
|
#define SPI_CS 10
|
|
|
|
// SD Card
|
|
#define HAS_SDCARD
|
|
#define SDCARD_USE_SPI1
|
|
// #define SDCARD_CS SPI_CS (already defined in pins_arduino.h)
|
|
|
|
// LoRa Radio - SX1278 144-148Mhz
|
|
#define USE_RF95
|
|
#define LORA_SCK SPI_SCK
|
|
#define LORA_MISO SPI_MISO
|
|
#define LORA_MOSI SPI_MOSI
|
|
#define LORA_CS 1
|
|
#define LORA_RESET 18
|
|
#define LORA_IRQ 14
|
|
#define LORA_DIO0 LORA_IRQ
|
|
#define LORA_DIO1 21
|
|
#define RF95_RXEN 39 // LNA enable - HIGH during RX
|
|
|
|
// CRITICAL: Radio power enable - MUST be HIGH before lora.begin()!
|
|
// GPIO 16 powers the SX1278 via LDO
|
|
#define RF95_POWER_EN 16
|
|
|
|
// +27dBm PA
|
|
// LilyGo Docs specify SX1278 power must be capped at 10
|
|
#define RF95_MAX_POWER 10
|
|
// PA curve mapping (TX values 1-10)
|
|
// Measurements taken with 5V USB power (max 37 dBm on battery power)
|
|
// Input values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
|
|
// Output values: 0, 34, 35, 36, 36, 37, 37, 38, 38, 38
|
|
#define NUM_PA_POINTS 10
|
|
#define TX_GAIN_LORA 0, 32, 32, 32, 31, 31, 30, 30, 29, 28
|
|
|
|
// Display - SH1106 OLED (128x64)
|
|
#define USE_SH1106
|
|
#define OLED_WIDTH 128
|
|
#define OLED_HEIGHT 64
|
|
|
|
// 32768 Hz crystal present
|
|
#define HAS_32768HZ 1
|
|
|
|
// PMU
|
|
#define HAS_AXP2101
|
|
#define PMU_IRQ 4
|
|
#define PMU_POWER_BUTTON_IS_CANCEL // maps a short click of the power button to a cancel action (turning off the screen)
|