23 dallasTemperature.setOneWire(&oneWire);
24 dallasTemperature.begin();
25 dallasTemperature.setWaitForConversion(
false);
30 double getTemperature(
const uint8_t *address)
override {
31 return dallasTemperature.getTempC(address);
34 double getTemperature(uint8_t idx) {
35 if (idx >= MULTI_DS_MAX_DEVICES_COUNT) {
36 return TEMPERATURE_NOT_AVAILABLE;
39 auto sensor = sensors[idx];
40 if (sensor ==
nullptr) {
41 return TEMPERATURE_NOT_AVAILABLE;
44 return sensor->getValue();
48 if (idx < MULTI_DS_MAX_DEVICES_COUNT) {
70 dallasTemperature.setWaitForConversion(synchronous);
75 DallasTemperature dallasTemperature;
77 int refreshSensorsCount()
override {
78 oneWire.reset_search();
79 dallasTemperature.begin();
81 return dallasTemperature.getDeviceCount();
84 void requestTemperatures()
override {
85 dallasTemperature.requestTemperatures();
88 bool getSensorAddress(uint8_t *address,
int index)
override {
89 return dallasTemperature.getAddress(address, index);