@@ -42,7 +42,7 @@ static volatile uint8_t twi_state;
42
42
static volatile uint8_t twi_slarw ;
43
43
static volatile uint8_t twi_sendStop ; // should the transaction end with a stop
44
44
static volatile uint8_t twi_inRepStart ; // in the middle of a repeated start
45
- static volatile uint16_t twi_timeout_us = 0 ;
45
+ static volatile uint32_t twi_timeout_us = 0ul ;
46
46
47
47
static void (* twi_onSlaveTransmit )(void );
48
48
static void (* twi_onSlaveReceive )(uint8_t * , int );
@@ -157,7 +157,7 @@ uint8_t twi_readFrom(uint8_t address, uint8_t* data, uint8_t length, uint8_t sen
157
157
// wait until twi is ready, become master receiver
158
158
uint32_t startMicros = micros ();
159
159
while (TWI_READY != twi_state ){
160
- if ((twi_timeout_us > 0 ) && (micros () - startMicros > twi_timeout_us )) {
160
+ if ((twi_timeout_us > 0ul ) && (micros () - startMicros > twi_timeout_us )) {
161
161
twi_handleTimeout ();
162
162
return 0 ;
163
163
}
@@ -201,7 +201,7 @@ uint8_t twi_readFrom(uint8_t address, uint8_t* data, uint8_t length, uint8_t sen
201
201
// wait for read operation to complete
202
202
startMicros = micros ();
203
203
while (TWI_MRX == twi_state ){
204
- if ((twi_timeout_us > 0 ) && (micros () - startMicros > twi_timeout_us )) {
204
+ if ((twi_timeout_us > 0ul ) && (micros () - startMicros > twi_timeout_us )) {
205
205
twi_handleTimeout ();
206
206
return 0 ;
207
207
}
@@ -246,7 +246,7 @@ uint8_t twi_writeTo(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait
246
246
// wait until twi is ready, become master transmitter
247
247
uint32_t startMicros = micros ();
248
248
while (TWI_READY != twi_state ){
249
- if ((twi_timeout_us > 0 ) && (micros () - startMicros > twi_timeout_us )) {
249
+ if ((twi_timeout_us > 0ul ) && (micros () - startMicros > twi_timeout_us )) {
250
250
twi_handleTimeout ();
251
251
return 4 ;
252
252
}
@@ -293,7 +293,7 @@ uint8_t twi_writeTo(uint8_t address, uint8_t* data, uint8_t length, uint8_t wait
293
293
// wait for write operation to complete
294
294
startMicros = micros ();
295
295
while (wait && (TWI_MTX == twi_state )){
296
- if ((twi_timeout_us > 0 ) && (micros () - startMicros > twi_timeout_us )) {
296
+ if ((twi_timeout_us > 0ul ) && (micros () - startMicros > twi_timeout_us )) {
297
297
twi_handleTimeout ();
298
298
return 4 ;
299
299
}
@@ -397,7 +397,7 @@ void twi_stop(void)
397
397
uint32_t counter = 0 ;
398
398
while (TWCR & _BV (TWSTO )){
399
399
counter ++ ;
400
- if ((twi_timeout_us > 0 ) && (counter >= 25000 )) {
400
+ if ((twi_timeout_us > 0ul ) && (counter >= 25000 )) {
401
401
twi_handleTimeout ();
402
402
return ;
403
403
}
@@ -430,7 +430,7 @@ void twi_releaseBus(void)
430
430
* Input timeout value in microseconds
431
431
* Output none
432
432
*/
433
- void twi_setTimeoutInMicros (uint16_t timeout )
433
+ void twi_setTimeoutInMicros (uint32_t timeout )
434
434
{
435
435
twi_timeout_us = timeout ;
436
436
}
0 commit comments