Added Switch Case in writeDigitalOut

modified:   src/main.cpp
This commit is contained in:
chschloetel 2024-11-02 18:32:13 +01:00
parent e9a626df0a
commit ded26ae930

View File

@ -15,7 +15,7 @@
// Register Arrays für Modbus
uint8_t ReadCoilRegister[] = {0, 1, 2};
uint8_t output_pins[] = {0,1};
uint8_t output_pins[] = {0,1,2,3};
uint8_t ReadInputRegister[] = {0,1,2,3,4,5,6,7};
uint8_t HoldingRegister[] = {0};
@ -46,12 +46,24 @@ uint8_t writeDigitalOut(uint8_t fc, uint16_t address, uint16_t length) {
}
for (uint16_t i = 0; i < length; i++) {
if (slave.readCoilFromBuffer(i) == 1) {
digitalWrite(OutPutPin, HIGH);
} else {
digitalWrite(OutPutPin, LOW);
}
switch (i) {
case 0:
digitalWrite(OutPutPin, slave.readCoilFromBuffer(i) == 1 ? HIGH : LOW);
break;
case 1:
break;
case 2:
break;
case 3:
digitalWrite(OutPutPin, slave.readCoilFromBuffer(i) == 1 ? HIGH : LOW);
break;
default:
// Optional: Handle cases where 'i' is greater than 3, if necessary
break;
}
}
return STATUS_OK;
}