mirror of
https://github.com/DCC-EX/CommandStation-EX.git
synced 2025-02-16 22:19:14 +01:00
Update IO_PCF8574.h
Correct handling of input in immediate mode,
This commit is contained in:
parent
d7fd9e1538
commit
53113e981d
@ -75,7 +75,7 @@ private:
|
|||||||
if (immediate) {
|
if (immediate) {
|
||||||
uint8_t buffer[1];
|
uint8_t buffer[1];
|
||||||
I2CManager.read(_I2CAddress, buffer, 1);
|
I2CManager.read(_I2CAddress, buffer, 1);
|
||||||
_portInputState = ((uint16_t)buffer) & 0xff;
|
_portInputState = buffer[0];
|
||||||
} else {
|
} else {
|
||||||
requestBlock.wait(); // Wait for preceding operation to complete
|
requestBlock.wait(); // Wait for preceding operation to complete
|
||||||
// Issue new request to read GPIO register
|
// Issue new request to read GPIO register
|
||||||
@ -86,7 +86,7 @@ private:
|
|||||||
// This function is invoked when an I/O operation on the requestBlock completes.
|
// This function is invoked when an I/O operation on the requestBlock completes.
|
||||||
void _processCompletion(uint8_t status) override {
|
void _processCompletion(uint8_t status) override {
|
||||||
if (status == I2C_STATUS_OK)
|
if (status == I2C_STATUS_OK)
|
||||||
_portInputState = ((uint16_t)inputBuffer[0]) & 0xff;
|
_portInputState = inputBuffer[0];
|
||||||
else
|
else
|
||||||
_portInputState = 0xff;
|
_portInputState = 0xff;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user