mbed Weather Platform firmware http://mbed.org/users/okini3939/notebook/mbed-weather-platform-firmware/
Dependencies: EthernetNetIf SDHCFileSystem I2CLEDDisp Agentbed NTPClient_NetServices mbed BMP085 HTTPClient ConfigFile I2CLCD
conf.h@0:d7b4484099bf, 2011-05-18 (annotated)
- Committer:
- okini3939
- Date:
- Wed May 18 15:01:56 2011 +0000
- Revision:
- 0:d7b4484099bf
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
okini3939 | 0:d7b4484099bf | 1 | /** @file |
okini3939 | 0:d7b4484099bf | 2 | * @brief mbed Weather Platform |
okini3939 | 0:d7b4484099bf | 3 | */ |
okini3939 | 0:d7b4484099bf | 4 | #include "mbed.h" |
okini3939 | 0:d7b4484099bf | 5 | #include "EthernetNetIf.h" |
okini3939 | 0:d7b4484099bf | 6 | #include "I2CLEDDisp.h" |
okini3939 | 0:d7b4484099bf | 7 | #include "I2CLCD.h" |
okini3939 | 0:d7b4484099bf | 8 | |
okini3939 | 0:d7b4484099bf | 9 | #define CONFIG_FILE "weather.cfg" |
okini3939 | 0:d7b4484099bf | 10 | |
okini3939 | 0:d7b4484099bf | 11 | |
okini3939 | 0:d7b4484099bf | 12 | #define CF_MAXLEN_VALUE 128 |
okini3939 | 0:d7b4484099bf | 13 | #define CF_ACTION_EXPS 10 |
okini3939 | 0:d7b4484099bf | 14 | #define CF_ACTION_NUM 10 |
okini3939 | 0:d7b4484099bf | 15 | #define CF_TWITTER_NUM 5 |
okini3939 | 0:d7b4484099bf | 16 | |
okini3939 | 0:d7b4484099bf | 17 | enum eEXPRESSION { |
okini3939 | 0:d7b4484099bf | 18 | EXP_NULL, |
okini3939 | 0:d7b4484099bf | 19 | EXP_EQ, |
okini3939 | 0:d7b4484099bf | 20 | EXP_NE, |
okini3939 | 0:d7b4484099bf | 21 | EXP_LE, |
okini3939 | 0:d7b4484099bf | 22 | EXP_LT, |
okini3939 | 0:d7b4484099bf | 23 | EXP_GE, |
okini3939 | 0:d7b4484099bf | 24 | EXP_GT, |
okini3939 | 0:d7b4484099bf | 25 | EXP_MOD, |
okini3939 | 0:d7b4484099bf | 26 | EXP_NMOD, |
okini3939 | 0:d7b4484099bf | 27 | EXP_FALL, |
okini3939 | 0:d7b4484099bf | 28 | EXP_RISE, |
okini3939 | 0:d7b4484099bf | 29 | }; |
okini3939 | 0:d7b4484099bf | 30 | |
okini3939 | 0:d7b4484099bf | 31 | enum eINPUTTYPE { |
okini3939 | 0:d7b4484099bf | 32 | INPUT_MOIST = 0, |
okini3939 | 0:d7b4484099bf | 33 | INPUT_FALL = 1, |
okini3939 | 0:d7b4484099bf | 34 | INPUT_RISE = 2, |
okini3939 | 0:d7b4484099bf | 35 | INPUT_CPM = 4, |
okini3939 | 0:d7b4484099bf | 36 | }; |
okini3939 | 0:d7b4484099bf | 37 | |
okini3939 | 0:d7b4484099bf | 38 | struct tExpression { |
okini3939 | 0:d7b4484099bf | 39 | char key; |
okini3939 | 0:d7b4484099bf | 40 | enum eEXPRESSION expression; |
okini3939 | 0:d7b4484099bf | 41 | float value; |
okini3939 | 0:d7b4484099bf | 42 | }; |
okini3939 | 0:d7b4484099bf | 43 | |
okini3939 | 0:d7b4484099bf | 44 | struct tAction { |
okini3939 | 0:d7b4484099bf | 45 | char action; |
okini3939 | 0:d7b4484099bf | 46 | char sub; |
okini3939 | 0:d7b4484099bf | 47 | int count; |
okini3939 | 0:d7b4484099bf | 48 | struct tExpression exps[CF_ACTION_EXPS]; |
okini3939 | 0:d7b4484099bf | 49 | }; |
okini3939 | 0:d7b4484099bf | 50 | |
okini3939 | 0:d7b4484099bf | 51 | struct Sensor { |
okini3939 | 0:d7b4484099bf | 52 | float pres, temp, humi, light, anemo, vane, rain, uv, moist, temp2; |
okini3939 | 0:d7b4484099bf | 53 | }; |
okini3939 | 0:d7b4484099bf | 54 | |
okini3939 | 0:d7b4484099bf | 55 | struct Config { |
okini3939 | 0:d7b4484099bf | 56 | int interval; |
okini3939 | 0:d7b4484099bf | 57 | IpAddr ipaddr, netmask, gateway, nameserver; |
okini3939 | 0:d7b4484099bf | 58 | char ntpserver[32]; |
okini3939 | 0:d7b4484099bf | 59 | int filetype, actionscount; |
okini3939 | 0:d7b4484099bf | 60 | struct tAction actions[CF_ACTION_NUM]; |
okini3939 | 0:d7b4484099bf | 61 | char pachube_apikey[70], pachube_feedid[8]; |
okini3939 | 0:d7b4484099bf | 62 | char twitter_user[30], twitter_pwd[30], twitter_mesg[CF_TWITTER_NUM][CF_MAXLEN_VALUE]; |
okini3939 | 0:d7b4484099bf | 63 | char stations_id[8], stations_pin[34]; |
okini3939 | 0:d7b4484099bf | 64 | char snmp_commname[30]; |
okini3939 | 0:d7b4484099bf | 65 | char lcd_mesg[CF_MAXLEN_VALUE]; |
okini3939 | 0:d7b4484099bf | 66 | enum I2CLCDType lcdtype; |
okini3939 | 0:d7b4484099bf | 67 | enum I2CLCDConfig lcdconf; |
okini3939 | 0:d7b4484099bf | 68 | char leddisp_mesg[CF_MAXLEN_VALUE]; |
okini3939 | 0:d7b4484099bf | 69 | enum eINPUTTYPE inputtype; |
okini3939 | 0:d7b4484099bf | 70 | }; |
okini3939 | 0:d7b4484099bf | 71 | |
okini3939 | 0:d7b4484099bf | 72 | int config (char *); |