]> rtime.felk.cvut.cz Git - hydro.git/blob - app/sensor/hydroponieoi.c
Added code for second device.
[hydro.git] / app / sensor / hydroponieoi.c
1 /*
2     OBJECT INTERFACE FOR SENSOR
3 */
4
5 #include "board.h"
6
7 #define I_TEMPERATURE 100
8 #define I_TEMPERATURE_CID 110
9 #define I_HUMIDITY 200
10 #define I_HUMIDITY_CID 210
11 #define I_PERIOD 300
12
13
14 uint16_t status_val;
15 int16_t oi_temperature;
16 uint16_t oi_cid_temp;
17 int16_t oi_humidity;
18 uint16_t oi_cid_hum;
19 uint16_t oi_period;
20
21 int status_rdfnc(ULOI_PARAM_coninfo void *context)
22 {
23     return uloi_uint_rdfnc(ULOI_ARG_coninfo &status_val);
24 }
25
26 int errclr_wrfnc(ULOI_PARAM_coninfo void *context)
27 {
28     status_val=0; 
29     return 1;
30 }
31
32 /* description of input objects */
33 const ULOI_CODE uloi_objdes_t uloid_objdes_DOII =
34 ULOI_GENOBJDES_RAW(ULOI_DOII,NULL,NULL_CODE,NULL,uloi_doii_fnc,(void*)&uloi_objdes_main)
35 /* description of output objects */
36 const ULOI_CODE uloi_objdes_t uloid_objdes_DOIO =
37 ULOI_GENOBJDES_RAW(ULOI_DOIO,NULL,NULL_CODE,NULL,uloi_doio_fnc,(void*)&uloi_objdes_main)
38 /* ID numbers of recognized input objects */
39 const ULOI_CODE uloi_objdes_t uloid_objdes_QOII =
40 ULOI_GENOBJDES_RAW(ULOI_QOII,NULL,NULL_CODE,NULL,uloi_qoii_fnc,(void*)&uloi_objdes_main)
41 /* ID numbers of recognized output objects */
42 const ULOI_CODE uloi_objdes_t uloid_objdes_QOIO =
43 ULOI_GENOBJDES_RAW(ULOI_QOIO,NULL,NULL_CODE,NULL,uloi_qoio_fnc,(void*)&uloi_objdes_main)
44 /* object values read request */
45 const ULOI_CODE uloi_objdes_t uloid_objdes_RDRQ =
46 ULOI_GENOBJDES_RAW(ULOI_RDRQ,NULL,NULL_CODE,NULL,uloi_rdrq_fnc,(void*)&uloi_objdes_main)
47
48 ULOI_GENOBJDES(STATUS,ULOI_STATUS,"u2",status_rdfnc,&status_val,NULL_CODE,NULL)
49 ULOI_GENOBJDES(ERRCLR,ULOI_ERRCLR,"e",NULL_CODE,NULL,errclr_wrfnc,&status_val)
50
51 ULOI_GENOBJDES(TEMPERATURE,I_TEMPERATURE,"s2",uloi_int_rdfnc,&oi_temperature,NULL_CODE,NULL)
52 ULOI_GENOBJDES(TEMPERATURE_CID,I_TEMPERATURE_CID,"u2",uloi_uint_rdfnc,&oi_cid_temp,oi_cid_temp_wrfnc,&oi_cid_temp)
53
54 ULOI_GENOBJDES(HUMIDITY,I_HUMIDITY,"s2",uloi_int_rdfnc,&oi_humidity,NULL_CODE,NULL)
55 ULOI_GENOBJDES(HUMIDITY_CID,I_HUMIDITY_CID,"u2",uloi_uint_rdfnc,&oi_cid_hum,oi_cid_hum_wrfnc,&oi_cid_hum)
56
57 ULOI_GENOBJDES(PERIOD,I_PERIOD,"u2",uloi_uint_rdfnc,&oi_period,oi_period_wrfnc,&oi_period)
58
59 const uloi_objdes_t * ULOI_CODE uloi_objdes_main_items[]={
60     &uloid_objdes_DOII,
61     &uloid_objdes_DOIO,
62     &uloid_objdes_QOII,
63     &uloid_objdes_QOIO,
64     &uloid_objdes_RDRQ,
65
66     &uloid_objdes_STATUS,
67     &uloid_objdes_ERRCLR,
68     &uloid_objdes_TEMPERATURE,
69     &uloid_objdes_TEMPERATURE_CID,
70     &uloid_objdes_HUMIDITY,
71     &uloid_objdes_HUMIDITY_CID,
72     &uloid_objdes_PERIOD
73
74 };
75
76 const ULOI_CODE uloi_objdes_array_t uloi_objdes_main={
77     {
78         (uloi_objdes_t **)uloi_objdes_main_items,
79         sizeof(uloi_objdes_main_items)/sizeof(uloi_objdes_main_items[0]),
80         -1
81     }
82 };