GY-63_MS5611/libraries/DS18B20_INT/DS18B20_INT.h
2023-02-04 13:31:19 +01:00

66 lines
1.4 KiB
C++

#pragma once
//
// FILE: DS18B20_INT.h
// AUTHOR: Rob.Tillaart@gmail.com
// VERSION: 0.2.2
// DATE: 2017-07-25
// PUPROSE: Minimalistic library for DS18B20 temperature sensor
// uses only integer math (no float to minimize footprint)
// URL: https://github.com/RobTillaart/DS18B20_INT
// https://github.com/RobTillaart/DS18B20_RT
//
// BOTTOM VIEW
//
// PIN MEANING
// /---+
// / o | 1 GND
// | o | 2 DATA
// \ o | 3 VCC
// \---+
//
#define DS18B20_INT_LIB_VERSION (F("0.2.2"))
#include "Arduino.h"
#include "OneWire.h"
// Error Code
#define DEVICE_DISCONNECTED -127
typedef uint8_t DeviceAddress[8];
class DS18B20_INT
{
public:
explicit DS18B20_INT(OneWire * ow);
bool begin(uint8_t retries = 3);
bool isConnected(uint8_t retries = 3);
void requestTemperatures(void);
int16_t getTempC(void);
bool isConversionComplete(void);
bool getAddress(uint8_t* buf);
bool setResolution(uint8_t bits = 9);
uint8_t getResolution(); // returns cached value
int16_t getTempCentiC(void);
private:
DeviceAddress _deviceAddress;
OneWire* _oneWire;
bool _addressFound;
uint8_t _resolution;
int16_t _readRaw();
bool _setResolution();
};
// -- END OF FILE --