Xbee Uplink

Dependencies:   mbed PowerControl SDFileSystem

Fork of HeptaXbee_Uplink by 智也 大野

Committer:
MEXT1
Date:
Wed Dec 14 16:09:56 2016 +0000
Revision:
3:15a7f7fa174a
Parent:
0:9a52d95a79f7
Xbee Uplink

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tomoya123 0:9a52d95a79f7 1 #include "HeptaBattery.h"
tomoya123 0:9a52d95a79f7 2 #include "mbed.h"
tomoya123 0:9a52d95a79f7 3
tomoya123 0:9a52d95a79f7 4 HeptaBattery::HeptaBattery(PinName bat, PinName bat_ct, PinName reg_st) : _bat(bat),_bat_ct(bat_ct),_reg_st(reg_st)
tomoya123 0:9a52d95a79f7 5 {
tomoya123 0:9a52d95a79f7 6 _bat_ct = 0; // disable battery charge
tomoya123 0:9a52d95a79f7 7 _reg_st = 1; // able 3.3V regulator out
tomoya123 0:9a52d95a79f7 8 PHY_PowerDown();// disable Ethernet connection
tomoya123 0:9a52d95a79f7 9 }
tomoya123 0:9a52d95a79f7 10 void HeptaBattery::vol(float* bt)
tomoya123 0:9a52d95a79f7 11 {
tomoya123 0:9a52d95a79f7 12 *bt = (_bat.read()*1.431*3.3);
tomoya123 0:9a52d95a79f7 13 }
tomoya123 0:9a52d95a79f7 14 void HeptaBattery::vol_u16(char* bt_u16, int *dsize)
tomoya123 0:9a52d95a79f7 15 {
tomoya123 0:9a52d95a79f7 16 unsigned short bt_datas;
tomoya123 0:9a52d95a79f7 17 char bt1[8]={0x00},bt2[8]={0x00};
tomoya123 0:9a52d95a79f7 18 bt_datas=_bat.read_u16()>>4;
tomoya123 0:9a52d95a79f7 19 sprintf( bt1, "%02X", (bt_datas >> 8) & 0x0F);
tomoya123 0:9a52d95a79f7 20 sprintf( bt2, "%02X", (bt_datas) & 0xFF);
tomoya123 0:9a52d95a79f7 21 bt_u16[0]=bt1[0]; bt_u16[1]=bt1[1];
tomoya123 0:9a52d95a79f7 22 bt_u16[2]=bt2[0]; bt_u16[3]=bt2[1];
tomoya123 0:9a52d95a79f7 23 *dsize = 4;
tomoya123 0:9a52d95a79f7 24 }
tomoya123 0:9a52d95a79f7 25 void HeptaBattery::chargecontrol(int state, int *save_flag)
tomoya123 0:9a52d95a79f7 26 {
tomoya123 0:9a52d95a79f7 27 float Bat;
tomoya123 0:9a52d95a79f7 28 switch(state){
tomoya123 0:9a52d95a79f7 29 case 1:
tomoya123 0:9a52d95a79f7 30 //Battery Voltage High Level
tomoya123 0:9a52d95a79f7 31 Peripheral_PowerUp(0xFDFF6FF7);
tomoya123 0:9a52d95a79f7 32 _bat_ct = 0;
tomoya123 0:9a52d95a79f7 33 _reg_st = 1;
tomoya123 0:9a52d95a79f7 34 *save_flag = 0;
tomoya123 0:9a52d95a79f7 35 break;
tomoya123 0:9a52d95a79f7 36 case 2:
tomoya123 0:9a52d95a79f7 37 //Battery Voltage Normal Level
tomoya123 0:9a52d95a79f7 38 Peripheral_PowerUp(0xFDFF6FF7);
tomoya123 0:9a52d95a79f7 39 _reg_st = 1;
tomoya123 0:9a52d95a79f7 40 _bat_ct = 1;
tomoya123 0:9a52d95a79f7 41 *save_flag = 0;
tomoya123 0:9a52d95a79f7 42 break;
tomoya123 0:9a52d95a79f7 43 case 3:
tomoya123 0:9a52d95a79f7 44 //Battery Voltage Low Level
tomoya123 0:9a52d95a79f7 45 Peripheral_PowerDown(0x7D7E6DF1);
tomoya123 0:9a52d95a79f7 46 _bat_ct = 1;
tomoya123 0:9a52d95a79f7 47 _reg_st = 0;
tomoya123 0:9a52d95a79f7 48 *save_flag = 1;
tomoya123 0:9a52d95a79f7 49 break;
tomoya123 0:9a52d95a79f7 50 case 4:
tomoya123 0:9a52d95a79f7 51 //Battery Voltage Auto Charge
tomoya123 0:9a52d95a79f7 52 Bat = _bat.read()*1.431*3.3;
tomoya123 0:9a52d95a79f7 53 if(Bat>=4.2){
tomoya123 0:9a52d95a79f7 54 Peripheral_PowerUp(0xFDFF6FF7);
tomoya123 0:9a52d95a79f7 55 printf("voltage high level = %f\r\n",Bat);
tomoya123 0:9a52d95a79f7 56 printf("Complete!!!");
tomoya123 0:9a52d95a79f7 57 _bat_ct = 0;
tomoya123 0:9a52d95a79f7 58 _reg_st = 1;
tomoya123 0:9a52d95a79f7 59 *save_flag = 0;
tomoya123 0:9a52d95a79f7 60 }
tomoya123 0:9a52d95a79f7 61 Peripheral_PowerDown(0x7D7E6DF1);
tomoya123 0:9a52d95a79f7 62 printf("voltage low level = %f\r\n",Bat);
tomoya123 0:9a52d95a79f7 63 _bat_ct = 1;
tomoya123 0:9a52d95a79f7 64 _reg_st = 0;
tomoya123 0:9a52d95a79f7 65 *save_flag = 1;
tomoya123 0:9a52d95a79f7 66 break;
tomoya123 0:9a52d95a79f7 67 default:
tomoya123 0:9a52d95a79f7 68 printf("error\r\n");
tomoya123 0:9a52d95a79f7 69 break;
tomoya123 0:9a52d95a79f7 70 }
tomoya123 0:9a52d95a79f7 71 }
tomoya123 0:9a52d95a79f7 72