Пример #1
0
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);	
}
Пример #2
0
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;
}