internal virtual bool DeviceExecute(I2cXAction xAction) { try { DeviceBeginTransaction(); foreach (I2cXActionUnit unit in xAction.XActionUnits) { if (unit.IsRead) { DeviceRead(unit.Data); } else { DeviceWrite(unit.Data); } } DeviceEndTransaction(); } catch (Exception) { return(false); } return(true); }
bool II2cDriver.Enqueue(I2cXAction xAction) { bool success = GetI2cDevice(xAction.Address).DeviceExecute(xAction); // We are emulating this synchronously, and the tranaction can only complete successfully or not at all. xAction.Status = (success) ? I2cStatus.Completed : I2cStatus.Aborted; Emulator.SetSystemEvents(Microsoft.SPOT.Emulator.Events.SystemEvents.I2C_XACTION); return(success); }
internal override bool DeviceExecute(I2cXAction xAction) { return(false); }