main/task_ds18b20.h

changeset 0
b74b0e4902c3
child 1
ad2c8b13eb88
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/task_ds18b20.h	Sat Oct 20 13:23:15 2018 +0200
@@ -0,0 +1,48 @@
+
+/**
+ * @file task_ds18b20.h
+ * @brief The FreeRTOS task to query the DS18B20 sensors on one or two
+ *        one-wire busses. Each bus must have only one sensor. That way
+ *        we don't need to care about the DS18B20 internal ROM address.
+ *        The task will update the DS18B20_State structure.
+ *
+ * Using a compile setting with make menuconfig it is possible to compile
+ * a simulator instead of real hardware sensors. The simulator includes
+ * fake kettles so that the temperature actually changes with the 
+ * activation of the kettle Solid State Relays. Only usefull for developers.
+ */
+
+#ifndef	_TASK_DS18B20_H
+#define	_TASK_DS18B20_H
+
+/*
+ * Error codes in this task
+ */
+#define	DS18B20_ERR_NONE		0
+#define DS18B20_ERR_NOSENSOR		1
+#define	DS18B20_ERR_TOOMANY		2
+#define	DS18B20_ERR_CRC			3
+#define	DS18B20_ERR_READ		4
+
+
+/**
+ * @brief Structure containing the variables for the DS18B20 task.
+ */
+typedef struct {
+    bool   mlt_valid;			///< MLT sensor valid reading.
+    double mlt_temperature;		///< Current MLT temperature.
+    int    mlt_error;			///< MLT error number.
+    bool   hlt_valid;			///< HLT sensor valid reading.
+    double hlt_temperature;		///< Current HLT temperature.
+    int    hlt_error;			///< HLT error number.
+} DS18B20_State;
+
+
+/**
+ * @brief The FreeRTOS task to update the DS18B20 temperature sensors.
+ */
+void task_ds18b20(void *);
+
+
+#endif
+

mercurial