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

Committer:
okini3939
Date:
Mon Jul 04 15:16:45 2011 +0000
Revision:
0:bdb53686c194
Child:
1:6c7141895545

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:bdb53686c194 1 #include "mbed.h"
okini3939 0:bdb53686c194 2 #include "ConfigFile.h"
okini3939 0:bdb53686c194 3 #include "EthernetNetIf.h"
okini3939 0:bdb53686c194 4
okini3939 0:bdb53686c194 5 #undef DEBUG
okini3939 0:bdb53686c194 6
okini3939 0:bdb53686c194 7 #define USE_IL // IL interpreter
okini3939 0:bdb53686c194 8 #undef USE_DISPLAY // I2C LCD, LED display module
okini3939 0:bdb53686c194 9 #define USE_NTP // NTP Client
okini3939 0:bdb53686c194 10 #undef USE_SNMP // SNMP Agent
okini3939 0:bdb53686c194 11 #undef USE_EMAIL // send mail
okini3939 0:bdb53686c194 12
okini3939 0:bdb53686c194 13 #define CONFIG_FILE "weather.cfg"
okini3939 0:bdb53686c194 14 #define IL_FILE "weather.asm"
okini3939 0:bdb53686c194 15
okini3939 0:bdb53686c194 16 #define TIMEZONE 9 // hour
okini3939 0:bdb53686c194 17
okini3939 0:bdb53686c194 18 #define CF_TWITTER_NUM 5
okini3939 0:bdb53686c194 19 #define CF_MAIL_NUM 5
okini3939 0:bdb53686c194 20 #define INPUT_NUM 2
okini3939 0:bdb53686c194 21 #define OUTPUT_NUM 2
okini3939 0:bdb53686c194 22
okini3939 0:bdb53686c194 23 #define LED_FREQ 4 // x 0.1s
okini3939 0:bdb53686c194 24 #define NET_TIMEOUT 15000 // ms
okini3939 0:bdb53686c194 25
okini3939 0:bdb53686c194 26 #define LED_BUSY_ON led1 = 0
okini3939 0:bdb53686c194 27 #define LED_BUSY_OFF led1 = 1
okini3939 0:bdb53686c194 28 #define LED_FILE_ON led2 = 1
okini3939 0:bdb53686c194 29 #define LED_FILE_OFF led2 = 0
okini3939 0:bdb53686c194 30 #define LED_NET_ON led_y = 0
okini3939 0:bdb53686c194 31 #define LED_NET_OFF led_y = 1
okini3939 0:bdb53686c194 32
okini3939 0:bdb53686c194 33 enum eINPUTTYPE {
okini3939 0:bdb53686c194 34 INPUT_MOIST = 0,
okini3939 0:bdb53686c194 35 INPUT_FALL = 1,
okini3939 0:bdb53686c194 36 INPUT_RISE = 2,
okini3939 0:bdb53686c194 37 INPUT_CPM = 4,
okini3939 0:bdb53686c194 38 };
okini3939 0:bdb53686c194 39
okini3939 0:bdb53686c194 40 struct Sensor {
okini3939 0:bdb53686c194 41 float pres, temp, humi, light, anemo, vane, rain, uv, moist, temp2;
okini3939 0:bdb53686c194 42 time_t sec;
okini3939 0:bdb53686c194 43 int input[INPUT_NUM], output[OUTPUT_NUM];
okini3939 0:bdb53686c194 44 };
okini3939 0:bdb53686c194 45
okini3939 0:bdb53686c194 46 extern const char VERSION[];
okini3939 0:bdb53686c194 47 extern Serial pc;
okini3939 0:bdb53686c194 48 extern I2C i2c;
okini3939 0:bdb53686c194 49 extern EthernetNetIf *eth;
okini3939 0:bdb53686c194 50 extern ConfigFile cfg;
okini3939 0:bdb53686c194 51 extern DigitalOut led1, led2, led3, led4;
okini3939 0:bdb53686c194 52 extern DigitalOut led_g2,led_g, led_y;
okini3939 0:bdb53686c194 53 extern Sensor sensor, offset, sensor_old;
okini3939 0:bdb53686c194 54 extern volatile uint32_t locUpTime;
okini3939 0:bdb53686c194 55 extern char csv[];
okini3939 0:bdb53686c194 56
okini3939 0:bdb53686c194 57
okini3939 0:bdb53686c194 58 int init_conf ();
okini3939 0:bdb53686c194 59 int init_file ();
okini3939 0:bdb53686c194 60 int write_log (const char *buf);
okini3939 0:bdb53686c194 61 char* chop (char *s);
okini3939 0:bdb53686c194 62
okini3939 0:bdb53686c194 63 int init_net ();
okini3939 0:bdb53686c194 64 void pool_net ();
okini3939 0:bdb53686c194 65 int weatherstations ();
okini3939 0:bdb53686c194 66 int pachube (char *csv);
okini3939 0:bdb53686c194 67 int twitter (int num);
okini3939 0:bdb53686c194 68 int email (int num);
okini3939 0:bdb53686c194 69 int snmp_init (char *commname);
okini3939 0:bdb53686c194 70
okini3939 0:bdb53686c194 71 int init_sensor ();
okini3939 0:bdb53686c194 72 int update_sensor ();
okini3939 0:bdb53686c194 73 char *format_str (const char *fmt, char *buf, int len);
okini3939 0:bdb53686c194 74
okini3939 0:bdb53686c194 75 int init_ilip (char *dir);
okini3939 0:bdb53686c194 76 void exec_ilip (int enable);
okini3939 0:bdb53686c194 77 void pool_ilip ();
okini3939 0:bdb53686c194 78
okini3939 0:bdb53686c194 79 int init_display ();
okini3939 0:bdb53686c194 80 void pool_display ();
okini3939 0:bdb53686c194 81 void update_display ();