]> rtime.felk.cvut.cz Git - hydro.git/blob - app/hydro/hydroponieoi.c
Adding embedded-hydro file structure
[hydro.git] / app / hydro / hydroponieoi.c
1 /*
2     OBJECT INTERFACE FOR HYDRO
3 */
4
5 #include <uloi_base.h>
6 #include "hydroponie.h"
7
8 #define I_TEMPERATURE 100
9 #define I_CID_TEMP 110
10 #define I_PER_TEMP 120
11 #define I_HUMIDITY 200
12 #define I_CID_HUM 210
13 #define I_PER_HUM 220
14
15
16 uint16_t status_val;
17 // promene ktere jsou v headeru jako extern musi byt deklarovany normalne i ve fci kde je pouzivam
18 int16_t oi_temperature;
19 int16_t oi_cid_temp;
20 int16_t oi_per_temp;
21 int16_t oi_humidity;
22 int16_t oi_cid_hum;
23 int16_t oi_per_hum;
24
25 int status_rdfnc(ULOI_PARAM_coninfo void *context)
26 {
27     return uloi_uint_rdfnc(ULOI_ARG_coninfo &status_val);
28 }
29
30 int errclr_wrfnc(ULOI_PARAM_coninfo void *context)
31 {
32     status_val=0;
33     return 1;
34 }
35
36 /* description of input objects */
37 const ULOI_CODE uloi_objdes_t uloid_objdes_DOII =
38 ULOI_GENOBJDES_RAW(ULOI_DOII,NULL,NULL_CODE,NULL,uloi_doii_fnc,(void*)&uloi_objdes_main)
39 /* description of output objects */
40 const ULOI_CODE uloi_objdes_t uloid_objdes_DOIO =
41 ULOI_GENOBJDES_RAW(ULOI_DOIO,NULL,NULL_CODE,NULL,uloi_doio_fnc,(void*)&uloi_objdes_main)
42 /* ID numbers of recognized input objects */
43 const ULOI_CODE uloi_objdes_t uloid_objdes_QOII =
44 ULOI_GENOBJDES_RAW(ULOI_QOII,NULL,NULL_CODE,NULL,uloi_qoii_fnc,(void*)&uloi_objdes_main)
45 /* ID numbers of recognized output objects */
46 const ULOI_CODE uloi_objdes_t uloid_objdes_QOIO =
47 ULOI_GENOBJDES_RAW(ULOI_QOIO,NULL,NULL_CODE,NULL,uloi_qoio_fnc,(void*)&uloi_objdes_main)
48 /* object values read request */
49 const ULOI_CODE uloi_objdes_t uloid_objdes_RDRQ =
50 ULOI_GENOBJDES_RAW(ULOI_RDRQ,NULL,NULL_CODE,NULL,uloi_rdrq_fnc,(void*)&uloi_objdes_main)
51
52 ULOI_GENOBJDES(STATUS,ULOI_STATUS,"u2",status_rdfnc,&status_val,NULL_CODE,NULL)
53 ULOI_GENOBJDES(ERRCLR,ULOI_ERRCLR,"e",NULL_CODE,NULL,errclr_wrfnc,&status_val)
54 ULOI_GENOBJDES(TEMPERATURE,I_TEMPERATURE,"s2",oi_temperature_rdfnc,&oi_temperature,NULL_CODE,NULL)
55 ULOI_GENOBJDES(CID_TEMP,I_CID_TEMP,"u2",uloi_uint_rdfnc,&oi_cid_temp,oi_cid_temp_wrfnc,&oi_cid_temp)
56 ULOI_GENOBJDES(PER_TEMP,I_PER_TEMP,"u2",uloi_uint_rdfnc,&oi_per_temp,oi_per_temp_wrfnc,&oi_per_temp)
57 ULOI_GENOBJDES(HUMIDITY,I_HUMIDITY,"s2",oi_humidity_rdfnc,&oi_temperature,NULL_CODE,NULL)
58 ULOI_GENOBJDES(CID_HUM,I_CID_HUM,"u2",uloi_uint_rdfnc,&oi_cid_hum,oi_cid_hum_wrfnc,&oi_cid_hum)
59 ULOI_GENOBJDES(PER_HUM,I_PER_HUM,"u2",uloi_uint_rdfnc,&oi_per_hum,oi_per_hum_wrfnc,&oi_per_hum)
60
61 const uloi_objdes_t * ULOI_CODE uloi_objdes_main_items[]={
62     &uloid_objdes_DOII,
63     &uloid_objdes_DOIO,
64     &uloid_objdes_QOII,
65     &uloid_objdes_QOIO,
66     &uloid_objdes_RDRQ,
67
68     &uloid_objdes_STATUS,
69     &uloid_objdes_ERRCLR,
70     &uloid_objdes_TEMPERATURE,
71     &uloid_objdes_CID_TEMP,
72     &uloid_objdes_PER_TEMP,
73     &uloid_objdes_HUMIDITY,
74     &uloid_objdes_CID_HUM,
75     &uloid_objdes_PER_HUM
76
77 };
78
79 const ULOI_CODE uloi_objdes_array_t uloi_objdes_main={
80     {
81         /*(void *)*/(uloi_objdes_t **)uloi_objdes_main_items,
82         sizeof(uloi_objdes_main_items)/sizeof(uloi_objdes_main_items[0]),
83         -1
84     }
85 };