Extended MaximInterface
Dependents: mbed_DS28EC20_GPIO
Diff: Links/I2CMaster.cpp
- Revision:
- 8:211d1b8f730c
- Parent:
- 6:a8c83a2e6fa4
--- a/Links/I2CMaster.cpp Tue Jul 24 08:33:31 2018 +0000 +++ b/Links/I2CMaster.cpp Wed Apr 03 12:33:10 2019 +0000 @@ -35,20 +35,21 @@ namespace MaximInterface { -error_code I2CMaster::writeBlock(const uint_least8_t * data, size_t dataLen) { +error_code I2CMaster::writeBlock(span<const uint_least8_t> data) { error_code result; - for (size_t i = 0; (i < dataLen) && !result; i++) { + for (span<const uint_least8_t>::index_type i = 0; + i < data.size() && !result; ++i) { result = writeByte(data[i]); } return result; } error_code I2CMaster::writePacketImpl(uint_least8_t address, - const uint_least8_t * data, - size_t dataLen, bool sendStop) { + span<const uint_least8_t> data, + bool sendStop) { error_code result = start(address & 0xFE); if (!result) { - result = writeBlock(data, dataLen); + result = writeBlock(data); } if (sendStop) { error_code stopResult = stop(); @@ -59,21 +60,19 @@ return result; } -error_code I2CMaster::readBlock(AckStatus status, uint_least8_t * data, - size_t dataLen) { +error_code I2CMaster::readBlock(AckStatus status, span<uint_least8_t> data) { error_code result; - for (size_t i = 0; (i < dataLen) && !result; i++) { - result = readByte(i == (dataLen - 1) ? status : Ack, data[i]); + for (span<uint_least8_t>::index_type i = 0; i < data.size() && !result; ++i) { + result = readByte(i == (data.size() - 1) ? status : Ack, data[i]); } return result; } error_code I2CMaster::readPacketImpl(uint_least8_t address, - uint_least8_t * data, size_t dataLen, - bool sendStop) { + span<uint_least8_t> data, bool sendStop) { error_code result = start(address | 0x01); if (!result) { - result = readBlock(Nack, data, dataLen); + result = readBlock(Nack, data); } if (sendStop) { error_code stopResult = stop(); @@ -102,4 +101,4 @@ return instance; } -} // namespace MaximInterface \ No newline at end of file +} // namespace MaximInterface