From 2c40f4a0e5c9e9bda8d3b59553abf01abe97c5cd Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Tue, 20 Jan 2015 15:51:50 +0100 Subject: i2c: twRequests returns false if bus is busy --- i2c.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'i2c.c') diff --git a/i2c.c b/i2c.c index bbee35b..54e1f29 100644 --- a/i2c.c +++ b/i2c.c @@ -66,11 +66,15 @@ void twInit () { twr.status = TWST_OK; } -/* high-level write +/* high-level write, returns false if bus is busy */ bool twRequest (const twMode mode, const uint8_t address, const uint8_t subaddress, uint8_t * const data, const uint8_t count) { - assert (twr.status == TWST_OK); + /* busy */ + if (twr.status != TWST_OK) { + return false; + } + assert (count > 0); assert (data != NULL); -- cgit v1.2.3