Used with KL25Z Freescale board to access the Avnet Wi-Go Battery charger

Dependents:   KL25Z_Batt_Test

Committer:
monpjc
Date:
Fri May 17 10:39:52 2013 +0000
Revision:
0:d52ea6d270c0
Child:
1:4c20371cd5c2
NEW: First release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
monpjc 0:d52ea6d270c0 1 #include "WiGo_BattCharger.h"
monpjc 0:d52ea6d270c0 2 #include "mbed.h"
monpjc 0:d52ea6d270c0 3
monpjc 0:d52ea6d270c0 4 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)
monpjc 0:d52ea6d270c0 5 {
monpjc 0:d52ea6d270c0 6 _battlow = BATT_LED_OFF; //Default State
monpjc 0:d52ea6d270c0 7 _battmed = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 8 _battfull = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 9 _en1 = 0; //100mA Charge
monpjc 0:d52ea6d270c0 10 _en2 = 0;
monpjc 0:d52ea6d270c0 11 _snsen = 1; //Off
monpjc 0:d52ea6d270c0 12 }
monpjc 0:d52ea6d270c0 13
monpjc 0:d52ea6d270c0 14 void WiGo_BattCharger::init( void )
monpjc 0:d52ea6d270c0 15 {
monpjc 0:d52ea6d270c0 16 //100mA Charge
monpjc 0:d52ea6d270c0 17 _en1 = 0;
monpjc 0:d52ea6d270c0 18 _en2 = 0;
monpjc 0:d52ea6d270c0 19 }
monpjc 0:d52ea6d270c0 20
monpjc 0:d52ea6d270c0 21 void WiGo_BattCharger::sense_en( int n)
monpjc 0:d52ea6d270c0 22 {
monpjc 0:d52ea6d270c0 23 if( n == 0 )
monpjc 0:d52ea6d270c0 24 _snsen = 1;
monpjc 0:d52ea6d270c0 25 else
monpjc 0:d52ea6d270c0 26 _snsen = 0;
monpjc 0:d52ea6d270c0 27 }
monpjc 0:d52ea6d270c0 28
monpjc 0:d52ea6d270c0 29 float WiGo_BattCharger::read( void )
monpjc 0:d52ea6d270c0 30 {
monpjc 0:d52ea6d270c0 31 return _sense;
monpjc 0:d52ea6d270c0 32 }
monpjc 0:d52ea6d270c0 33
monpjc 0:d52ea6d270c0 34 int WiGo_BattCharger::charging( void )
monpjc 0:d52ea6d270c0 35 {
monpjc 0:d52ea6d270c0 36 return _chargestate;
monpjc 0:d52ea6d270c0 37 }
monpjc 0:d52ea6d270c0 38
monpjc 0:d52ea6d270c0 39 int WiGo_BattCharger::supply( void )
monpjc 0:d52ea6d270c0 40 {
monpjc 0:d52ea6d270c0 41 return _supplystate;
monpjc 0:d52ea6d270c0 42 }
monpjc 0:d52ea6d270c0 43
monpjc 0:d52ea6d270c0 44 void WiGo_BattCharger::LEDupdate( void )
monpjc 0:d52ea6d270c0 45 {
monpjc 0:d52ea6d270c0 46 float batt_level;
monpjc 0:d52ea6d270c0 47 init();
monpjc 0:d52ea6d270c0 48 sense_en(1);
monpjc 0:d52ea6d270c0 49 batt_level = read();
monpjc 0:d52ea6d270c0 50 if( batt_level <= BATT_0 ) {
monpjc 0:d52ea6d270c0 51 _battlow = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 52 _battmed = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 53 _battfull = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 54 }
monpjc 0:d52ea6d270c0 55 if( batt_level > BATT_0 && batt_level <= 0.605 ) {
monpjc 0:d52ea6d270c0 56 _battlow = BATT_LED_ON;
monpjc 0:d52ea6d270c0 57 _battmed = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 58 _battfull = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 59 }
monpjc 0:d52ea6d270c0 60 if( batt_level > 0.605 && batt_level <= BATT_100 ) {
monpjc 0:d52ea6d270c0 61 _battlow = BATT_LED_ON;
monpjc 0:d52ea6d270c0 62 _battmed = BATT_LED_ON;
monpjc 0:d52ea6d270c0 63 _battfull = BATT_LED_OFF;
monpjc 0:d52ea6d270c0 64 }
monpjc 0:d52ea6d270c0 65 if( batt_level > BATT_100 ) {
monpjc 0:d52ea6d270c0 66 _battlow = BATT_LED_ON;
monpjc 0:d52ea6d270c0 67 _battmed = BATT_LED_ON;
monpjc 0:d52ea6d270c0 68 _battfull = BATT_LED_ON;
monpjc 0:d52ea6d270c0 69 }
monpjc 0:d52ea6d270c0 70 }