199 #define DEVTYPE_GPIO 2 /* GPIO I/O device */ |
199 #define DEVTYPE_GPIO 2 /* GPIO I/O device */ |
200 #define DEVTYPE_RC433 3 /* 433 MHz device */ |
200 #define DEVTYPE_RC433 3 /* 433 MHz device */ |
201 #define DEVTYPE_DHT 4 /* DHT type device on GPIO */ |
201 #define DEVTYPE_DHT 4 /* DHT type device on GPIO */ |
202 #define DEVTYPE_I2C 5 /* I2C bus device */ |
202 #define DEVTYPE_I2C 5 /* I2C bus device */ |
203 #define DEVTYPE_SPI 6 /* SPI bus device */ |
203 #define DEVTYPE_SPI 6 /* SPI bus device */ |
|
204 #ifdef USE_SIMULATOR |
|
205 #define DEVTYPE_SIM 7 /* Simulated device */ |
|
206 #endif |
204 |
207 |
205 #define DEVPRESENT_UNDEF 0 /* Precence not testable */ |
208 #define DEVPRESENT_UNDEF 0 /* Precence not testable */ |
206 #define DEVPRESENT_NO 1 /* Device is missing */ |
209 #define DEVPRESENT_NO 1 /* Device is missing */ |
207 #define DEVPRESENT_YES 2 /* Device is detected */ |
210 #define DEVPRESENT_YES 2 /* Device is detected */ |
208 #define DEVPRESENT_ERROR 3 /* Device is in error */ |
211 #define DEVPRESENT_ERROR 3 /* Device is in error */ |
213 #define DEVDIR_IN_ANALOG 3 /* Temperature input etc. */ |
216 #define DEVDIR_IN_ANALOG 3 /* Temperature input etc. */ |
214 #define DEVDIR_OUT_ANALOG 4 /* Analog steering */ |
217 #define DEVDIR_OUT_ANALOG 4 /* Analog steering */ |
215 #define DEVDIR_OUT_PWM 5 /* PWM outout */ |
218 #define DEVDIR_OUT_PWM 5 /* PWM outout */ |
216 #define DEVDIR_INTERN 6 /* Internal function */ |
219 #define DEVDIR_INTERN 6 /* Internal function */ |
217 |
220 |
|
221 #ifdef USE_SIMULATOR |
|
222 |
|
223 /* |
|
224 * The frigo is a simulation of a fridge with a heating device. |
|
225 * It has a volume air, a volume of your beer. There is a simulated |
|
226 * thermal sensor that measures the air and one that measures the beer. |
|
227 * It looks like a normal live setup. |
|
228 */ |
|
229 typedef struct _simulator { |
|
230 struct _simulator *next; |
|
231 int version; /* Version of this record */ |
|
232 char *uuid; /* Simulator uuid */ |
|
233 char *name; /* Simulator name */ |
|
234 int volume_air; /* Volume air of the frigo */ |
|
235 int volume_beer; /* Volume beer inside frigo */ |
|
236 float room_temperature; /* Temp outside frigo */ |
|
237 float air_temperature; /* Simulated air temperature */ |
|
238 float beer_temperature; /* Simulated beer temperature */ |
|
239 float cooler_temp; /* Lowest cooler temperature */ |
|
240 int cooler_time; /* Time to reach temperature */ |
|
241 float cooler_size; /* Size of cooler in square mtr */ |
|
242 float heater_temp; /* Highest heater temperature */ |
|
243 int heater_time; /* Time to reach temperature */ |
|
244 float heater_size; /* Size of heater in square mtr */ |
|
245 int heater_state; /* Heater status */ |
|
246 int cooler_state; /* Cooler status */ |
|
247 float frigo_isolation; /* Frigo isolation value */ |
|
248 /* |
|
249 * Status values, maintained by the simulator but stored |
|
250 * here so they don't get lost over program restarts. |
|
251 */ |
|
252 float s_yeast_heat; /* Heat generated by yeast */ |
|
253 time_t s_yeast_started; /* Start date/time fermentation */ |
|
254 float s_cool_temp; /* Temp cooler */ |
|
255 float s_heat_temp; /* Temp heater */ |
|
256 time_t s_cool_changed; /* Start date/time cooler */ |
|
257 time_t s_heat_changed; /* Start date/time heater */ |
|
258 } simulator_list; |
|
259 |
|
260 #endif |
218 |
261 |
219 typedef struct _sys_config { |
262 typedef struct _sys_config { |
220 char *name; /* Configuration name */ |
263 char *name; /* Configuration name */ |
221 int my_port; /* my client/server port */ |
264 int my_port; /* my client/server port */ |
222 unsigned char tempFormat; /* Temperature format, C or F */ |
265 unsigned char tempFormat; /* Temperature format, C or F */ |