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 Japan_BAE1 by
Diff: EPS.cpp
- Revision:
- 5:bb592f3185cc
- Parent:
- 3:07e15677a75c
- Child:
- 6:036d08b62785
diff -r 39a4ae8c7ecd -r bb592f3185cc EPS.cpp
--- a/EPS.cpp Wed Dec 30 04:57:46 2015 +0000
+++ b/EPS.cpp Thu Dec 31 17:12:52 2015 +0000
@@ -3,7 +3,7 @@
/***********************************************global variable declaration***************************************************************/
extern uint32_t BAE_STATUS;
extern uint32_t BAE_ENABLE;
-
+extern uint8_t BAE_data[73];
//m_I2C.frequency(10000)
const char RCOMP0= 0x97;
@@ -12,6 +12,7 @@
BAE_HK_min_max bae_HK_minmax;
BAE_HK_arch arch_data;
+
//......................................Peripheral declarations.........................................................//
Serial pc_eps(USBTX,USBRX);
@@ -191,7 +192,7 @@
quant_data.BAE_temp_quant=quantiz(tstart,tstep,actual_data.BAE_temp_actual);
for(Iteration=0;Iteration<3;Iteration++){
- quant_data.AngularSpeed_quant[Iteration]=quantiz(AngularSpeed_start,AngularSpeed_step,actual_data.AngularSpeed_actual[Iteration]);
+ quant_data.AngularSpeed_quant[Iteration]=actual_data.AngularSpeed_actual[Iteration];
}
for(Iteration=0;Iteration<3;Iteration++){
@@ -206,12 +207,50 @@
arch_data.EPS_PCB_temp=quant_data.voltage_quant[14];
arch_data.Batt_SOC=quant_data.Batt_gauge_quant[1];
arch_data.power_mode=actual_data.power_mode;
+ arch_data.faultPoll_status=actual_data.faultPoll_status;
+ arch_data.faultIr_status=actual_data.faultIr_status;
arch_data.Batt_voltage=quant_data.Batt_voltage_quant;
}
-int quantiz(float start,float step,float x)
+void FCTN_APPEND_HKDATA()
+{
+ // quantized data
+ for (int i=0;i<16;i++)
+ BAE_data[i] = quant_data.voltage_quant[i];
+ for (int i=16;i<28;i++)
+ BAE_data[i] = quant_data.current_quant[i-16];
+ BAE_data[28] = quant_data.Batt_temp_quant[0];
+ BAE_data[29] = quant_data.Batt_temp_quant[1];
+ BAE_data[30] = quant_data.Batt_gauge_quant[1];
+ BAE_data[31] = quant_data.Batt_gauge_quant[1];
+ BAE_data[32] = quant_data.Batt_gauge_quant[1];
+ FCTN_CONVERT_FLOAT(quant_data.Batt_gauge_alerts,&BAE_data[33]);
+ BAE_data[37] = quant_data.BAE_temp_quant;
+ FCTN_CONVERT_FLOAT(quant_data.AngularSpeed_quant[0],&BAE_data[38]);
+ FCTN_CONVERT_FLOAT(quant_data.AngularSpeed_quant[1],&BAE_data[42]);
+ FCTN_CONVERT_FLOAT(quant_data.AngularSpeed_quant[2],&BAE_data[46]);
+ FCTN_CONVERT_FLOAT(quant_data.Bvalue_quant[0],&BAE_data[50]);
+ FCTN_CONVERT_FLOAT(quant_data.Bvalue_quant[1],&BAE_data[54]);
+ FCTN_CONVERT_FLOAT(quant_data.Bvalue_quant[2],&BAE_data[58]);
+ BAE_data[62] = quant_data.Batt_voltage_quant;
+ BAE_data[63] = (uint8_t)actual_data.power_mode;
+ BAE_data[64] = actual_data.faultPoll_status;
+ BAE_data[65] = actual_data.faultIr_status;
+ // archived data
+ BAE_data[66] = arch_data.Batt_1_temp; //verify if uint8_t is right
+ BAE_data[67] = arch_data.Batt_2_temp;
+ BAE_data[68] = arch_data.EPS_PCB_temp;
+ BAE_data[69] = arch_data.Batt_SOC;
+ BAE_data[70] = (uint8_t)arch_data.power_mode;
+ BAE_data[71] = arch_data.faultPoll_status;
+ BAE_data[72] = arch_data.faultIr_status;
+ BAE_data[73] = arch_data.Batt_voltage;
+
+}
+
+uint8_t quantiz(float start,float step,float x)
{
int y=(x-start)/step;
if(y<=0)y=0;
