InfiniTime/src/drivers/Watchdog.h

25 lines
568 B
C
Raw Normal View History

#pragma once
2020-11-15 05:04:22 +01:00
#include <cstdint>
namespace Pinetime {
namespace Drivers {
class Watchdog {
2021-04-24 12:00:45 +03:00
public:
enum class ResetReasons { ResetPin, Watchdog, SoftReset, CpuLockup, SystemOff, LpComp, DebugInterface, NFC, HardReset };
void Setup(uint8_t timeoutSeconds);
void Start();
void Kick();
ResetReasons ResetReason() const {
return resetReason;
}
static const char* ResetReasonToString(ResetReasons reason);
2021-04-24 12:00:45 +03:00
private:
ResetReasons resetReason;
ResetReasons ActualResetReason() const;
};
}
}