u08 ds18b20StartAndResult(dallas_rom_id_T* rom_id, u16 *result) { u08 error; // start error = ds18b20Start(rom_id); if(error != DALLAS_NO_ERROR) return error; // wait dallasWaitUntilDone(); // return any errors - results passed by reference return ds18b20Result(rom_id,result); }
DallasError DeviceDS18B20::readPreparedState() { unsigned short oldTemperature = m_temperature; QMutexLocker locker(busMutex); DallasError error = ds18b20Result(&id, &m_temperature); if (error != DALLAS_NO_ERROR) { QString message(dallasGetErrorText(error)); emitError(message); return error; } if (m_temperature != oldTemperature) emitChannelStateChanged(0, oldTemperature, m_temperature); return error; }