mirror of
https://github.com/meshcore-dev/MeshCore.git
synced 2026-04-20 22:13:47 +00:00
Address review comments
This commit is contained in:
parent
53ff4ed57f
commit
1ab8a6f6da
9 changed files with 47 additions and 47 deletions
|
|
@ -14,10 +14,10 @@ build_flags = ${nrf52_base.build_flags}
|
|||
-D LORA_TX_POWER=22
|
||||
-D SX126X_CURRENT_LIMIT=140
|
||||
-D SX126X_RX_BOOSTED_GAIN=1
|
||||
-D HAS_EX_WATCHDOG
|
||||
-D EX_WATCHDOG_DONE_PIN=9
|
||||
-D EX_WATCHDOG_WAKE_PIN=10
|
||||
-D EX_WATCHDOG_TIMEOUT_MS=480000 ;(6*60*1000) ; 6 minute watchdog
|
||||
-D HAS_EXTERNAL_WATCHDOG
|
||||
-D EXTERNAL_WATCHDOG_DONE_PIN=9
|
||||
-D EXTERNAL_WATCHDOG_WAKE_PIN=10
|
||||
-D EXTERNAL_WATCHDOG_TIMEOUT_MS=480000 ;(6*60*1000) ; 6 minute watchdog
|
||||
|
||||
build_src_filter = ${nrf52_base.build_src_filter}
|
||||
+<helpers/*.cpp>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ VolatileRTCClock fallback_clock;
|
|||
AutoDiscoverRTCClock rtc_clock(fallback_clock);
|
||||
MicroNMEALocationProvider nmea = MicroNMEALocationProvider(Serial1);
|
||||
SolarSensorManager sensors = SolarSensorManager(nmea);
|
||||
SolarExWatchdog ex_watchdog;
|
||||
SolarExternalWatchdog external_watchdog;
|
||||
|
||||
#ifdef DISPLAY_CLASS
|
||||
DISPLAY_CLASS display;
|
||||
|
|
@ -123,34 +123,34 @@ bool SolarSensorManager::setSettingValue(const char* name, const char* value) {
|
|||
return false; // not supported
|
||||
}
|
||||
|
||||
bool SolarExWatchdog::begin() {
|
||||
bool SolarExternalWatchdog::begin() {
|
||||
next_feed_watchdog = 0;
|
||||
pinMode(EX_WATCHDOG_WAKE_PIN, INPUT);
|
||||
pinMode(EX_WATCHDOG_DONE_PIN, OUTPUT);
|
||||
pinMode(EXTERNAL_WATCHDOG_WAKE_PIN, INPUT);
|
||||
pinMode(EXTERNAL_WATCHDOG_DONE_PIN, OUTPUT);
|
||||
delay(1);
|
||||
digitalWrite(EX_WATCHDOG_DONE_PIN, LOW);
|
||||
digitalWrite(EXTERNAL_WATCHDOG_DONE_PIN, LOW);
|
||||
delay(1);
|
||||
feed();
|
||||
return true;
|
||||
}
|
||||
void SolarExWatchdog::loop() {
|
||||
void SolarExternalWatchdog::loop() {
|
||||
if (millis() > next_feed_watchdog) {
|
||||
feed();
|
||||
next_feed_watchdog = millis() + EX_WATCHDOG_TIMEOUT_MS;
|
||||
next_feed_watchdog = millis() + EXTERNAL_WATCHDOG_TIMEOUT_MS;
|
||||
}
|
||||
}
|
||||
|
||||
unsigned long SolarExWatchdog::getIntervalMs() const {
|
||||
unsigned long SolarExternalWatchdog::getIntervalMs() const {
|
||||
unsigned long interval_ms = 0;
|
||||
interval_ms = next_feed_watchdog - millis();
|
||||
if(interval_ms > EX_WATCHDOG_TIMEOUT_MS) {
|
||||
interval_ms = EX_WATCHDOG_TIMEOUT_MS;
|
||||
if(interval_ms > EXTERNAL_WATCHDOG_TIMEOUT_MS) {
|
||||
interval_ms = EXTERNAL_WATCHDOG_TIMEOUT_MS;
|
||||
}
|
||||
return interval_ms;
|
||||
}
|
||||
|
||||
void SolarExWatchdog::feed() {
|
||||
digitalWrite(EX_WATCHDOG_DONE_PIN, HIGH);
|
||||
void SolarExternalWatchdog::feed() {
|
||||
digitalWrite(EXTERNAL_WATCHDOG_DONE_PIN, HIGH);
|
||||
delay(1);
|
||||
digitalWrite(EX_WATCHDOG_DONE_PIN, LOW);
|
||||
digitalWrite(EXTERNAL_WATCHDOG_DONE_PIN, LOW);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
#include <helpers/AutoDiscoverRTCClock.h>
|
||||
#include <helpers/SensorManager.h>
|
||||
#include <helpers/sensors/LocationProvider.h>
|
||||
#include <helpers/ExWatchdogManager.h>
|
||||
#include <helpers/ExternalWatchdogManager.h>
|
||||
#ifdef DISPLAY_CLASS
|
||||
#include <helpers/ui/ST7789Display.h>
|
||||
#endif
|
||||
|
|
@ -31,9 +31,9 @@ public:
|
|||
bool setSettingValue(const char* name, const char* value) override;
|
||||
};
|
||||
|
||||
class SolarExWatchdog : public ExWatchdogManager {
|
||||
class SolarExternalWatchdog : public ExternalWatchdogManager {
|
||||
public:
|
||||
SolarExWatchdog() {}
|
||||
SolarExternalWatchdog() {}
|
||||
bool begin() override;
|
||||
void loop() override;
|
||||
unsigned long getIntervalMs() const override;
|
||||
|
|
@ -44,7 +44,7 @@ extern MeshSolarBoard board;
|
|||
extern WRAPPER_CLASS radio_driver;
|
||||
extern AutoDiscoverRTCClock rtc_clock;
|
||||
extern SolarSensorManager sensors;
|
||||
extern SolarExWatchdog ex_watchdog;
|
||||
extern SolarExternalWatchdog external_watchdog;
|
||||
|
||||
#ifdef DISPLAY_CLASS
|
||||
extern DISPLAY_CLASS display;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue