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