调整实现

N938
Matthew 6 months ago
parent 66a4fa7f00
commit a07e656a56

@ -434,21 +434,25 @@ public:
PowerControl(int cmd1) : m_delayCloseTime(0) PowerControl(int cmd1) : m_delayCloseTime(0)
{ {
m_cmds.resize(1, cmd1); m_cmds.resize(1, cmd1);
TurnOn();
} }
PowerControl(int cmd1, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) PowerControl(int cmd1, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime)
{ {
m_cmds.resize(1, cmd1); m_cmds.resize(1, cmd1);
TurnOn();
} }
PowerControl(int cmd1, int cmd2, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) PowerControl(int cmd1, int cmd2, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime)
{ {
m_cmds.resize(2, cmd1); m_cmds.resize(2, cmd1);
m_cmds[1] = cmd2; m_cmds[1] = cmd2;
TurnOn();
} }
PowerControl(int cmd1, int cmd2, int cmd3, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) PowerControl(int cmd1, int cmd2, int cmd3, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime)
{ {
m_cmds.resize(3, cmd1); m_cmds.resize(3, cmd1);
m_cmds[1] = cmd2; m_cmds[1] = cmd2;
m_cmds[2] = cmd3; m_cmds[2] = cmd3;
TurnOn();
} }
PowerControl(int cmd1, int cmd2, int cmd3, int cmd4, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) PowerControl(int cmd1, int cmd2, int cmd3, int cmd4, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime)
{ {
@ -456,6 +460,7 @@ public:
m_cmds[1] = cmd2; m_cmds[1] = cmd2;
m_cmds[2] = cmd3; m_cmds[2] = cmd3;
m_cmds[3] = cmd3; m_cmds[3] = cmd3;
TurnOn();
} }
PowerControl(int cmd1, int cmd2, int cmd3, int cmd4, int cmd5, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) PowerControl(int cmd1, int cmd2, int cmd3, int cmd4, int cmd5, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime)
{ {
@ -464,18 +469,21 @@ public:
m_cmds[2] = cmd3; m_cmds[2] = cmd3;
m_cmds[3] = cmd3; m_cmds[3] = cmd3;
m_cmds[4] = cmd4; m_cmds[4] = cmd4;
TurnOn();
} }
void TurnOn() virtual ~PowerControl()
{ {
GpioControl::TurnOn(m_cmds); GpioControl::TurnOff(m_cmds, m_delayCloseTime);
} }
virtual ~PowerControl() protected:
void TurnOn()
{ {
GpioControl::TurnOff(m_cmds, m_delayCloseTime); GpioControl::TurnOn(m_cmds);
} }
private:
protected:
std::vector<int> m_cmds; std::vector<int> m_cmds;
uint32_t m_delayCloseTime; uint32_t m_delayCloseTime;
}; };

Loading…
Cancel
Save