Change Wire.write() return types from void to size_t to be compatible with the Arduino API

This commit is contained in:
Roger Clark 2018-05-23 18:03:38 +10:00
parent 6a551bd9ab
commit 6548456957
2 changed files with 18 additions and 12 deletions

View File

@ -95,27 +95,33 @@ uint8 WireBase::requestFrom(int address, int numBytes) {
return WireBase::requestFrom((uint8)address, numBytes);
}
void WireBase::write(uint8 value) {
size_t WireBase::write(uint8 value) {
if (tx_buf_idx == BUFFER_LENGTH) {
tx_buf_overflow = true;
return;
return 0;
}
tx_buf[tx_buf_idx++] = value;
itc_msg.length++;
return 1;
}
void WireBase::write(uint8* buf, int len) {
size_t WireBase::write(uint8* buf, int len) {
for (uint8 i = 0; i < len; i++) {
write(buf[i]);
if (!write(buf[i]))
{
return i;
}
}
return len;
}
void WireBase::write(int value) {
write((uint8)value);
size_t WireBase::write(int value) {
return write((uint8)value);
}
void WireBase::write(int* buf, int len) {
write((uint8*)buf, (uint8)len);
size_t WireBase::write(int* buf, int len) {
return write((uint8*)buf, (uint8)len);
}
void WireBase::write(char* buf) {

View File

@ -108,22 +108,22 @@ public:
/*
* Stack up bytes to be sent when transmitting
*/
void write(uint8);
size_t write(uint8);
/*
* Stack up bytes from the array to be sent when transmitting
*/
void write(uint8*, int);
size_t write(uint8*, int);
/*
* Ensure that a sending data will only be 8-bit bytes
*/
void write(int);
size_t write(int);
/*
* Ensure that an array sending data will only be 8-bit bytes
*/
void write(int*, int);
size_t write(int*, int);
/*
* Stack up bytes from a string to be sent when transmitting