Used for testing battery sense circuit, looking for max and min levels. Allow for finding true empty, half and full values for driving LEDs for example
Dependencies: mbed MPL3115A2 TSI WiGo_BattCharger
main.cpp
- Committer:
- monpjc
- Date:
- 2013-05-17
- Revision:
- 2:c08efa9effc8
- Parent:
- 1:b1921e153d21
- Child:
- 3:3b88d6ae24f2
File content as of revision 2:c08efa9effc8:
#include "mbed.h" #include "WiGo_BattCharger.h" #include "WiGo_AmbLight.h" #define RGB_LED_ON 0 #define RGB_LED_OFF 1 DigitalOut myled1(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); Serial pc(USBTX, USBRX); WiGo_BattCharger Batt( BATT_LOW, BATT_MED, BATT_FULL, CHRG_EN1, CHRG_EN2, CHRG_SNS_EN, CHRG_SNS, CHRG_POK, CHRG_CHG); WiGo_AmbLight Light( AMBLIGHT_EN, AMBLIGHT_LVL); float max_batt; float batt_lvl; int main() { Batt.init(CHRG_500MA); Batt.sense_en(1); Light.en(1); wait(0.5); max_batt = Batt.read(); while(1) { //If charging then blink Blue led to show we are alive if( Batt.charging() == CHARGING ) { myled2 = RGB_LED_OFF; myled3 = RGB_LED_OFF; myled1 = RGB_LED_ON; wait(0.1); myled1 = RGB_LED_OFF; wait(0.9); } //If no power applied (via USB) then turn all on, blink Bled led off if( Batt.supply() != POWER_OK ) { myled2 = RGB_LED_ON; myled3 = RGB_LED_ON; myled1 = RGB_LED_OFF; wait(0.1); myled1 = RGB_LED_ON; wait(0.9); } Batt.LEDupdate(1); batt_lvl = Batt.read(); if( batt_lvl > max_batt ) { max_batt = batt_lvl; } pc.printf(">%f Max:%f %i %i\n\r", batt_lvl, max_batt, Batt.level(), Light.level()); } }