mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-23 18:56:38 +00:00
Change mcp230xx_config bits and do some housekeeping on formatting
This commit is contained in:
parent
8e845fc723
commit
6818f8d92a
@ -154,11 +154,11 @@ typedef union {
|
||||
typedef union {
|
||||
uint8_t data;
|
||||
struct {
|
||||
uint8_t pinmode : 3; // Pin mode (1 through 5)
|
||||
uint8_t pinmode : 3; // Pin mode (1 through 6)
|
||||
uint8_t pullup : 1; // Enable internal weak pull-up resistor
|
||||
uint8_t saved_state : 1; // Save output state, if used.
|
||||
uint8_t b5 : 1;
|
||||
uint8_t b6 : 1;
|
||||
uint8_t int_event_enable : 1; // Enable interrupt to cause immediate event transmit
|
||||
uint8_t int_tele_enable : 1; // Enable interrupt to cause immediate telemetry transmit
|
||||
uint8_t b7 : 1;
|
||||
};
|
||||
} Mcp230xxCfg;
|
||||
|
@ -271,14 +271,14 @@ void MCP230xx_SetOutPin(uint8_t pin,uint8_t pinstate) {
|
||||
}
|
||||
} else {
|
||||
portpins &= ~(1 << pin+pinadd-(port*8)),portpins ^= (1 << pin-(port*8));
|
||||
}
|
||||
} else {
|
||||
if (pinstate < 2) {
|
||||
if (pinstate) portpins |= (1 << pin-(port*8)); else portpins &= ~(1 << pin-(port*8));
|
||||
}
|
||||
} else {
|
||||
if (pinstate < 2) {
|
||||
if (pinstate) portpins |= (1 << pin-(port*8)); else portpins &= ~(1 << pin-(port*8));
|
||||
} else {
|
||||
portpins ^= (1 << pin-(port*8));
|
||||
}
|
||||
}
|
||||
portpins ^= (1 << pin-(port*8));
|
||||
}
|
||||
}
|
||||
I2cWrite8(mcp230xx_address, MCP230xx_GPIO + port, portpins);
|
||||
if (Settings.flag.save_state) { // Firmware configured to save last known state in settings
|
||||
Settings.mcp230xx_config[pin].saved_state=portpins>>(pin-(port*8))&1;
|
||||
@ -297,8 +297,8 @@ void MCP230xx_Reset(uint8_t pinmode) {
|
||||
Settings.mcp230xx_config[pinx].pinmode=pinmode;
|
||||
Settings.mcp230xx_config[pinx].pullup=pullup;
|
||||
Settings.mcp230xx_config[pinx].saved_state=0;
|
||||
Settings.mcp230xx_config[pinx].b5=0;
|
||||
Settings.mcp230xx_config[pinx].b6=0;
|
||||
Settings.mcp230xx_config[pinx].int_event_enable=0;
|
||||
Settings.mcp230xx_config[pinx].int_tele_enable=0;
|
||||
Settings.mcp230xx_config[pinx].b7=0;
|
||||
}
|
||||
MCP230xx_ApplySettings();
|
||||
|
Loading…
x
Reference in New Issue
Block a user