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 <frieder@fris.de>
34 lines
982 B
C++
34 lines
982 B
C++
#pragma once
|
|
|
|
#include <Arduino.h>
|
|
#include <MeshCore.h>
|
|
|
|
#if defined(NRF52_PLATFORM)
|
|
|
|
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;
|
|
};
|
|
|
|
/*
|
|
* The NRF52 has an internal DC/DC regulator that allows increased efficiency
|
|
* compared to the LDO regulator. For being able to use it, the module/board
|
|
* needs to have the required inductors and and capacitors populated. If the
|
|
* hardware requirements are met, this subclass can be used to enable the DC/DC
|
|
* regulator.
|
|
*/
|
|
class NRF52BoardDCDC : virtual public NRF52Board {
|
|
public:
|
|
NRF52BoardDCDC() {}
|
|
virtual void begin() override;
|
|
};
|
|
#endif |