mbed Weather Platform firmware http://mbed.org/users/okini3939/notebook/mbed-weather-platform-firmware/
Dependencies: ChaNFSSD EthernetNetIf I2CLEDDisp Agentbed ChaNFSUSB ILinterpreter mbed BMP085 WeatherMeters ConfigFile ChaNFS I2CLCD
Diff: weather.h
- Revision:
- 0:bdb53686c194
- Child:
- 1:6c7141895545
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/weather.h Mon Jul 04 15:16:45 2011 +0000 @@ -0,0 +1,81 @@ +#include "mbed.h" +#include "ConfigFile.h" +#include "EthernetNetIf.h" + +#undef DEBUG + +#define USE_IL // IL interpreter +#undef USE_DISPLAY // I2C LCD, LED display module +#define USE_NTP // NTP Client +#undef USE_SNMP // SNMP Agent +#undef USE_EMAIL // send mail + +#define CONFIG_FILE "weather.cfg" +#define IL_FILE "weather.asm" + +#define TIMEZONE 9 // hour + +#define CF_TWITTER_NUM 5 +#define CF_MAIL_NUM 5 +#define INPUT_NUM 2 +#define OUTPUT_NUM 2 + +#define LED_FREQ 4 // x 0.1s +#define NET_TIMEOUT 15000 // ms + +#define LED_BUSY_ON led1 = 0 +#define LED_BUSY_OFF led1 = 1 +#define LED_FILE_ON led2 = 1 +#define LED_FILE_OFF led2 = 0 +#define LED_NET_ON led_y = 0 +#define LED_NET_OFF led_y = 1 + +enum eINPUTTYPE { + INPUT_MOIST = 0, + INPUT_FALL = 1, + INPUT_RISE = 2, + INPUT_CPM = 4, +}; + +struct Sensor { + float pres, temp, humi, light, anemo, vane, rain, uv, moist, temp2; + time_t sec; + int input[INPUT_NUM], output[OUTPUT_NUM]; +}; + +extern const char VERSION[]; +extern Serial pc; +extern I2C i2c; +extern EthernetNetIf *eth; +extern ConfigFile cfg; +extern DigitalOut led1, led2, led3, led4; +extern DigitalOut led_g2,led_g, led_y; +extern Sensor sensor, offset, sensor_old; +extern volatile uint32_t locUpTime; +extern char csv[]; + + +int init_conf (); +int init_file (); +int write_log (const char *buf); +char* chop (char *s); + +int init_net (); +void pool_net (); +int weatherstations (); +int pachube (char *csv); +int twitter (int num); +int email (int num); +int snmp_init (char *commname); + +int init_sensor (); +int update_sensor (); +char *format_str (const char *fmt, char *buf, int len); + +int init_ilip (char *dir); +void exec_ilip (int enable); +void pool_ilip (); + +int init_display (); +void pool_display (); +void update_display ();