]> rtime.felk.cvut.cz Git - hydro.git/blob - app-stefic/control/hydroponieoi.c
Renamed top directory.
[hydro.git] / app-stefic / control / hydroponieoi.c
1 /*
2     OBJECT INTERFACE FOR CONTROL
3 */
4
5 #include "board.h"
6
7 #define I_FAN 400
8 #define I_FAN_CID 410
9 #define I_HUMIDIFIER 500
10 #define I_HUMIDIFIER_CID 510
11 #define I_LIGHT 600
12 #define I_LIGHT_CID 610
13 #define I_PERIOD 700
14
15
16 uint16_t status_val;
17 uint16_t oi_fan;
18 uint16_t oi_cid_fan;
19 uint16_t oi_humidifier;
20 uint16_t oi_cid_humidifier;
21 uint16_t oi_light;
22 uint16_t oi_cid_light;
23 uint16_t oi_period;
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
55 ULOI_GENOBJDES(FAN,I_FAN,"u2",uloi_uint_rdfnc,&oi_fan,oi_fan_wrfnc,&oi_fan)
56 ULOI_GENOBJDES(FAN_CID,I_FAN_CID,"u2",uloi_uint_rdfnc,&oi_cid_fan,oi_cid_fan_wrfnc,&oi_cid_fan)
57
58 ULOI_GENOBJDES(HUMIDIFIER,I_HUMIDIFIER,"u2",uloi_uint_rdfnc,&oi_humidifier,oi_humidifier_wrfnc,&oi_humidifier)
59 ULOI_GENOBJDES(HUMIDIFIER_CID,I_HUMIDIFIER_CID,"u2",uloi_uint_rdfnc,&oi_cid_humidifier,oi_cid_humidifier_wrfnc,&oi_cid_humidifier)
60
61 ULOI_GENOBJDES(LIGHT,I_LIGHT,"u2",uloi_uint_rdfnc,&oi_light,oi_light_wrfnc,&oi_light)
62 ULOI_GENOBJDES(LIGHT_CID,I_LIGHT_CID,"u2",uloi_uint_rdfnc,&oi_cid_light,oi_cid_light_wrfnc,&oi_cid_light)
63
64 ULOI_GENOBJDES(PERIOD,I_PERIOD,"u2",uloi_uint_rdfnc,&oi_period,oi_period_wrfnc,&oi_period)
65
66 const uloi_objdes_t * ULOI_CODE uloi_objdes_main_items[]={
67     &uloid_objdes_DOII,
68     &uloid_objdes_DOIO,
69     &uloid_objdes_QOII,
70     &uloid_objdes_QOIO,
71     &uloid_objdes_RDRQ,
72
73     &uloid_objdes_STATUS,
74     &uloid_objdes_ERRCLR,
75     &uloid_objdes_FAN,
76     &uloid_objdes_FAN_CID,
77     &uloid_objdes_HUMIDIFIER,
78     &uloid_objdes_HUMIDIFIER_CID,
79     &uloid_objdes_LIGHT,
80     &uloid_objdes_LIGHT_CID,
81     &uloid_objdes_PERIOD
82
83 };
84
85 const ULOI_CODE uloi_objdes_array_t uloi_objdes_main={
86     {
87         (uloi_objdes_t **)uloi_objdes_main_items,
88         sizeof(uloi_objdes_main_items)/sizeof(uloi_objdes_main_items[0]),
89         -1
90     }
91 };