NetMeterbusMaster/overCurrentProt.h
Wolfgang Hottgenroth ca8ed709b8 initial
2014-05-14 19:37:04 +02:00

57 lines
1.2 KiB
C++

#ifndef OVERCURRENTPROT_H_
#define OVERCURRENTPROT_H_
#include "cmd.h"
#define CURRENT_SHUTDOWN 5
#define CURRENT_ON 0
#define CURRENT_OFF 1
#define CURRENT_INTERRUPT 3
const unsigned long TURN_ON_DELAY = 2000; // ms
class OverCurrentProt;
class OverCurrentProtCmd : public Cmd {
public:
OverCurrentProtCmd(OverCurrentProt *overCurrentProt);
virtual String getCmdName() { return "OCPC"; }
virtual String getHelp() { return "OCP count"; }
virtual String exec(String params);
private:
OverCurrentProt *m_overCurrentProt;
};
class OverCurrentResetCmd : public Cmd {
public:
OverCurrentResetCmd(OverCurrentProt *overCurrentProt);
virtual String getCmdName() { return "OCRST"; }
virtual String getHelp() { return "OCP reset"; }
virtual String exec(String params);
private:
OverCurrentProt *m_overCurrentProt;
};
class OverCurrentProt {
public:
OverCurrentProt();
void begin(CmdServer *cmdServer);
void exec();
uint32_t getEventCnt() { return m_eventCnt; };
void resetEventCnt() { m_eventCnt = 0; };
private:
OverCurrentProtCmd m_overCurrentProtCmd;
OverCurrentResetCmd m_overCurrentResetCmd;
uint32_t m_eventCnt;
unsigned long m_timestamp;
};
#endif /* OVERCURRENTPROT_H_ */