]> rtime.felk.cvut.cz Git - hydro.git/blobdiff - app-stefic/sensor/hydroponieoi.c
Renamed top directory.
[hydro.git] / app-stefic / sensor / hydroponieoi.c
diff --git a/app-stefic/sensor/hydroponieoi.c b/app-stefic/sensor/hydroponieoi.c
new file mode 100644 (file)
index 0000000..03e529a
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+    OBJECT INTERFACE FOR SENSOR
+*/
+
+#include "board.h"
+
+#define I_TEMPERATURE 100
+#define I_TEMPERATURE_CID 110
+#define I_HUMIDITY 200
+#define I_HUMIDITY_CID 210
+#define I_PERIOD 300
+
+
+uint16_t status_val;
+int16_t oi_temperature;
+uint16_t oi_cid_temp;
+int16_t oi_humidity;
+uint16_t oi_cid_hum;
+uint16_t oi_period;
+
+int status_rdfnc(ULOI_PARAM_coninfo void *context)
+{
+    return uloi_uint_rdfnc(ULOI_ARG_coninfo &status_val);
+}
+
+int errclr_wrfnc(ULOI_PARAM_coninfo void *context)
+{
+    status_val=0; 
+    return 1;
+}
+
+/* description of input objects */
+const ULOI_CODE uloi_objdes_t uloid_objdes_DOII =
+ULOI_GENOBJDES_RAW(ULOI_DOII,NULL,NULL_CODE,NULL,uloi_doii_fnc,(void*)&uloi_objdes_main)
+/* description of output objects */
+const ULOI_CODE uloi_objdes_t uloid_objdes_DOIO =
+ULOI_GENOBJDES_RAW(ULOI_DOIO,NULL,NULL_CODE,NULL,uloi_doio_fnc,(void*)&uloi_objdes_main)
+/* ID numbers of recognized input objects */
+const ULOI_CODE uloi_objdes_t uloid_objdes_QOII =
+ULOI_GENOBJDES_RAW(ULOI_QOII,NULL,NULL_CODE,NULL,uloi_qoii_fnc,(void*)&uloi_objdes_main)
+/* ID numbers of recognized output objects */
+const ULOI_CODE uloi_objdes_t uloid_objdes_QOIO =
+ULOI_GENOBJDES_RAW(ULOI_QOIO,NULL,NULL_CODE,NULL,uloi_qoio_fnc,(void*)&uloi_objdes_main)
+/* object values read request */
+const ULOI_CODE uloi_objdes_t uloid_objdes_RDRQ =
+ULOI_GENOBJDES_RAW(ULOI_RDRQ,NULL,NULL_CODE,NULL,uloi_rdrq_fnc,(void*)&uloi_objdes_main)
+
+ULOI_GENOBJDES(STATUS,ULOI_STATUS,"u2",status_rdfnc,&status_val,NULL_CODE,NULL)
+ULOI_GENOBJDES(ERRCLR,ULOI_ERRCLR,"e",NULL_CODE,NULL,errclr_wrfnc,&status_val)
+
+ULOI_GENOBJDES(TEMPERATURE,I_TEMPERATURE,"s2",uloi_int_rdfnc,&oi_temperature,NULL_CODE,NULL)
+ULOI_GENOBJDES(TEMPERATURE_CID,I_TEMPERATURE_CID,"u2",uloi_uint_rdfnc,&oi_cid_temp,oi_cid_temp_wrfnc,&oi_cid_temp)
+
+ULOI_GENOBJDES(HUMIDITY,I_HUMIDITY,"s2",uloi_int_rdfnc,&oi_humidity,NULL_CODE,NULL)
+ULOI_GENOBJDES(HUMIDITY_CID,I_HUMIDITY_CID,"u2",uloi_uint_rdfnc,&oi_cid_hum,oi_cid_hum_wrfnc,&oi_cid_hum)
+
+ULOI_GENOBJDES(PERIOD,I_PERIOD,"u2",uloi_uint_rdfnc,&oi_period,oi_period_wrfnc,&oi_period)
+
+const uloi_objdes_t * ULOI_CODE uloi_objdes_main_items[]={
+    &uloid_objdes_DOII,
+    &uloid_objdes_DOIO,
+    &uloid_objdes_QOII,
+    &uloid_objdes_QOIO,
+    &uloid_objdes_RDRQ,
+
+    &uloid_objdes_STATUS,
+    &uloid_objdes_ERRCLR,
+    &uloid_objdes_TEMPERATURE,
+    &uloid_objdes_TEMPERATURE_CID,
+    &uloid_objdes_HUMIDITY,
+    &uloid_objdes_HUMIDITY_CID,
+    &uloid_objdes_PERIOD
+
+};
+
+const ULOI_CODE uloi_objdes_array_t uloi_objdes_main={
+    {
+        (uloi_objdes_t **)uloi_objdes_main_items,
+        sizeof(uloi_objdes_main_items)/sizeof(uloi_objdes_main_items[0]),
+        -1
+    }
+};