From a07e656a567fde5c83ebfe3890ec337eba3bfbcd Mon Sep 17 00:00:00 2001 From: Matthew Date: Tue, 17 Dec 2024 00:53:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/cpp/GPIOControl.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/src/main/cpp/GPIOControl.h b/app/src/main/cpp/GPIOControl.h index 80257b66..8083e095 100644 --- a/app/src/main/cpp/GPIOControl.h +++ b/app/src/main/cpp/GPIOControl.h @@ -434,21 +434,25 @@ public: PowerControl(int cmd1) : m_delayCloseTime(0) { m_cmds.resize(1, cmd1); + TurnOn(); } PowerControl(int cmd1, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) { m_cmds.resize(1, cmd1); + TurnOn(); } PowerControl(int cmd1, int cmd2, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) { m_cmds.resize(2, cmd1); m_cmds[1] = cmd2; + TurnOn(); } PowerControl(int cmd1, int cmd2, int cmd3, uint32_t closeDelayTime) : m_delayCloseTime(closeDelayTime) { m_cmds.resize(3, cmd1); m_cmds[1] = cmd2; m_cmds[2] = cmd3; + TurnOn(); } 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[2] = cmd3; m_cmds[3] = cmd3; + TurnOn(); } 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[3] = cmd3; 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 m_cmds; uint32_t m_delayCloseTime; };