thermferm/thermferm.h

changeset 259
b7c967359771
parent 248
870d0be6880d
child 262
d0014ccec615
equal deleted inserted replaced
258:e02393b29733 259:b7c967359771
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 */
232 int lcd_address; /* LCD display i2c address */ 275 int lcd_address; /* LCD display i2c address */
233 #endif 276 #endif
234 units_list *units; /* Fermenter units */ 277 units_list *units; /* Fermenter units */
235 profiles_list *profiles; /* Ferment profiles */ 278 profiles_list *profiles; /* Ferment profiles */
236 devices_list *devices; /* Sensors and switches */ 279 devices_list *devices; /* Sensors and switches */
280 #ifdef USE_SIMULATOR
281 simulator_list *simulators; /* Simulators */
282 #endif
237 } sys_config; 283 } sys_config;
238 284
239 285
240 286
241 #endif 287 #endif

mercurial