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