智也 大野 / Mbed 2 deprecated SDFilesystem

Dependencies:   mbed PowerControl SDFileSystem

Fork of SDFilesystem by 智也 大野

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers HeptaBattery.cpp Source File

HeptaBattery.cpp

00001 #include "HeptaBattery.h"
00002 #include "mbed.h"
00003 
00004 HeptaBattery::HeptaBattery(PinName bat, PinName bat_ct, PinName reg_st) : _bat(bat),_bat_ct(bat_ct),_reg_st(reg_st)
00005 {
00006     _bat_ct = 0;    // disable battery charge
00007     _reg_st = 1;    // able 3.3V regulator out
00008     PHY_PowerDown();// disable Ethernet connection
00009 }
00010 void HeptaBattery::vol(float* bt)
00011 {
00012     *bt = (_bat.read()*1.431*3.3);
00013 }
00014 void HeptaBattery::vol_u16(char* bt_u16, int *dsize)
00015 {
00016     unsigned short bt_datas;
00017     char bt1[8]={0x00},bt2[8]={0x00};
00018     bt_datas=_bat.read_u16()>>4;
00019     sprintf( bt1, "%02X", (bt_datas >> 8) & 0x0F);
00020     sprintf( bt2, "%02X", (bt_datas) & 0xFF);
00021     bt_u16[0]=bt1[0]; bt_u16[1]=bt1[1];
00022     bt_u16[2]=bt2[0]; bt_u16[3]=bt2[1];
00023     *dsize = 4;
00024 }
00025 void HeptaBattery::chargecontrol(int state, int *save_flag)
00026 {
00027     float Bat;
00028     switch(state){
00029         case 1:
00030             //Battery Voltage High Level
00031             Peripheral_PowerUp(0xFDFF6FF7);
00032             _bat_ct = 0;
00033             _reg_st = 1;
00034             *save_flag = 0;
00035             break;
00036         case 2:
00037             //Battery Voltage Normal Level
00038             Peripheral_PowerUp(0xFDFF6FF7);
00039             _reg_st = 1;
00040             _bat_ct = 1;
00041             *save_flag = 0;
00042             break;
00043         case 3:
00044             //Battery Voltage Low Level
00045             Peripheral_PowerDown(0x7D7E6DF1);
00046             _bat_ct = 1;
00047             _reg_st = 0;
00048             *save_flag = 1;
00049             break;
00050         case 4:
00051             //Battery Voltage Auto Charge
00052             Bat = _bat.read()*1.431*3.3;
00053             if(Bat>=4.2){
00054                 Peripheral_PowerUp(0xFDFF6FF7);
00055                 printf("voltage high level = %f\r\n",Bat);
00056                 printf("Complete!!!");
00057                 _bat_ct = 0;
00058                 _reg_st = 1;
00059                 *save_flag = 0;
00060             }
00061             Peripheral_PowerDown(0x7D7E6DF1);
00062             printf("voltage low level = %f\r\n",Bat);
00063             _bat_ct = 1;
00064             _reg_st = 0;
00065             *save_flag = 1;
00066             break;
00067         default:
00068             printf("error\r\n");
00069             break;
00070     }
00071 }
00072