mirror of
https://github.com/meshtastic/firmware.git
synced 2025-02-26 22:33:24 +00:00
Support for TLORA 2.1-1.8
This commit is contained in:
parent
b1f2025558
commit
3e82cd7dd4
10
src/main.cpp
10
src/main.cpp
@ -51,7 +51,7 @@
|
|||||||
#include "RF95Interface.h"
|
#include "RF95Interface.h"
|
||||||
#include "SX1262Interface.h"
|
#include "SX1262Interface.h"
|
||||||
#include "SX1268Interface.h"
|
#include "SX1268Interface.h"
|
||||||
#include "SX1281Interface.h"
|
#include "SX1280Interface.h"
|
||||||
#if !HAS_RADIO && defined(ARCH_PORTDUINO)
|
#if !HAS_RADIO && defined(ARCH_PORTDUINO)
|
||||||
#include "platform/portduino/SimRadio.h"
|
#include "platform/portduino/SimRadio.h"
|
||||||
#endif
|
#endif
|
||||||
@ -372,15 +372,15 @@ void setup()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(USE_SX1281) && !defined(ARCH_PORTDUINO)
|
#if defined(USE_SX1280) && !defined(ARCH_PORTDUINO)
|
||||||
if (!rIf) {
|
if (!rIf) {
|
||||||
rIf = new SX1281Interface(SX126X_CS, SX126X_DIO1, SX126X_RESET, SX126X_BUSY, SPI);
|
rIf = new SX1280Interface(SX128X_CS, SX128X_DIO1, SX128X_RESET, SX128X_BUSY, SPI);
|
||||||
if (!rIf->init()) {
|
if (!rIf->init()) {
|
||||||
DEBUG_MSG("Warning: Failed to find SX1281 radio\n");
|
DEBUG_MSG("Warning: Failed to find SX1280 radio\n");
|
||||||
delete rIf;
|
delete rIf;
|
||||||
rIf = NULL;
|
rIf = NULL;
|
||||||
} else {
|
} else {
|
||||||
DEBUG_MSG("SX1281 Radio init succeeded, using SX1281 radio\n");
|
DEBUG_MSG("SX1280 Radio init succeeded, using SX1280 radio\n");
|
||||||
rIf_wide_lora = true;
|
rIf_wide_lora = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,5 +9,5 @@ template class SX126xInterface<SX1268>;
|
|||||||
template class SX126xInterface<LLCC68>;
|
template class SX126xInterface<LLCC68>;
|
||||||
|
|
||||||
#if !defined(ARCH_PORTDUINO)
|
#if !defined(ARCH_PORTDUINO)
|
||||||
template class SX128xInterface<SX1281>;
|
template class SX128xInterface<SX1280>;
|
||||||
#endif
|
#endif
|
@ -1,10 +1,10 @@
|
|||||||
#include "configuration.h"
|
#include "configuration.h"
|
||||||
#include "SX1281Interface.h"
|
#include "SX1280Interface.h"
|
||||||
#include "error.h"
|
#include "error.h"
|
||||||
|
|
||||||
#if !defined(ARCH_PORTDUINO)
|
#if !defined(ARCH_PORTDUINO)
|
||||||
|
|
||||||
SX1281Interface::SX1281Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy,
|
SX1280Interface::SX1280Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy,
|
||||||
SPIClass &spi)
|
SPIClass &spi)
|
||||||
: SX128xInterface(cs, irq, rst, busy, spi)
|
: SX128xInterface(cs, irq, rst, busy, spi)
|
||||||
{
|
{
|
@ -3,15 +3,15 @@
|
|||||||
#include "SX128xInterface.h"
|
#include "SX128xInterface.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Our adapter for SX1281 radios
|
* Our adapter for SX1280 radios
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if !defined(ARCH_PORTDUINO)
|
#if !defined(ARCH_PORTDUINO)
|
||||||
|
|
||||||
class SX1281Interface : public SX128xInterface<SX1281>
|
class SX1280Interface : public SX128xInterface<SX1280>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SX1281Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy, SPIClass &spi);
|
SX1280Interface(RADIOLIB_PIN_TYPE cs, RADIOLIB_PIN_TYPE irq, RADIOLIB_PIN_TYPE rst, RADIOLIB_PIN_TYPE busy, SPIClass &spi);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Adapter for SX128x radio family. Implements common logic for child classes.
|
* \brief Adapter for SX128x radio family. Implements common logic for child classes.
|
||||||
* \tparam T RadioLib module type for SX128x: SX1281.
|
* \tparam T RadioLib module type for SX128x: SX1280.
|
||||||
*/
|
*/
|
||||||
template<class T>
|
template<class T>
|
||||||
class SX128xInterface : public RadioLibInterface
|
class SX128xInterface : public RadioLibInterface
|
||||||
|
@ -70,6 +70,8 @@
|
|||||||
#define HW_VENDOR HardwareModel_TLORA_V1_1P3
|
#define HW_VENDOR HardwareModel_TLORA_V1_1P3
|
||||||
#elif defined(TLORA_V2_1_16)
|
#elif defined(TLORA_V2_1_16)
|
||||||
#define HW_VENDOR HardwareModel_TLORA_V2_1_1P6
|
#define HW_VENDOR HardwareModel_TLORA_V2_1_1P6
|
||||||
|
#elif defined(TLORA_V2_1_18)
|
||||||
|
#define HW_VENDOR HardwareModel_TLORA_V2_1_1P8
|
||||||
#elif defined(GENIEBLOCKS)
|
#elif defined(GENIEBLOCKS)
|
||||||
#define HW_VENDOR HardwareModel_GENIEBLOCKS
|
#define HW_VENDOR HardwareModel_GENIEBLOCKS
|
||||||
#elif defined(PRIVATE_HW)
|
#elif defined(PRIVATE_HW)
|
||||||
|
7
variants/tlora_v2_1_18/platformio.ini
Normal file
7
variants/tlora_v2_1_18/platformio.ini
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
[env:tlora-v2-1-1.8]
|
||||||
|
extends = esp32_base
|
||||||
|
board = ttgo-lora32-v21
|
||||||
|
lib_deps =
|
||||||
|
${esp32_base.lib_deps}
|
||||||
|
build_flags =
|
||||||
|
${esp32_base.build_flags} -D TLORA_V2_1_18 -I variants/tlora_v2_1_18
|
33
variants/tlora_v2_1_18/variant.h
Normal file
33
variants/tlora_v2_1_18/variant.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#undef GPS_RX_PIN
|
||||||
|
#undef GPS_TX_PIN
|
||||||
|
#define GPS_RX_PIN 15 // per @der_bear on the forum, 36 is incorrect for this board type and 15 is a better pick
|
||||||
|
#define GPS_TX_PIN 13
|
||||||
|
|
||||||
|
#define EXT_NOTIFY_OUT 2 // Default pin to use for Ext Notify Module.
|
||||||
|
|
||||||
|
#define BATTERY_PIN 35 // A battery voltage measurement pin, voltage divider connected here to measure battery voltage
|
||||||
|
// ratio of voltage divider = 2.0 (R42=100k, R43=100k)
|
||||||
|
#define ADC_MULTIPLIER 2.11 // 2.0 + 10% for correction of display undervoltage.
|
||||||
|
|
||||||
|
#define I2C_SDA 21 // I2C pins for this board
|
||||||
|
#define I2C_SCL 22
|
||||||
|
|
||||||
|
// #define RESET_OLED 16 // If defined, this pin will be used to reset the display controller. Crashes on newer ESP-IDF and not needed per schematic
|
||||||
|
|
||||||
|
#define VEXT_ENABLE 21 // active low, powers the oled display and the lora antenna boost
|
||||||
|
#define LED_PIN 25 // If defined we will blink this LED
|
||||||
|
#define BUTTON_PIN 12 // If defined, this will be used for user button presses,
|
||||||
|
|
||||||
|
#define BUTTON_NEED_PULLUP
|
||||||
|
|
||||||
|
#define USE_SX1280
|
||||||
|
#define LORA_DIO0 26 // a No connect on the SX1262 module
|
||||||
|
#define LORA_RESET 23
|
||||||
|
|
||||||
|
#define SX128X_CS 18 // FIXME - we really should define LORA_CS instead
|
||||||
|
#define SX128X_DIO1 33
|
||||||
|
#define SX128X_BUSY 32
|
||||||
|
#define SX128X_RESET LORA_RESET
|
||||||
|
#define SX128X_E22 // Not really an E22 but TTGO seems to be trying to clone that
|
||||||
|
// Internally the TTGO module hooks the SX1280-DIO2 in to control the TX/RX switch (which is the default for the sx1280interface
|
||||||
|
// code)
|
Loading…
Reference in New Issue
Block a user