@@ -208,12 +208,12 @@ M5IOE1::~M5IOE1() {
208208
209209#ifdef ARDUINO
210210
211- bool M5IOE1::begin (TwoWire *wire, uint8_t addr, uint8_t sda, uint8_t scl, uint32_t speed, m5ioe1_int_mode_t mode ) {
211+ bool M5IOE1::begin (TwoWire *wire, uint8_t addr, uint8_t sda, uint8_t scl, uint32_t speed, int8_t intPin, m5ioe1_int_mode_t intMode ) {
212212 _wire = wire;
213213 _addr = addr;
214214 _sda = sda; // 保存 SDA 引脚用于 I2C 重新初始化
215215 _scl = scl; // 保存 SCL 引脚用于 I2C 重新初始化
216- _intPin = - 1 ;
216+ _intPin = intPin ;
217217
218218 // 验证 I2C 频率 - M5IOE1 仅支持 100KHz 或 400KHz
219219 // Validate I2C frequency - M5IOE1 only supports 100KHz or 400KHz
@@ -306,31 +306,21 @@ bool M5IOE1::begin(TwoWire *wire, uint8_t addr, uint8_t sda, uint8_t scl, uint32
306306
307307 M5IOE1_LOG_I (TAG, " M5IOE1 initialized at address 0x%02X (I2C: %lu Hz)" , _addr, _requestedSpeed);
308308
309- // 如果未禁用, 设置中断模式
310- // Set interrupt mode if not disabled
311- if (mode != M5IOE1_INT_MODE_DISABLED) {
312- setInterruptMode (mode );
309+ // 步骤7: 设置中断模式
310+ // Step 7: Set interrupt mode
311+ if (intMode != M5IOE1_INT_MODE_DISABLED) {
312+ setInterruptMode (intMode );
313313 }
314314
315315 return true ;
316316}
317317
318- bool M5IOE1::begin (TwoWire *wire, uint8_t addr, uint8_t sda, uint8_t scl, uint32_t speed, int8_t intPin, m5ioe1_int_mode_t mode) {
319- if (!begin (wire, addr, sda, scl, speed, M5IOE1_INT_MODE_DISABLED)) return false ;
320-
321- _intPin = intPin;
322- if (_intPin >= 0 ) {
323- return setInterruptMode (mode);
324- }
325- return true ;
326- }
327-
328318#else // ESP-IDF
329319
330320// =====================================================
331321// Type 1A: Self-created I2C bus, no hardware interrupt
332322// =====================================================
333- bool M5IOE1::begin (i2c_port_t port, uint8_t addr, int sda, int scl, uint32_t speed, m5ioe1_int_mode_t mode ) {
323+ bool M5IOE1::begin (i2c_port_t port, uint8_t addr, int sda, int scl, uint32_t speed, m5ioe1_int_mode_t intMode ) {
334324 _addr = addr;
335325 _busExternal = false ;
336326 _i2cDriverType = M5IOE1_I2C_DRIVER_SELF_CREATED;
@@ -476,8 +466,8 @@ bool M5IOE1::begin(i2c_port_t port, uint8_t addr, int sda, int scl, uint32_t spe
476466
477467 // 如果未禁用,设置中断模式
478468 // Set interrupt mode if not disabled
479- if (mode != M5IOE1_INT_MODE_DISABLED) {
480- setInterruptMode (mode );
469+ if (intMode != M5IOE1_INT_MODE_DISABLED) {
470+ setInterruptMode (intMode );
481471 }
482472
483473 return true ;
@@ -486,22 +476,22 @@ bool M5IOE1::begin(i2c_port_t port, uint8_t addr, int sda, int scl, uint32_t spe
486476// =====================================================
487477// Type 1B: Self-created I2C bus, with hardware interrupt
488478// =====================================================
489- bool M5IOE1::begin (i2c_port_t port, uint8_t addr, int sda, int scl, uint32_t speed, int intPin, m5ioe1_int_mode_t mode ) {
479+ bool M5IOE1::begin (i2c_port_t port, uint8_t addr, int sda, int scl, uint32_t speed, int intPin, m5ioe1_int_mode_t intMode ) {
490480 if (!begin (port, addr, sda, scl, speed, M5IOE1_INT_MODE_DISABLED)) {
491481 return false ;
492482 }
493-
483+
494484 _intPin = intPin;
495485 if (_intPin >= 0 ) {
496- return setInterruptMode (mode );
486+ return setInterruptMode (intMode );
497487 }
498488 return true ;
499489}
500490
501491// =====================================================
502492// Type 2A: Existing i2c_master_bus_handle_t, no hardware interrupt
503493// =====================================================
504- bool M5IOE1::begin (i2c_master_bus_handle_t bus, uint8_t addr, uint32_t speed, m5ioe1_int_mode_t mode ) {
494+ bool M5IOE1::begin (i2c_master_bus_handle_t bus, uint8_t addr, uint32_t speed, m5ioe1_int_mode_t intMode ) {
505495 _addr = addr;
506496 _busExternal = true ;
507497 _i2cDriverType = M5IOE1_I2C_DRIVER_MASTER;
@@ -616,8 +606,8 @@ bool M5IOE1::begin(i2c_master_bus_handle_t bus, uint8_t addr, uint32_t speed, m5
616606
617607 M5IOE1_LOG_I (TAG, " M5IOE1 initialized at address 0x%02X (I2C: %lu Hz)" , _addr, _requestedSpeed);
618608
619- if (mode != M5IOE1_INT_MODE_DISABLED) {
620- setInterruptMode (mode );
609+ if (intMode != M5IOE1_INT_MODE_DISABLED) {
610+ setInterruptMode (intMode );
621611 }
622612
623613 return true ;
@@ -626,22 +616,22 @@ bool M5IOE1::begin(i2c_master_bus_handle_t bus, uint8_t addr, uint32_t speed, m5
626616// =====================================================
627617// Type 2B: Existing i2c_master_bus_handle_t, with hardware interrupt
628618// =====================================================
629- bool M5IOE1::begin (i2c_master_bus_handle_t bus, uint8_t addr, uint32_t speed, int intPin, m5ioe1_int_mode_t mode ) {
619+ bool M5IOE1::begin (i2c_master_bus_handle_t bus, uint8_t addr, uint32_t speed, int intPin, m5ioe1_int_mode_t intMode ) {
630620 if (!begin (bus, addr, speed, M5IOE1_INT_MODE_DISABLED)) {
631621 return false ;
632622 }
633-
623+
634624 _intPin = intPin;
635625 if (_intPin >= 0 ) {
636- return setInterruptMode (mode );
626+ return setInterruptMode (intMode );
637627 }
638628 return true ;
639629}
640630
641631// =====================================================
642632// Type 3A: Existing i2c_bus_handle_t, no hardware interrupt
643633// =====================================================
644- bool M5IOE1::begin (i2c_bus_handle_t bus, uint8_t addr, uint32_t speed, m5ioe1_int_mode_t mode ) {
634+ bool M5IOE1::begin (i2c_bus_handle_t bus, uint8_t addr, uint32_t speed, m5ioe1_int_mode_t intMode ) {
645635 _addr = addr;
646636 _busExternal = true ;
647637 _i2cDriverType = M5IOE1_I2C_DRIVER_BUS;
@@ -734,8 +724,8 @@ bool M5IOE1::begin(i2c_bus_handle_t bus, uint8_t addr, uint32_t speed, m5ioe1_in
734724
735725 M5IOE1_LOG_I (TAG, " M5IOE1 initialized at address 0x%02X (I2C: %lu Hz)" , _addr, _requestedSpeed);
736726
737- if (mode != M5IOE1_INT_MODE_DISABLED) {
738- setInterruptMode (mode );
727+ if (intMode != M5IOE1_INT_MODE_DISABLED) {
728+ setInterruptMode (intMode );
739729 }
740730
741731 return true ;
@@ -744,28 +734,28 @@ bool M5IOE1::begin(i2c_bus_handle_t bus, uint8_t addr, uint32_t speed, m5ioe1_in
744734// =====================================================
745735// Type 3B: Existing i2c_bus_handle_t, with hardware interrupt
746736// =====================================================
747- bool M5IOE1::begin (i2c_bus_handle_t bus, uint8_t addr, uint32_t speed, int intPin, m5ioe1_int_mode_t mode ) {
737+ bool M5IOE1::begin (i2c_bus_handle_t bus, uint8_t addr, uint32_t speed, int intPin, m5ioe1_int_mode_t intMode ) {
748738 if (!begin (bus, addr, speed, M5IOE1_INT_MODE_DISABLED)) {
749739 return false ;
750740 }
751-
741+
752742 _intPin = intPin;
753743 if (_intPin >= 0 ) {
754- return setInterruptMode (mode );
744+ return setInterruptMode (intMode );
755745 }
756746 return true ;
757747}
758748
759749#endif
760750
761- bool M5IOE1::setInterruptMode (m5ioe1_int_mode_t mode , uint32_t pollingIntervalMs) {
762- _intMode = mode ;
751+ bool M5IOE1::setInterruptMode (m5ioe1_int_mode_t intMode , uint32_t pollingIntervalMs) {
752+ _intMode = intMode ;
763753 _pollingInterval = pollingIntervalMs;
764754
765755#ifdef ARDUINO
766756 _cleanupPollingArduino ();
767757
768- if (mode == M5IOE1_INT_MODE_POLLING) {
758+ if (intMode == M5IOE1_INT_MODE_POLLING) {
769759 return _setupPollingArduino ();
770760 }
771761 // Arduino 上的硬件中断模式需要 attachInterrupt
@@ -775,9 +765,9 @@ bool M5IOE1::setInterruptMode(m5ioe1_int_mode_t mode, uint32_t pollingIntervalMs
775765#else
776766 _cleanupInterrupt ();
777767
778- if (mode == M5IOE1_INT_MODE_POLLING) {
768+ if (intMode == M5IOE1_INT_MODE_POLLING) {
779769 return _setupPolling ();
780- } else if (mode == M5IOE1_INT_MODE_HARDWARE) {
770+ } else if (intMode == M5IOE1_INT_MODE_HARDWARE) {
781771 if (_intPin < 0 ) {
782772 M5IOE1_LOG_E (TAG, " Hardware interrupt mode requires interrupt pin" );
783773 return false ;
0 commit comments