mbed Weather Station for Weatherduino on mbeduino http://mbed.org/users/okini3939/notebook/weatherduino-on-mbed/

Dependencies:   mbed

Committer:
okini3939
Date:
Tue Oct 12 16:44:01 2010 +0000
Revision:
2:920a4e65129d
Parent:
0:6e444b317905

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 0:6e444b317905 1 /*
okini3939 0:6e444b317905 2 * mbed library to use a Sparkfun Weather Meters
okini3939 0:6e444b317905 3 * Copyright (c) 2010 Hiroshi Suga
okini3939 0:6e444b317905 4 * Released under the MIT License: http://mbed.org/license/mit
okini3939 0:6e444b317905 5 */
okini3939 0:6e444b317905 6
okini3939 0:6e444b317905 7 #ifndef WeatherMeters_H
okini3939 0:6e444b317905 8 #define WeatherMeters_H
okini3939 0:6e444b317905 9
okini3939 0:6e444b317905 10 #include "mbed.h"
okini3939 0:6e444b317905 11
okini3939 0:6e444b317905 12 enum Weather_mode {
okini3939 0:6e444b317905 13 Weather_manual = 0,
okini3939 0:6e444b317905 14 Weather_auto = 1
okini3939 0:6e444b317905 15 };
okini3939 0:6e444b317905 16
okini3939 0:6e444b317905 17 class WeatherMeters : public Base {
okini3939 0:6e444b317905 18 public:
okini3939 0:6e444b317905 19 WeatherMeters(PinName p_anemometer, PinName p_windvane, PinName p_raingauge, Weather_mode w_mode = Weather_auto);
okini3939 0:6e444b317905 20
okini3939 0:6e444b317905 21 float get_windspeed();
okini3939 0:6e444b317905 22 float get_windvane();
okini3939 0:6e444b317905 23 float get_raingauge();
okini3939 0:6e444b317905 24 void update();
okini3939 0:6e444b317905 25
okini3939 0:6e444b317905 26 protected:
okini3939 0:6e444b317905 27 void int_anemometer ();
okini3939 0:6e444b317905 28 void int_raingauge ();
okini3939 0:6e444b317905 29 void int_timer ();
okini3939 0:6e444b317905 30
okini3939 0:6e444b317905 31 InterruptIn int01, int02;
okini3939 0:6e444b317905 32 AnalogIn ain01;
okini3939 0:6e444b317905 33 Ticker ticker01;
okini3939 0:6e444b317905 34 int windspeed, raingauge;
okini3939 0:6e444b317905 35 float windvane;
okini3939 0:6e444b317905 36 int mode;
okini3939 0:6e444b317905 37
okini3939 0:6e444b317905 38 private:
okini3939 0:6e444b317905 39
okini3939 0:6e444b317905 40 int count_anemo, count_rain, time_anemo, time_rain;
okini3939 0:6e444b317905 41 int buf_anemo[12], buf_rain[12];
okini3939 0:6e444b317905 42 };
okini3939 0:6e444b317905 43
okini3939 0:6e444b317905 44 #endif