1
0
mirror of https://github.com/DCC-EX/CommandStation-EX.git synced 2024-11-22 15:46:14 +01:00

Added disable logic

This commit is contained in:
peteGSX 2023-04-06 07:03:59 +10:00
parent 1b4faa92cd
commit 9571088e1b
2 changed files with 24 additions and 7 deletions

View File

@ -63,15 +63,31 @@ void IODevice::begin() {
if (exrailHalSetup) if (exrailHalSetup)
exrailHalSetup(); exrailHalSetup();
// Predefine two PCA9685 modules 0x40-0x41 // Predefine two PCA9685 modules 0x40-0x41 if no conflicts
// Allocates 32 pins 100-131 // Allocates 32 pins 100-131
PCA9685::create(100, 16, 0x40); if (checkNoOverlap(100, 16, 0x40)) {
PCA9685::create(116, 16, 0x41); PCA9685::create(100, 16, 0x40);
} else {
DIAG(F("Default PCA9685 at I2C 0x40 disabled due to configured user device"));
}
if (checkNoOverlap(116, 16, 0x41)) {
PCA9685::create(116, 16, 0x41);
} else {
DIAG(F("Default PCA9685 at I2C 0x41 disabled due to configured user device"));
}
// Predefine two MCP23017 module 0x20/0x21 // Predefine two MCP23017 module 0x20/0x21 if no conflicts
// Allocates 32 pins 164-195 // Allocates 32 pins 164-195
MCP23017::create(164, 16, 0x20); if (checkNoOverlap(164, 16, 0x20)) {
MCP23017::create(180, 16, 0x21); MCP23017::create(164, 16, 0x20);
} else {
DIAG(F("Default MCP23017 at I2C 0x20 disabled due to configured user device"));
}
if (checkNoOverlap(180, 16, 0x21)) {
MCP23017::create(180, 16, 0x21);
} else {
DIAG(F("Default MCP23017 at I2C 0x21 disabled due to configured user device"));
}
} }
// reset() function to reinitialise all devices // reset() function to reinitialise all devices

View File

@ -4,7 +4,8 @@
#include "StringFormatter.h" #include "StringFormatter.h"
#define VERSION "4.2.39" #define VERSION "4.2.40"
// 4.2.40 - Automatically detect conflicting default I2C devices and disable
// 4.2.39 - DFplayer driver now polls device to detect failures and errors. // 4.2.39 - DFplayer driver now polls device to detect failures and errors.
// 4.2.38 - Clean up compiler warning when IO_RotaryEncoder.h included // 4.2.38 - Clean up compiler warning when IO_RotaryEncoder.h included
// 4.2.37 - Add new FLAGS HAL device for communications to/from EX-RAIL; // 4.2.37 - Add new FLAGS HAL device for communications to/from EX-RAIL;