diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 66d8356e5..0287eda27 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,10 @@ { + // See http://go.microsoft.com/fwlink/?LinkId=827846 + // for the documentation about the extensions.json format "recommendations": [ "Jason2866.esp-decoder", - "pioarduino.pioarduino-ide" + "pioarduino.pioarduino-ide", + "platformio.platformio-ide" ], "unwantedRecommendations": [ "ms-vscode.cpptools-extension-pack", diff --git a/variants/esp32/diy/hydra_868m/platformio.ini b/variants/esp32/diy/hydra_868m/platformio.ini new file mode 100644 index 000000000..ee37ee084 --- /dev/null +++ b/variants/esp32/diy/hydra_868m/platformio.ini @@ -0,0 +1,17 @@ +; Hydra - Meshtastic DIY v1 hardware with some specific changes +[env:hydra_868m] +custom_meshtastic_hw_model = 39 +custom_meshtastic_hw_model_slug = HYDRA +custom_meshtastic_architecture = esp32 +custom_meshtastic_actively_supported = true +custom_meshtastic_support_level = 3 +custom_meshtastic_display_name = Hydra +custom_meshtastic_tags = DIY + +extends = esp32_base +board = esp32doit-devkit-v1 +build_flags = + ${esp32_base.build_flags} + -D DIY_V1 + -I variants/esp32/diy/hydra_868m + -D EBYTE_E22P_868M30S diff --git a/variants/esp32/diy/hydra_868m/variant.h b/variants/esp32/diy/hydra_868m/variant.h new file mode 100644 index 000000000..27a93752d --- /dev/null +++ b/variants/esp32/diy/hydra_868m/variant.h @@ -0,0 +1,55 @@ +// For OLED LCD +#define I2C_SDA 21 +#define I2C_SCL 22 + +// For GPS, 'undef's not needed +#define GPS_TX_PIN 15 +#define GPS_RX_PIN 12 +#define PIN_GPS_EN 4 + +#define BUTTON_PIN 39 // The middle button GPIO on the T-Beam +// Note: On the ESP32 base version, gpio34-39 are input-only, and do not have internal pull-ups. +// If 39 is not being used for a button, it is suggested to remove the #define. +#define BATTERY_PIN 35 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage +#define ADC_CHANNEL ADC1_GPIO35_CHANNEL +#define ADC_MULTIPLIER 1.85 // (R1 = 470k, R2 = 680k) +#define EXT_PWR_DETECT 4 // Pin to detect connected external power source for LILYGO® TTGO T-Energy T18 and other DIY boards +#define EXT_NOTIFY_OUT 12 // Overridden default pin to use for Ext Notify Module (#975). +#define LED_POWER 2 // add status LED (compatible with core-pcb and DIY targets) + +// Radio +#define USE_SX1262 // E22-900M30S uses SX1262 +#define USE_SX1268 // E22-400M30S uses SX1268 +#define SX126X_MAX_POWER \ + 22 // Outputting 22dBm from SX1262 results in ~30dBm E22-900M30S output (module only uses last stage of the YP2233W PA) +#define SX126X_DIO3_TCXO_VOLTAGE 1.8 // E22 series TCXO reference voltage is 1.8V + +#define SX126X_CS 18 // EBYTE module's NSS pin +#define SX126X_SCK 5 // EBYTE module's SCK pin +#define SX126X_MOSI 27 // EBYTE module's MOSI pin +#define SX126X_MISO 19 // EBYTE module's MISO pin +#define SX126X_RESET 23 // EBYTE module's NRST pin +#define SX126X_BUSY 32 // EBYTE module's BUSY pin +#define SX126X_DIO1 33 // EBYTE module's DIO1 pin + +//#define SX126X_TXEN 13 // Schematic connects EBYTE module's TXEN pin to MCU + +//#if defined(EBYTE_E22P_868M30S) // For Ebyte E22P-868M30S and E22P-915M30S modules - pin 14 always HIGH + #define SX126X_TXEN RADIOLIB_NC + #define SX126X_RXEN RADIOLIB_NC + #define SX126X_POWER_EN 14 + #define SX126X_DIO2_AS_RF_SWITCH +//#else +// #define SX126X_RXEN 14 // Schematic connects EBYTE module's RXEN pin to MCU +//#endif + +#define LORA_CS SX126X_CS // Compatibility with variant file configuration structure +#define LORA_SCK SX126X_SCK // Compatibility with variant file configuration structure +#define LORA_MOSI SX126X_MOSI // Compatibility with variant file configuration structure +#define LORA_MISO SX126X_MISO // Compatibility with variant file configuration structure +#define LORA_DIO1 SX126X_DIO1 // Compatibility with variant file configuration structure +#define LORA_TXEN SX126X_TXEN // Compatibility with variant file configuration structure +#define LORA_RXEN SX126X_RXEN // Compatibility with variant file configuration structure +#define LORA_RESET SX126X_RESET // Compatibility with variant file configuration structure +#define LORA_DIO2 SX126X_BUSY // Compatibility with variant file configuration structure +#define LORA_POWER_EN SX126X_POWER_EN \ No newline at end of file