Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: FreescaleIAP mbed-rtos mbed
Fork of QM_BAE_review_1 by
Diff: main.cpp
- Revision:
- 44:da258a0977a4
- Parent:
- 43:dec54ff03d3f
--- a/main.cpp Thu Jul 07 19:45:45 2016 +0000
+++ b/main.cpp Mon Jul 11 19:01:12 2016 +0000
@@ -198,7 +198,8 @@
extern uint8_t EPS_BAT_TEMP_DEFAULT;
float EPS_BTRY_TMP_AVG;
extern DigitalInOut BTRY_HTR_ENABLE;
-
+int eps_btg_read_flag; // flag to check I2C ack on reading from BTG
+int eps_btg_writ_flag; // flag to check I2C ack on writing from BTG
//extern void FCTN_BATTERYGAUGE_MAIN(float*Battery_parameters);
@@ -677,6 +678,7 @@
void F_EPS()
{
float eps_btry_temp;
+ int BTG_MAIN_FLAG,btg_status_flag = 0;
pc.printf("\n\rEntered EPS %f\n\r",t_start.read());
EPS_MAIN_STATUS = 1; // Set EPS main status
EPS_MAIN_COUNTER++;
@@ -719,16 +721,23 @@
}
unsigned short statusreg = read(REG_STATUS);
- if( EPS_BATTERY_GAUGE_STATUS == 0 ) reset();
- if( read(REG_STATUS) & 0x0100 == 0x0100 ) //checking if Reset Indicator bit is set
+ if( eps_btg_read_flag != 0 || (read(REG_STATUS) & 0x0100) == 0x0100 )
{
- printf("REG_STATUS = %d\r\n",read(REG_STATUS));
+ printf("REG_STATUS = %d,BTG_INIT\r\n",read(REG_STATUS));
FCTN_BATTERYGAUGE_INIT();
- }
- int BTG_MAIN_FLAG = FCTN_BATTERYGAUGE_MAIN(actual_data.Batt_gauge_actual, eps_btry_temp);
- if( BTG_MAIN_FLAG == 0 ) //Data not received
+ if(EPS_BATTERY_GAUGE_STATUS != 1) btg_status_flag = 1;
+
+ }
+ //if( EPS_BATTERY_GAUGE_STATUS == 0 ) reset();
+ //if( read(REG_STATUS) & 0x0100 == 0x0100 ) //checking if Reset Indicator bit is set
+ //{
+ // printf("REG_STATUS = %d\r\n",read(REG_STATUS));
+ // FCTN_BATTERYGAUGE_INIT();
+ //}
+ BTG_MAIN_FLAG = FCTN_BATTERYGAUGE_MAIN(actual_data.Batt_gauge_actual, eps_btry_temp);
+ if( BTG_MAIN_FLAG == 1 || btg_status_flag == 1 ) //Data not received
{
- actual_data.power_mode = 1;
+ actual_data.power_mode = 0;
EPS_BATTERY_GAUGE_STATUS = 0; //clear EPS_BATTERY_GAUGE_STATUS
}
else
@@ -1036,15 +1045,17 @@
if( BAE_STANDBY!=0x01 && BAE_STANDBY!=0x03 && BAE_STANDBY!=0x05 && BAE_STANDBY!=0x07)
{
//time_wdog = 1;
- //F_EPS();
+ F_EPS();
}
//time_wdog = 0;
}
if(schedcount%6==0)
{
if(BAE_STANDBY!=0x04 && BAE_STANDBY!=0x05 && BAE_STANDBY!=0x06 && BAE_STANDBY!=0x07)
+ {
// time_wdog = 0;
- F_BCN();
+ //F_BCN();
+ }
}
schedcount++;
#if print
@@ -1206,8 +1217,8 @@
//...........order mentioned in flow chart.................//
//FCTN_ACS_INIT();
- //FCTN_EPS_INIT();
- FCTN_BCN_INIT();
+ FCTN_EPS_INIT();
+ //FCTN_BCN_INIT();
//uint32_t data_flash=FCTN_BAE_RD_FLASH_ENTITY(0);/*sending the 0 entity as in mms tc/tm bae_reset_counter is present in first 32 bits */
//uint32_t data_modify=data_flash & 0x000000FF;
