Used with KL25Z Freescale board to access the Avnet Wi-Go Battery charger
Diff: WiGo_BattCharger.cpp
- Revision:
- 0:d52ea6d270c0
- Child:
- 1:4c20371cd5c2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/WiGo_BattCharger.cpp Fri May 17 10:39:52 2013 +0000 @@ -0,0 +1,70 @@ +#include "WiGo_BattCharger.h" +#include "mbed.h" + +WiGo_BattCharger::WiGo_BattCharger( PinName battlow, PinName battmed, PinName battfull, PinName en1, PinName en2, PinName snsen, PinName sense, PinName supplystate, PinName chargestate ) : _battlow(battlow), _battmed(battmed), _battfull(battfull), _en1(en1), _en2(en2), _snsen(snsen), _sense(sense), _supplystate(supplystate), _chargestate(chargestate) +{ + _battlow = BATT_LED_OFF; //Default State + _battmed = BATT_LED_OFF; + _battfull = BATT_LED_OFF; + _en1 = 0; //100mA Charge + _en2 = 0; + _snsen = 1; //Off +} + +void WiGo_BattCharger::init( void ) +{ + //100mA Charge + _en1 = 0; + _en2 = 0; +} + +void WiGo_BattCharger::sense_en( int n) +{ + if( n == 0 ) + _snsen = 1; + else + _snsen = 0; +} + +float WiGo_BattCharger::read( void ) +{ + return _sense; +} + +int WiGo_BattCharger::charging( void ) +{ + return _chargestate; +} + +int WiGo_BattCharger::supply( void ) +{ + return _supplystate; +} + +void WiGo_BattCharger::LEDupdate( void ) +{ + float batt_level; + init(); + sense_en(1); + batt_level = read(); + if( batt_level <= BATT_0 ) { + _battlow = BATT_LED_OFF; + _battmed = BATT_LED_OFF; + _battfull = BATT_LED_OFF; + } + if( batt_level > BATT_0 && batt_level <= 0.605 ) { + _battlow = BATT_LED_ON; + _battmed = BATT_LED_OFF; + _battfull = BATT_LED_OFF; + } + if( batt_level > 0.605 && batt_level <= BATT_100 ) { + _battlow = BATT_LED_ON; + _battmed = BATT_LED_ON; + _battfull = BATT_LED_OFF; + } + if( batt_level > BATT_100 ) { + _battlow = BATT_LED_ON; + _battmed = BATT_LED_ON; + _battfull = BATT_LED_ON; + } +}