Local library
Dependencies: WakeUp PinDetect
Dependents: Inductive_Sensor Inductive_Sensor_Jasper Inductive_Sensor_3
Bob.cpp
- Committer:
- bobgiesberts
- Date:
- 2016-01-18
- Revision:
- 3:68c005d410e1
- Parent:
- 2:681ecede6dcb
- Child:
- 4:9c3c8eb56a2b
File content as of revision 3:68c005d410e1:
/** * @file Bob.cpp * @brief just so functions to communicate with the * processor board for the LDC1101 * * @author Bob Giesberts * * @date 2015-12-18 */ #include "Bob.h" #include "mbed.h" #include "WakeUp.h" Bob::Bob(PinName redled, PinName greenled, PinName sd_enable, PinName sd_present, PinName battery, PinName V_Det) : _red(redled), _green(greenled), _sd_enable(sd_enable) { _red = 0; _green = 0; _sd_enable = 1; _sd_card_detect = new DigitalIn( sd_present ); _sd_card_detect->mode( PullUp ); _batt = new AnalogIn( battery ); _V_Det = new DigitalIn( V_Det ); _V_Det->mode( PullUp ); // WakeUp::calibrate(); } bool Bob::checkSD(void) { _sd_enable.write(1); return !_sd_card_detect->read(); } void Bob::sleep(int s) { _sd_enable.write(0); // unpower SD-card + unpower sensor WakeUp::calibrate(); WakeUp::set( s ); deepsleep(); } void Bob::wakeup(void) { _sd_enable.write(1); // power SD-card + unpower sensor wait(0.3); } void Bob::SDoff(void) { _sd_enable.write(0); } void Bob::SDon(void) { _sd_enable.write(1); } // battery voltage should be 3.1V (min) < 3.7V (typ) < 4.22V (max) float Bob::battery(void) { return (float)_batt->read() * 3.0 * 2.0; } void Bob::flash( int n ) { _red = 0; _green = 0; for(int i=0; i<n*2; i++){ _red = 1-_red; _green = 1-_green; wait(0.2); } } void Bob::flash_red( int n ) { _red = 0; for(int i=0; i<n*2; i++){ _red = 1-_red; wait(0.2); } } void Bob::flash_green( int n ) { _green = 0; for(int i=0; i<n*2; i++){ _green = 1-_green; wait(0.2); } } void Bob::red(void) { _red = 1; } void Bob::green(void) { _green = 1; } void Bob::redoff(void) { _red = 0; } void Bob::greenoff(void) { _green = 0; }