Extended MaximInterface
Dependents: mbed_DS28EC20_GPIO
Diff: Devices/DS2413.cpp
- Revision:
- 6:a8c83a2e6fa4
- Parent:
- 0:f77ad7f72d04
--- a/Devices/DS2413.cpp Fri Jan 19 10:25:02 2018 -0600 +++ b/Devices/DS2413.cpp Wed Jan 23 13:11:04 2019 -0600 @@ -40,10 +40,7 @@ uint_least8_t val; const error_code result = pioAccessRead(val); if (!result) { - status.pioAInputState = (val & 0x1) == 0x1; - status.pioAOutputState = (val & 0x2) == 0x2; - status.pioBInputState = (val & 0x4) == 0x4; - status.pioBOutputState = (val & 0x8) == 0x8; + status = val; } return result; } @@ -77,7 +74,7 @@ error_code result = selectRom(*master); if (!result) { uint_least8_t block[] = {0x5A, val, static_cast<uint_least8_t>(val ^ 0xFF)}; - result = master->writeBlock(block, sizeof(block) / sizeof(block[0])); + result = master->writeBlock(block); if (!result) { result = master->readByte(block[0]); if (!result && block[0] != 0xAA) { @@ -97,10 +94,8 @@ switch (condition) { case CommunicationError: return "Communication Error"; - - default: - return defaultErrorMessage(condition); } + return defaultErrorMessage(condition); } } instance; return instance; @@ -109,8 +104,9 @@ error_code writePioAOutputState(DS2413 & ds2413, bool pioAState) { DS2413::Status status; error_code result = ds2413.readStatus(status); - if (!result && pioAState != status.pioAOutputState) { - result = ds2413.writeOutputState(pioAState, status.pioBOutputState); + if (!result && pioAState != status[DS2413::PioAOutputState]) { + result = + ds2413.writeOutputState(pioAState, status[DS2413::PioBOutputState]); } return result; } @@ -118,8 +114,9 @@ error_code writePioBOutputState(DS2413 & ds2413, bool pioBState) { DS2413::Status status; error_code result = ds2413.readStatus(status); - if (!result && pioBState != status.pioBOutputState) { - result = ds2413.writeOutputState(status.pioAOutputState, pioBState); + if (!result && pioBState != status[DS2413::PioBOutputState]) { + result = + ds2413.writeOutputState(status[DS2413::PioAOutputState], pioBState); } return result; }