Greenhouse  Viktor Vrablik 2017
greenhouse.h
Go to the documentation of this file.
1 
11 #ifndef SOURCES_GREENHOUSE_H_
12 #define SOURCES_GREENHOUSE_H_
13 
27 #include "stdbool.h"
28 
29 #define I2C_RTC (0b1010000)
30 #define I2C_TEMP_ONKIT (0b1001000)
31 #define I2C_HMDT_ONKIT (0b0100111)
32 #define I2C_HMDTTEMP_MODEL (0b1000000)
34 #define HUM1_ANALOG (15)
35 #define HUM2_ANALOG (9)
37 #define WATER_PUMP1 (5)
38 #define WATER_PUMP2 (4)
40 //
41 
46 typedef struct MeasuredData{
47  uint32_t humidityKit;
48  uint32_t temperatureKit;
49  uint16_t humidityGreenH;
50  uint16_t temperatureGreenH;
51  uint16_t humiditySoil1;
52  uint16_t humiditySoil2;
54 
59 typedef struct myTimeStruct{
60  int8_t seconds;
61  int8_t minutes;
62  int8_t hours;
63  int8_t day;
64  int8_t month;
65  int8_t weekday;
66 } myTime_t;
67 
71 typedef struct WateringInfo{
72  bool enabled;
74  uint8_t watteringSeconds;
75  uint8_t pump;
77 
85 uint8_t bin2bcd(uint8_t binary2convert);
86 
94 uint8_t bcd2bin(uint8_t bcd2convert);
95 
101 void Greenhouse_Initialize();
102 
110 
117 
124 
131 
139 
146 void Greenhouse_RTC_SetTime(myTime_t timeToSet);
147 
154 void Greenhouse_Model_Wattering(myTime_t aktualT, WateringInfo_t wateringInfo);
155 
163 
170 
177 
183 bool Greenhouse_Medel_ToggleCover(bool aktualStatus);
184 
185 #endif /* SOURCES_GREENHOUSE_H_ */
int8_t seconds
Definition: greenhouse.h:60
bool enabled
Definition: greenhouse.h:72
void Greenhouse_Model_Wattering(myTime_t aktualT, WateringInfo_t wateringInfo)
Funkce spoustejici zavlazovani.
Definition: greenhouse.c:205
bool Greenhouse_Medel_ToggleCover(bool aktualStatus)
Funkce prepinajici stav stresniho krytu.
Definition: greenhouse.c:359
uint8_t pump
Definition: greenhouse.h:75
struct MeasuredData MeasuredData_t
Datovy typ pro ukladani vsech namerenych hodnot.
uint32_t temperatureKit
Definition: greenhouse.h:48
uint32_t humidityKit
Definition: greenhouse.h:47
void Greenhouse_Model_MeasureHumidity(MeasuredData_t *data)
Funkce merici relativni vlhkost vzduchu uvnitr modelu skleniku.
Definition: greenhouse.c:291
uint8_t watteringSeconds
Definition: greenhouse.h:74
Datovy typ pro ukladani casu a datumu.
Definition: greenhouse.h:59
uint16_t humiditySoil1
Definition: greenhouse.h:51
myTime_t Greenhouse_RTC_GetTime()
Funkce pro zjisteni aktualniho casu z RTC modulu.
Definition: greenhouse.c:437
int8_t weekday
Definition: greenhouse.h:65
struct myTimeStruct myTime_t
Datovy typ pro ukladani casu a datumu.
myTime_t watteringStart
Definition: greenhouse.h:73
int8_t minutes
Definition: greenhouse.h:61
void Greenhouse_EduKit_MeasureHumidity(MeasuredData_t *data)
Funkce merici relativni vlhkost z vyukoveho kitu - prevzato z frdm_vyuka ukazkovy program i2c_demo...
Definition: greenhouse.c:166
uint8_t bin2bcd(uint8_t binary2convert)
Fukce prevadi 8b cislo v binarnim zapisu do BCD kodu.
Definition: greenhouse.c:393
Datovy typ pro ukladani vsech namerenych hodnot.
Definition: greenhouse.h:46
uint16_t temperatureGreenH
Definition: greenhouse.h:50
int8_t month
Definition: greenhouse.h:64
void Greenhouse_RTC_TimeStart()
Funkce pozastavi cinost rtc modulu.
Definition: greenhouse.c:413
struct WateringInfo WateringInfo_t
Datovy typ pro ukladani informaci o nastavenem zavlazovani.
void Greenhouse_Model_MeasureTemperature(MeasuredData_t *data)
Funkce merici teplotu uvnitr modelu skleniku.
Definition: greenhouse.c:326
int8_t day
Definition: greenhouse.h:63
void Greenhouse_RTC_SetTime(myTime_t timeToSet)
Funkce nastavi do RTC modulu novy cas a datum.
Definition: greenhouse.c:473
void Greenhouse_Initialize()
Inicializace modelu skleniku.
Definition: greenhouse.c:43
uint16_t humidityGreenH
Definition: greenhouse.h:49
void Greenhouse_EduKit_MeasureTemperature(MeasuredData_t *data)
Funkce merici teplotu z vyukoveho kitu - prevzato z frdm_vyuka ukazkovy program i2c_demo.
Definition: greenhouse.c:130
void Greenhouse_Model_MeasureSoilHumidity(MeasuredData_t *data, int side)
Funkce merici relativni vlhkost pudy.
Definition: greenhouse.c:238
void Greenhouse_RTC_TimeStop()
Funkce spousti rtc modul.
Definition: greenhouse.c:425
uint8_t bcd2bin(uint8_t bcd2convert)
Fukce prevadi 8b cislo v BCD kodovani do standartniho tvaru.
Definition: greenhouse.c:403
uint16_t humiditySoil2
Definition: greenhouse.h:52
int8_t hours
Definition: greenhouse.h:62
Datovy typ pro ukladani informaci o nastavenem zavlazovani.
Definition: greenhouse.h:71