File tree Expand file tree Collapse file tree 3 files changed +15
-1
lines changed Expand file tree Collapse file tree 3 files changed +15
-1
lines changed Original file line number Diff line number Diff line change 354
354
# ifndef HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS
355
355
# define HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS (0)
356
356
# endif // HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS
357
+ # ifndef HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT
358
+ # define HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT (0)
359
+ # endif // HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT
357
360
#endif /* HAL_PLATFORM_MCP23S17 */
358
361
359
362
#ifndef HAL_PLATFORM_DEMUX
Original file line number Diff line number Diff line change @@ -135,9 +135,19 @@ int Mcp23s17::reset(bool verify) {
135
135
hal_gpio_write (IOE_RST, 1 );
136
136
HAL_Delay_Milliseconds (10 );
137
137
138
+ #if HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS || HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT
139
+ uint8_t iocon {};
140
+
138
141
#if HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS
139
- CHECK (writeRegister (IOCON_ADDR[0 ], 1u << 6 ));
142
+ iocon |= 1u << 6 ;
143
+ #endif
144
+ #if HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT
145
+ iocon |= 1u << 2 ;
140
146
#endif
147
+
148
+ CHECK (writeRegister (IOCON_ADDR[0 ], iocon));
149
+ #endif
150
+
141
151
if (verify) {
142
152
uint8_t tmp[22 ] = {0x00 };
143
153
CHECK (readContinuousRegisters (IODIR_ADDR[0 ], tmp, sizeof (tmp)));
Original file line number Diff line number Diff line change 34
34
#define HAL_PLATFORM_MCP23S17_SPI (HAL_SPI_INTERFACE1)
35
35
#define HAL_PLATFORM_MCP23S17_SPI_CLOCK (16000000)
36
36
#define HAL_PLATFORM_MCP23S17_MIRROR_INTERRUPTS (1)
37
+ #define HAL_PLATFORM_MCP23S17_OPEN_DRAIN_INT (1)
37
38
#define HAL_PLATFORM_DEMUX (1)
38
39
39
40
#if defined(MODULE_FUNCTION ) && MODULE_FUNCTION != 2 // MOD_FUNC_BOOTLOADER
You can’t perform that action at this time.
0 commit comments