ネットワークアップデート機能とか、Pachubeへの情報登録とかの処理を追加しています
Dependencies: Terminal EthernetNetIf Pachube TextLCD mbed ConfigFile FirmwareUpdater
geigercounter.h@1:1eb67d074bed, 2011-06-06 (annotated)
- Committer:
- abe00makoto
- Date:
- Mon Jun 06 19:56:43 2011 +0000
- Revision:
- 1:1eb67d074bed
- Parent:
- 0:a62f36392b9b
add set_time function. for fist use mbed
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
abe00makoto | 0:a62f36392b9b | 1 | #ifndef MBED_GEIGERCOUNTER_H |
abe00makoto | 0:a62f36392b9b | 2 | #define MBED_GEIGERCOUNTER_H |
abe00makoto | 0:a62f36392b9b | 3 | #include "mbed.h" |
abe00makoto | 0:a62f36392b9b | 4 | |
abe00makoto | 0:a62f36392b9b | 5 | class Geigercounter { |
abe00makoto | 0:a62f36392b9b | 6 | public: |
abe00makoto | 0:a62f36392b9b | 7 | Geigercounter(PinName pin,PinName spin) : _interrupt(pin),_speaker(spin),_speakerstop(){ |
abe00makoto | 0:a62f36392b9b | 8 | _interrupt.rise(this, &Geigercounter::increment); |
abe00makoto | 0:a62f36392b9b | 9 | |
abe00makoto | 0:a62f36392b9b | 10 | //speaker setup sound off |
abe00makoto | 0:a62f36392b9b | 11 | _speaker.period(1.0/2000.0); |
abe00makoto | 0:a62f36392b9b | 12 | _speaker=0.0; |
abe00makoto | 0:a62f36392b9b | 13 | _speakeron=true; |
abe00makoto | 0:a62f36392b9b | 14 | } |
abe00makoto | 0:a62f36392b9b | 15 | |
abe00makoto | 0:a62f36392b9b | 16 | void start(){ |
abe00makoto | 0:a62f36392b9b | 17 | _count=0; |
abe00makoto | 0:a62f36392b9b | 18 | _starttime=time(NULL); |
abe00makoto | 0:a62f36392b9b | 19 | _geigerrun=true; |
abe00makoto | 0:a62f36392b9b | 20 | } |
abe00makoto | 0:a62f36392b9b | 21 | |
abe00makoto | 0:a62f36392b9b | 22 | void stop(){ |
abe00makoto | 0:a62f36392b9b | 23 | _geigerrun=false; |
abe00makoto | 0:a62f36392b9b | 24 | _stoptime=time(NULL); |
abe00makoto | 0:a62f36392b9b | 25 | |
abe00makoto | 0:a62f36392b9b | 26 | } |
abe00makoto | 0:a62f36392b9b | 27 | |
abe00makoto | 0:a62f36392b9b | 28 | void soundon(){ |
abe00makoto | 0:a62f36392b9b | 29 | _speakeron=true; |
abe00makoto | 0:a62f36392b9b | 30 | } |
abe00makoto | 0:a62f36392b9b | 31 | |
abe00makoto | 0:a62f36392b9b | 32 | void soundoff(){ |
abe00makoto | 0:a62f36392b9b | 33 | _speakeron=false; |
abe00makoto | 0:a62f36392b9b | 34 | } |
abe00makoto | 0:a62f36392b9b | 35 | |
abe00makoto | 0:a62f36392b9b | 36 | |
abe00makoto | 0:a62f36392b9b | 37 | float getcps(); |
abe00makoto | 0:a62f36392b9b | 38 | float getcpm(); |
abe00makoto | 0:a62f36392b9b | 39 | |
abe00makoto | 0:a62f36392b9b | 40 | int read() { |
abe00makoto | 0:a62f36392b9b | 41 | return _count; |
abe00makoto | 0:a62f36392b9b | 42 | } |
abe00makoto | 0:a62f36392b9b | 43 | |
abe00makoto | 0:a62f36392b9b | 44 | private: |
abe00makoto | 0:a62f36392b9b | 45 | void _speakeroff(){ |
abe00makoto | 0:a62f36392b9b | 46 | _speaker=0; |
abe00makoto | 0:a62f36392b9b | 47 | } |
abe00makoto | 0:a62f36392b9b | 48 | void increment() { |
abe00makoto | 0:a62f36392b9b | 49 | if(_geigerrun){ |
abe00makoto | 0:a62f36392b9b | 50 | |
abe00makoto | 0:a62f36392b9b | 51 | _count++; |
abe00makoto | 0:a62f36392b9b | 52 | |
abe00makoto | 0:a62f36392b9b | 53 | //sound |
abe00makoto | 0:a62f36392b9b | 54 | if(_speakeron){ |
abe00makoto | 0:a62f36392b9b | 55 | _speaker=0.5; |
abe00makoto | 0:a62f36392b9b | 56 | _speakerstop.attach(this,&Geigercounter::_speakeroff,0.02); |
abe00makoto | 0:a62f36392b9b | 57 | } |
abe00makoto | 0:a62f36392b9b | 58 | } |
abe00makoto | 0:a62f36392b9b | 59 | } |
abe00makoto | 0:a62f36392b9b | 60 | |
abe00makoto | 0:a62f36392b9b | 61 | InterruptIn _interrupt; |
abe00makoto | 0:a62f36392b9b | 62 | PwmOut _speaker; |
abe00makoto | 0:a62f36392b9b | 63 | Timeout _speakerstop; |
abe00makoto | 0:a62f36392b9b | 64 | time_t _starttime; |
abe00makoto | 0:a62f36392b9b | 65 | time_t _stoptime; |
abe00makoto | 0:a62f36392b9b | 66 | volatile int _count; |
abe00makoto | 0:a62f36392b9b | 67 | volatile bool _geigerrun; |
abe00makoto | 0:a62f36392b9b | 68 | volatile bool _speakeron; |
abe00makoto | 0:a62f36392b9b | 69 | |
abe00makoto | 0:a62f36392b9b | 70 | }; |
abe00makoto | 0:a62f36392b9b | 71 | |
abe00makoto | 0:a62f36392b9b | 72 | |
abe00makoto | 0:a62f36392b9b | 73 | #endif |