Browse Source

Remove NRF52BoardOTA class and integrate it into NRF52Board

As all NRF52 boards now have OTA support, let's remove the subclass
and integrate it into the base class.

Signed-off-by: Frieder Schrempf <[email protected]>
pull/1246/head
Frieder Schrempf 6 months ago
parent
commit
4f46ec75dd
No known key found for this signature in database GPG Key ID: E7DD51F45F833802
  1. 2
      src/helpers/NRF52Board.cpp
  2. 13
      src/helpers/NRF52Board.h
  3. 4
      variants/heltec_mesh_solar/MeshSolarBoard.h
  4. 4
      variants/heltec_t114/T114Board.h
  5. 4
      variants/ikoka_handheld_nrf/IkokaNrf52Board.h
  6. 4
      variants/ikoka_nano_nrf/IkokaNanoNRFBoard.h
  7. 4
      variants/ikoka_stick_nrf/IkokaStickNRFBoard.h
  8. 4
      variants/keepteen_lt1/KeepteenLT1Board.h
  9. 4
      variants/lilygo_techo/TechoBoard.h
  10. 4
      variants/lilygo_techo_lite/TechoBoard.h
  11. 4
      variants/mesh_pocket/MeshPocket.h
  12. 4
      variants/minewsemi_me25ls01/MinewsemiME25LS01Board.h
  13. 4
      variants/nano_g2_ultra/nano-g2.h
  14. 4
      variants/promicro/PromicroBoard.h
  15. 4
      variants/rak4631/RAK4631Board.h
  16. 4
      variants/rak_wismesh_tag/RAKWismeshTagBoard.h
  17. 4
      variants/sensecap_solar/SenseCapSolarBoard.h
  18. 4
      variants/t1000-e/T1000eBoard.h
  19. 4
      variants/thinknode_m1/ThinkNodeM1Board.h
  20. 4
      variants/wio-tracker-l1/WioTrackerL1Board.h
  21. 4
      variants/wio_wm1110/WioWM1110Board.h
  22. 4
      variants/xiao_nrf52/XiaoNrf52Board.h

2
src/helpers/NRF52Board.cpp

@ -54,7 +54,7 @@ float NRF52Board::getMCUTemperature() {
return temp * 0.25f; // Convert to *C
}
bool NRF52BoardOTA::startOTAUpdate(const char *id, char reply[]) {
bool NRF52Board::startOTAUpdate(const char *id, char reply[]) {
// Config the peripheral connection with maximum bandwidth
// more SRAM required by SoftDevice
// Note: All config***() function must be called before begin()

13
src/helpers/NRF52Board.h

@ -8,12 +8,15 @@
class NRF52Board : public mesh::MainBoard {
protected:
uint8_t startup_reason;
char *ota_name;
public:
NRF52Board(char *otaname) : ota_name(otaname) {}
virtual void begin();
virtual uint8_t getStartupReason() const override { return startup_reason; }
virtual float getMCUTemperature() override;
virtual void reboot() override { NVIC_SystemReset(); }
virtual bool startOTAUpdate(const char *id, char reply[]) override;
};
/*
@ -25,15 +28,7 @@ public:
*/
class NRF52BoardDCDC : virtual public NRF52Board {
public:
NRF52BoardDCDC() {}
virtual void begin() override;
};
class NRF52BoardOTA : virtual public NRF52Board {
private:
char *ota_name;
public:
NRF52BoardOTA(char *name) : ota_name(name) {}
virtual bool startOTAUpdate(const char *id, char reply[]) override;
};
#endif

4
variants/heltec_mesh_solar/MeshSolarBoard.h

@ -20,9 +20,9 @@
#define SX126X_DIO2_AS_RF_SWITCH true
#define SX126X_DIO3_TCXO_VOLTAGE 1.8
class MeshSolarBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class MeshSolarBoard : public NRF52BoardDCDC {
public:
MeshSolarBoard() : NRF52BoardOTA("MESH_SOLAR_OTA") {}
MeshSolarBoard() : NRF52Board("MESH_SOLAR_OTA") {}
void begin();
uint16_t getBattMilliVolts() override {

4
variants/heltec_t114/T114Board.h

@ -9,9 +9,9 @@
#define PIN_BAT_CTL 6
#define MV_LSB (3000.0F / 4096.0F) // 12-bit ADC with 3.0V input range
class T114Board : public NRF52BoardDCDC, public NRF52BoardOTA {
class T114Board : public NRF52BoardDCDC {
public:
T114Board() : NRF52BoardOTA("T114_OTA") {}
T114Board() : NRF52Board("T114_OTA") {}
void begin();
#if defined(P_LORA_TX_LED)

4
variants/ikoka_handheld_nrf/IkokaNrf52Board.h

@ -6,9 +6,9 @@
#ifdef IKOKA_NRF52
class IkokaNrf52Board : public NRF52BoardDCDC, public NRF52BoardOTA {
class IkokaNrf52Board : public NRF52BoardDCDC {
public:
IkokaNrf52Board() : NRF52BoardOTA("XIAO_NRF52_OTA") {}
IkokaNrf52Board() : NRF52Board("XIAO_NRF52_OTA") {}
void begin();
#if defined(P_LORA_TX_LED)

4
variants/ikoka_nano_nrf/IkokaNanoNRFBoard.h

@ -6,9 +6,9 @@
#ifdef XIAO_NRF52
class IkokaNanoNRFBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class IkokaNanoNRFBoard : public NRF52BoardDCDC {
public:
IkokaNanoNRFBoard() : NRF52BoardOTA("XIAO_NRF52_OTA") {}
IkokaNanoNRFBoard() : NRF52Board("XIAO_NRF52_OTA") {}
void begin();
#if defined(P_LORA_TX_LED)

4
variants/ikoka_stick_nrf/IkokaStickNRFBoard.h

@ -6,9 +6,9 @@
#ifdef XIAO_NRF52
class IkokaStickNRFBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class IkokaStickNRFBoard : public NRF52BoardDCDC {
public:
IkokaStickNRFBoard() : NRF52BoardOTA("XIAO_NRF52_OTA") {}
IkokaStickNRFBoard() : NRF52Board("XIAO_NRF52_OTA") {}
void begin();
#if defined(P_LORA_TX_LED)

4
variants/keepteen_lt1/KeepteenLT1Board.h

@ -4,12 +4,12 @@
#include <Arduino.h>
#include <helpers/NRF52Board.h>
class KeepteenLT1Board : public NRF52BoardOTA {
class KeepteenLT1Board : public NRF52Board {
protected:
uint8_t btn_prev_state;
public:
KeepteenLT1Board() : NRF52BoardOTA("KeepteenLT1_OTA") {}
KeepteenLT1Board() : NRF52Board("KeepteenLT1_OTA") {}
void begin();
#define BATTERY_SAMPLES 8

4
variants/lilygo_techo/TechoBoard.h

@ -13,9 +13,9 @@
#define PIN_VBAT_READ (4)
#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
class TechoBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class TechoBoard : public NRF52BoardDCDC {
public:
TechoBoard() : NRF52BoardOTA("TECHO_OTA") {}
TechoBoard() : NRF52Board("TECHO_OTA") {}
void begin();
uint16_t getBattMilliVolts() override;

4
variants/lilygo_techo_lite/TechoBoard.h

@ -13,9 +13,9 @@
#define PIN_VBAT_READ (4)
#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
class TechoBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class TechoBoard : public NRF52BoardDCDC {
public:
TechoBoard() : NRF52BoardOTA("TECHO_OTA") {}
TechoBoard() : NRF52Board("TECHO_OTA") {}
void begin();
uint16_t getBattMilliVolts() override;

4
variants/mesh_pocket/MeshPocket.h

@ -9,9 +9,9 @@
#define PIN_BAT_CTL 34
#define MV_LSB (3000.0F / 4096.0F) // 12-bit ADC with 3.0V input range
class HeltecMeshPocket : public NRF52BoardDCDC, public NRF52BoardOTA {
class HeltecMeshPocket : public NRF52BoardDCDC {
public:
HeltecMeshPocket() : NRF52BoardOTA("MESH_POCKET_OTA") {}
HeltecMeshPocket() : NRF52Board("MESH_POCKET_OTA") {}
void begin();
uint16_t getBattMilliVolts() override {

4
variants/minewsemi_me25ls01/MinewsemiME25LS01Board.h

@ -20,12 +20,12 @@
#define PIN_VBAT_READ BATTERY_PIN
#define ADC_MULTIPLIER (1.815f) // dependent on voltage divider resistors. TODO: more accurate battery tracking
class MinewsemiME25LS01Board : public NRF52BoardDCDC, public NRF52BoardOTA {
class MinewsemiME25LS01Board : public NRF52BoardDCDC {
protected:
uint8_t btn_prev_state;
public:
MinewsemiME25LS01Board() : NRF52BoardOTA("Minewsemi_OTA") {}
MinewsemiME25LS01Board() : NRF52Board("Minewsemi_OTA") {}
void begin();
#define BATTERY_SAMPLES 8

4
variants/nano_g2_ultra/nano-g2.h

@ -35,9 +35,9 @@
#define PIN_VBAT_READ (0 + 2)
#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
class NanoG2Ultra : public NRF52BoardOTA {
class NanoG2Ultra : public NRF52Board {
public:
NanoG2Ultra() : NRF52BoardOTA("NANO_G2_OTA") {}
NanoG2Ultra() : NRF52Board("NANO_G2_OTA") {}
void begin();
uint16_t getBattMilliVolts() override;

4
variants/promicro/PromicroBoard.h

@ -20,13 +20,13 @@
#define PIN_VBAT_READ 17
#define ADC_MULTIPLIER (1.815f) // dependent on voltage divider resistors. TODO: more accurate battery tracking
class PromicroBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class PromicroBoard : public NRF52BoardDCDC {
protected:
uint8_t btn_prev_state;
float adc_mult = ADC_MULTIPLIER;
public:
PromicroBoard() : NRF52BoardOTA("ProMicro_OTA") {}
PromicroBoard() : NRF52Board("ProMicro_OTA") {}
void begin();
#define BATTERY_SAMPLES 8

4
variants/rak4631/RAK4631Board.h

@ -29,9 +29,9 @@
#define PIN_VBAT_READ 5
#define ADC_MULTIPLIER (3 * 1.73 * 1.187 * 1000)
class RAK4631Board : public NRF52BoardDCDC, public NRF52BoardOTA {
class RAK4631Board : public NRF52BoardDCDC {
public:
RAK4631Board() : NRF52BoardOTA("RAK4631_OTA") {}
RAK4631Board() : NRF52Board("RAK4631_OTA") {}
void begin();
#define BATTERY_SAMPLES 8

4
variants/rak_wismesh_tag/RAKWismeshTagBoard.h

@ -8,9 +8,9 @@
#define PIN_VBAT_READ 5
#define ADC_MULTIPLIER (3 * 1.73 * 1.187 * 1000)
class RAKWismeshTagBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class RAKWismeshTagBoard : public NRF52BoardDCDC {
public:
RAKWismeshTagBoard() : NRF52BoardOTA("WISMESHTAG_OTA") {}
RAKWismeshTagBoard() : NRF52Board("WISMESHTAG_OTA") {}
void begin();
#if defined(P_LORA_TX_LED) && defined(LED_STATE_ON)

4
variants/sensecap_solar/SenseCapSolarBoard.h

@ -4,9 +4,9 @@
#include <Arduino.h>
#include <helpers/NRF52Board.h>
class SenseCapSolarBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class SenseCapSolarBoard : public NRF52BoardDCDC {
public:
SenseCapSolarBoard() : NRF52BoardOTA("SENSECAP_SOLAR_OTA") {}
SenseCapSolarBoard() : NRF52Board("SENSECAP_SOLAR_OTA") {}
void begin();
#if defined(P_LORA_TX_LED)

4
variants/t1000-e/T1000eBoard.h

@ -4,12 +4,12 @@
#include <Arduino.h>
#include <helpers/NRF52Board.h>
class T1000eBoard : public NRF52BoardDCDC, public NRF52BoardOTA {
class T1000eBoard : public NRF52BoardDCDC {
protected:
uint8_t btn_prev_state;
public:
T1000eBoard() : NRF52BoardOTA("T1000E_OTA") {}
T1000eBoard() : NRF52Board("T1000E_OTA") {}
void begin();
uint16_t getBattMilliVolts() override {

4
variants/thinknode_m1/ThinkNodeM1Board.h

@ -13,9 +13,9 @@
#define PIN_VBAT_READ (4)
#define REAL_VBAT_MV_PER_LSB (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
class ThinkNodeM1Board : public NRF52BoardOTA {
class ThinkNodeM1Board : public NRF52Board {
public:
ThinkNodeM1Board() : NRF52BoardOTA("THINKNODE_M1_OTA") {}
ThinkNodeM1Board() : NRF52Board("THINKNODE_M1_OTA") {}
void begin();
uint16_t getBattMilliVolts() override;

4
variants/wio-tracker-l1/WioTrackerL1Board.h

@ -4,12 +4,12 @@
#include <Arduino.h>
#include <helpers/NRF52Board.h>
class WioTrackerL1Board : public NRF52BoardDCDC, public NRF52BoardOTA {
class WioTrackerL1Board : public NRF52BoardDCDC {
protected:
uint8_t btn_prev_state;
public:
WioTrackerL1Board() : NRF52BoardOTA("WioTrackerL1 OTA") {}
WioTrackerL1Board() : NRF52Board("WioTrackerL1 OTA") {}
void begin();
#if defined(P_LORA_TX_LED)

4
variants/wio_wm1110/WioWM1110Board.h

@ -11,9 +11,9 @@
#endif
#define Serial Serial1
class WioWM1110Board : public NRF52BoardDCDC, public NRF52BoardOTA {
class WioWM1110Board : public NRF52BoardDCDC {
public:
WioWM1110Board() : NRF52BoardOTA("WM1110_OTA") {}
WioWM1110Board() : NRF52Board("WM1110_OTA") {}
void begin();
#if defined(LED_GREEN)

4
variants/xiao_nrf52/XiaoNrf52Board.h

@ -6,9 +6,9 @@
#ifdef XIAO_NRF52
class XiaoNrf52Board : public NRF52BoardDCDC, public NRF52BoardOTA {
class XiaoNrf52Board : public NRF52BoardDCDC {
public:
XiaoNrf52Board() : NRF52BoardOTA("XIAO_NRF52_OTA") {}
XiaoNrf52Board() : NRF52Board("XIAO_NRF52_OTA") {}
void begin();
#if defined(P_LORA_TX_LED)

Loading…
Cancel
Save