|
|
|
|
157
|
LPC_I2C1->I2DAT = data & I2C_I2DAT_BITMASK; // transmit data
|
157
|
LPC_I2C1->I2DAT = data & I2C_I2DAT_BITMASK; // transmit data
|
158
|
LPC_I2C1->I2CONSET = I2C_I2CONSET_AA;
|
158
|
LPC_I2C1->I2CONSET = I2C_I2CONSET_AA;
|
159
|
LPC_I2C1->I2CONCLR = I2C_I2CONCLR_SIC;
|
159
|
LPC_I2C1->I2CONCLR = I2C_I2CONCLR_SIC;
|
160
|
- millis_t timeout = _millis + I2C_TIMEOUT;
|
|
|
161
|
- while ((I2C_status != I2C_I2STAT_M_TX_DAT_ACK) && (I2C_status != I2C_I2STAT_M_TX_DAT_NACK) && (timeout > _millis)); // wait for xmit to finish
|
|
|
|
|
160
|
+ const millis_t timeout = _millis + I2C_TIMEOUT;
|
|
|
161
|
+ while ((I2C_status != I2C_I2STAT_M_TX_DAT_ACK) && (I2C_status != I2C_I2STAT_M_TX_DAT_NACK) && PENDING(_millis, timeout)); // wait for xmit to finish
|
162
|
// had hangs with SH1106 so added time out - have seen temporary screen corruption when this happens
|
162
|
// had hangs with SH1106 so added time out - have seen temporary screen corruption when this happens
|
163
|
return 1;
|
163
|
return 1;
|
164
|
}
|
164
|
}
|