From abb594bddd4e16ac9197b1557a3a24fde1d33712 Mon Sep 17 00:00:00 2001 From: JackHuang021 <92836298+JackHuang021@users.noreply.github.com> Date: Tue, 22 Apr 2025 10:28:26 +0800 Subject: [PATCH] atk_dnesp32s3: fix set xl9555 port1 output state (#525) Signed-off-by: Jack Huang --- main/boards/atk-dnesp32s3-box/atk_dnesp32s3_box.cc | 6 ++++-- main/boards/atk-dnesp32s3/atk_dnesp32s3.cc | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/main/boards/atk-dnesp32s3-box/atk_dnesp32s3_box.cc b/main/boards/atk-dnesp32s3-box/atk_dnesp32s3_box.cc index e5f4d8a7..b875c3a7 100644 --- a/main/boards/atk-dnesp32s3-box/atk_dnesp32s3_box.cc +++ b/main/boards/atk-dnesp32s3-box/atk_dnesp32s3_box.cc @@ -39,14 +39,16 @@ public: void SetOutputState(uint8_t bit, uint8_t level) { uint16_t data; + int index = bit; + if (bit < 8) { data = ReadReg(0x02); } else { data = ReadReg(0x03); - bit -= 8; + index -= 8; } - data = (data & ~(1 << bit)) | (level << bit); + data = (data & ~(1 << index)) | (level << index); if (bit < 8) { WriteReg(0x02, data); diff --git a/main/boards/atk-dnesp32s3/atk_dnesp32s3.cc b/main/boards/atk-dnesp32s3/atk_dnesp32s3.cc index 906eefa8..158c9358 100644 --- a/main/boards/atk-dnesp32s3/atk_dnesp32s3.cc +++ b/main/boards/atk-dnesp32s3/atk_dnesp32s3.cc @@ -28,14 +28,16 @@ public: void SetOutputState(uint8_t bit, uint8_t level) { uint16_t data; + int index = bit; + if (bit < 8) { data = ReadReg(0x02); } else { data = ReadReg(0x03); - bit -= 8; + index -= 8; } - data = (data & ~(1 << bit)) | (level << bit); + data = (data & ~(1 << index)) | (level << index); if (bit < 8) { WriteReg(0x02, data);