diff --git a/src/esp32/architecture.h b/src/esp32/architecture.h index dd9031d6..9c450935 100644 --- a/src/esp32/architecture.h +++ b/src/esp32/architecture.h @@ -70,6 +70,8 @@ #define HW_VENDOR HardwareModel_NANO_G1 #elif defined(M5STACK) #define HW_VENDOR HardwareModel_M5STACK +#elif defined(STATION_G1) + #define HW_VENDOR HardwareModel_STATION_G1 #endif // diff --git a/src/mesh/generated/mesh.pb.h b/src/mesh/generated/mesh.pb.h index 37710ebc..8c05cb31 100644 --- a/src/mesh/generated/mesh.pb.h +++ b/src/mesh/generated/mesh.pb.h @@ -70,7 +70,9 @@ typedef enum _HardwareModel { /* Custom Disaster Radio esp32 v3 device https://github.com/sudomesh/disaster-radio/tree/master/hardware/board_esp32_v3 */ HardwareModel_DR_DEV = 43, /* M5 esp32 based MCU modules with enclosure, TFT and LORA Shields. All Variants (Basic, Core, Fire, Core2, Paper) https://m5stack.com/ */ - HardwareModel_M5STACK = 44, + HardwareModel_M5STACK = 44, + /* B&Q Consulting Station Edition G1: https://uniteng.com/wiki/doku.php?id=meshtastic:station */ + HardwareModel_STATION_G1 = 45, /* Reserved ID For developing private Ports. These will show up in live traffic sparsely, so we can use a high number. Keep it within 8 bits. */ HardwareModel_PRIVATE_HW = 255 } HardwareModel; diff --git a/variants/station-g1/platformio.ini b/variants/station-g1/platformio.ini new file mode 100644 index 00000000..a466414d --- /dev/null +++ b/variants/station-g1/platformio.ini @@ -0,0 +1,8 @@ +; The 1.0 release of the nano-g1 board +[env:station-g1] +extends = esp32_base +board = ttgo-t-beam +lib_deps = + ${esp32_base.lib_deps} +build_flags = + ${esp32_base.build_flags} -D STATION_G1 -I variants/station-g1 \ No newline at end of file diff --git a/variants/station-g1/variant.h b/variants/station-g1/variant.h new file mode 100644 index 00000000..c40bca74 --- /dev/null +++ b/variants/station-g1/variant.h @@ -0,0 +1,36 @@ +// #define BUTTON_NEED_PULLUP // if set we need to turn on the internal CPU pullup during sleep + +#define I2C_SDA 21 +#define I2C_SCL 22 + +#define BUTTON_PIN 36 // The middle button GPIO on the Nano G1 +//#define BUTTON_PIN_ALT 13 // Alternate GPIO for an external button if needed. Does anyone use this? It is not documented anywhere. +#define EXT_NOTIFY_OUT 13 // Default pin to use for Ext Notify Module. + +// common pinout for their SX1262 vs RF95 modules - both can be enabled and we will probe at runtime for RF95 and if +// not found then probe for SX1262 +#define USE_RF95 +#define USE_SX1262 + +#define LORA_DIO0 26 // a No connect on the SX1262 module +#define LORA_RESET 23 +#define LORA_DIO1 33 // SX1262 IRQ +#define LORA_DIO2 32 // SX1262 BUSY +#define LORA_DIO3 // Not connected on PCB + +#ifdef USE_SX1262 +#define SX126X_CS RF95_NSS // FIXME - we really should define LORA_CS instead +#define SX126X_DIO1 LORA_DIO1 +#define SX126X_BUSY LORA_DIO2 +#define SX126X_RESET LORA_RESET +//#define SX126X_E22 // Not really an E22 +// Internally the module hooks the SX1262-DIO2 in to control the TX/RX switch (which is the default for the sx1262interface +// code) +#endif + +#define BATTERY_PIN 35 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage +#define BATTERY_SENSE_SAMPLES 30 //Set the number of samples, It has an effect of increasing sensitivity. +#define ADC_MULTIPLIER 2.15 + +// different screen +#define USE_SH1106