mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
Merge d0e0a5bed7 into dee3e26ac0
This commit is contained in:
commit
6f4d0de6d3
5 changed files with 61 additions and 4 deletions
|
|
@ -28,4 +28,30 @@ uint16_t TechoBoard::getBattMilliVolts() {
|
|||
// divider into account (providing the actual LIPO voltage)
|
||||
return (uint16_t)((float)adcvalue * REAL_VBAT_MV_PER_LSB);
|
||||
}
|
||||
|
||||
void TechoBoard::setRfSwitchTx(bool tx) {
|
||||
if (tx) { // TX
|
||||
digitalWrite(S68F_RF_VC1, HIGH);
|
||||
digitalWrite(S68F_RF_VC2, LOW);
|
||||
} else { // RX
|
||||
digitalWrite(S68F_RF_VC1, LOW);
|
||||
digitalWrite(S68F_RF_VC2, HIGH);
|
||||
}
|
||||
}
|
||||
|
||||
void TechoBoard::onBeforeTransmit() {
|
||||
// RF switching NOT handled by RadioLib via SX126X_DIO2_AS_RF_SWITCH and setRfSwitchPins()
|
||||
#if defined(P_LORA_TX_LED)
|
||||
digitalWrite(P_LORA_TX_LED, LOW); // TX LED on
|
||||
#endif
|
||||
TechoBoard::setRfSwitchTx(true);
|
||||
}
|
||||
|
||||
void TechoBoard::onAfterTransmit() {
|
||||
TechoBoard::setRfSwitchTx(false);
|
||||
#if defined(P_LORA_TX_LED)
|
||||
digitalWrite(P_LORA_TX_LED, HIGH); // TX LED off
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -14,10 +14,14 @@
|
|||
#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
|
||||
|
||||
class TechoBoard : public NRF52BoardDCDC {
|
||||
private:
|
||||
void setRfSwitchTx(bool tx);
|
||||
public:
|
||||
TechoBoard() : NRF52Board("TECHO_OTA") {}
|
||||
void begin();
|
||||
uint16_t getBattMilliVolts() override;
|
||||
void onBeforeTransmit() override;
|
||||
void onAfterTransmit() override;
|
||||
|
||||
const char* getManufacturerName() const override {
|
||||
return "LilyGo T-Echo";
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ build_flags = ${nrf52_base.build_flags}
|
|||
-D SX126X_POWER_EN=30
|
||||
-D SX126X_CURRENT_LIMIT=140
|
||||
-D SX126X_RX_BOOSTED_GAIN=1
|
||||
-D P_LORA_TX_LED=LED_GREEN
|
||||
-D P_LORA_TX_LED=LED_RED
|
||||
-D DISABLE_DIAGNOSTIC_OUTPUT
|
||||
-D ENV_INCLUDE_GPS=1
|
||||
-D GPS_BAUD_RATE=9600
|
||||
|
|
|
|||
|
|
@ -20,6 +20,12 @@ void initVariant() {
|
|||
pinMode(PIN_BUTTON1, INPUT_PULLUP);
|
||||
pinMode(PIN_BUTTON2, INPUT_PULLUP);
|
||||
|
||||
pinMode(S68F_RF_VC1, OUTPUT);
|
||||
pinMode(S68F_RF_VC2, OUTPUT);
|
||||
// TX
|
||||
digitalWrite(S68F_RF_VC1, HIGH);
|
||||
digitalWrite(S68F_RF_VC2, LOW);
|
||||
|
||||
pinMode(LED_RED, OUTPUT);
|
||||
pinMode(LED_GREEN, OUTPUT);
|
||||
pinMode(LED_BLUE, OUTPUT);
|
||||
|
|
|
|||
|
|
@ -10,6 +10,27 @@
|
|||
|
||||
#include "WVariant.h"
|
||||
|
||||
// # T-Echo-Lite_V1.0.pdf
|
||||
// S68F
|
||||
// ====
|
||||
// * RF_VC1 <-- P0.27
|
||||
// * RF_VC2 <-- P1.01
|
||||
// * DIO1 <-> P1.08
|
||||
// * DIO2 <-> P0.05
|
||||
//
|
||||
// # EK-S62F_UserGuide_Ver.A.pdf
|
||||
// MODE A
|
||||
// ------
|
||||
// Tx/Rx RF_VC1 RF_VC2
|
||||
// Tx H L
|
||||
// Rx L H
|
||||
//
|
||||
// MODE B
|
||||
// ------
|
||||
// DIO2 --- RF_VC1
|
||||
// RF_VC2 = H -> NON SLEEP
|
||||
// RF_VC2 = L -> SLEEP
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Low frequency clock source
|
||||
|
||||
|
|
@ -76,7 +97,7 @@
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Builtin LEDs
|
||||
|
||||
#define LED_RED _PINNUM(1, 14) // LED_3
|
||||
#define LED_RED _PINNUM(1, 14) // LED_3 (CORE)
|
||||
#define LED_BLUE _PINNUM(1, 5) // LED_2
|
||||
#define LED_GREEN _PINNUM(1, 7) // LED_1
|
||||
|
||||
|
|
@ -107,8 +128,8 @@
|
|||
#define SX126X_DIO1 _PINNUM(1, 8)
|
||||
#define SX126X_BUSY _PINNUM(0, 14)
|
||||
#define SX126X_RESET _PINNUM(0, 7)
|
||||
#define SX126X_RF_VC1 _PINNUM(0, 27)
|
||||
#define SX126X_RF_VC2 _PINNUM(0, 33)
|
||||
#define S68F_RF_VC1 _PINNUM(0, 27)
|
||||
#define S68F_RF_VC2 _PINNUM(1, 1)
|
||||
|
||||
#define P_LORA_DIO_1 SX126X_DIO1
|
||||
#define P_LORA_NSS LORA_CS
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue