-
Zoe Michaela Dietmar Pfister authoredZoe Michaela Dietmar Pfister authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
DS18B20.h 1.08 KiB
//
// Created by zoe on 3/23/23.
//
#ifndef CLIENT_SATELLITE_DS18B20_H
#define CLIENT_SATELLITE_DS18B20_H
#include <ForteSensor.hpp>
#include "DallasTemperature.h"
#include <OneWire.h>
#include <OneWireSingleton.h>
class DS18B20 : ForteSensor<std::list<Measurement>> {
public:
void setup() override;
std::list<Measurement> readData() override;
std::list<Message> buildMessages() override;
[[nodiscard]] SensorInformation getSensorInformation() const override;
private:
std::shared_ptr<OneWire> oneWire;
DallasTemperature sensors;
DeviceAddress sensorAddress;
// function to print a device address
String getAddressString(DeviceAddress deviceAddress) {
String addressString = "";
for (uint8_t i = 0; i < 8; i++) {
if (deviceAddress[i] < 16) {
addressString += "0";
}
char hexBuffer[3];
snprintf(hexBuffer, sizeof(hexBuffer), "%02X", deviceAddress[i]);
addressString += hexBuffer;
}
return addressString;
}
};
#endif // CLIENT_SATELLITE_DS18B20_H