call McuPowerState.update();
}
- async command void SpiByte.write( uint8_t tx, uint8_t* rx ) {
+ async command uint8_t SpiByte.write( uint8_t tx ) {
call Spi.write( tx );
while ( !( SPSR & 0x80 ) );
- *rx = call Spi.read();
+ return call Spi.read();
}
for (;tmpPos < (end - 1) ; tmpPos++) {
uint8_t val;
if (tx != NULL)
- call SpiByte.write( tx[tmpPos], &val );
+ val = call SpiByte.write( tx[tmpPos] );
else
- call SpiByte.write( 0, &val );
+ val = call SpiByte.write( 0 );
if (rx != NULL) {
rx[tmpPos] = val;
return call ResourceArbiter.request[ id ]();
}
- async command void Resource.release[ uint8_t id ]() {
- call ResourceArbiter.release[ id ]();
+ async command error_t Resource.release[ uint8_t id ]() {
+ error_t error = call ResourceArbiter.release[ id ]();
atomic {
if (!call ArbiterInfo.inUse()) {
stopSpi();
}
}
+ return error;
}
async command uint8_t Resource.isOwner[uint8_t id]() {