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

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?

UserRevisionLine numberNew 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 *);