merge version
This commit is contained in:
parent
5280b76d65
commit
594b7b90c8
|
@ -47,23 +47,23 @@ void bms_poll_adc(uint32_t base_time)
|
||||||
tmp = kit_get_dma_avg_filter_min_max(adc_dma_buf, kAdcDataEnd, i, ADC_SAMPLE_CNT);
|
tmp = kit_get_dma_avg_filter_min_max(adc_dma_buf, kAdcDataEnd, i, ADC_SAMPLE_CNT);
|
||||||
switch (i)
|
switch (i)
|
||||||
{
|
{
|
||||||
case kAdcData_5vVolt:
|
case kAdcData_5vVolt:
|
||||||
adc_value[i] = 0; // 返回电压,0.1V/bit
|
adc_value[i] = 0; // 返回电压,0.1V/bit
|
||||||
break;
|
break;
|
||||||
case kAdcData_Temp1:
|
case kAdcData_Temp1:
|
||||||
case kAdcData_Temp2:
|
case kAdcData_Temp2:
|
||||||
case kAdcData_Temp3:
|
case kAdcData_Temp3:
|
||||||
case kAdcData_Temp4:
|
case kAdcData_Temp4:
|
||||||
tmp = tmp * 10000 / (MCU_MAX_AD_VALUE - tmp); // 返回阻值,1Ω/bit
|
tmp = tmp * 10000 / (MCU_MAX_AD_VALUE - tmp); // 返回阻值,1Ω/bit
|
||||||
adc_value[i] = bms_get_linear_temp(tmp, kNtcType_CWFH708_H713);
|
adc_value[i] = bms_get_linear_temp(tmp, kNtcType_CWFH708_H713);
|
||||||
bms_set_en_temp((EnTemp)(i - kAdcData_Temp1), adc_value[i]);
|
bms_set_en_temp((EnTemp)(i - kAdcData_Temp1), adc_value[i]);
|
||||||
break;
|
break;
|
||||||
case kAdcData_Hall1:
|
case kAdcData_Hall1:
|
||||||
case kAdcData_Hall2:
|
case kAdcData_Hall2:
|
||||||
// 扩大100倍,
|
// 扩大100倍,
|
||||||
//adc_value[i] = tmp * (4 * 100 / 3);
|
//adc_value[i] = tmp * (4 * 100 / 3);
|
||||||
adc_value[i] = tmp * 3 / 4;//先获取电压值
|
adc_value[i] = tmp * 3 / 4;//先获取电压值
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -447,11 +447,11 @@ void bms_poll_bmu(uint32_t base_time)
|
||||||
//温感的值最开始全是大于6000的,第二次才是采集值
|
//温感的值最开始全是大于6000的,第二次才是采集值
|
||||||
memset(tempJudge_cnt, 0, sizeof(tempJudge_cnt));
|
memset(tempJudge_cnt, 0, sizeof(tempJudge_cnt));
|
||||||
//2-5 @wangk add this line bcu statistic data is show
|
//2-5 @wangk add this line bcu statistic data is show
|
||||||
bms_poll_statistic(0);
|
// bms_poll_statistic(0);
|
||||||
//2-6 @wangk
|
// //2-6 @wangk
|
||||||
bms_poll_run_status(base_time);
|
// bms_poll_run_status(base_time);
|
||||||
//2-10 @wangk
|
// //2-10 @wangk
|
||||||
task_dido_ctrl_handle(1000);
|
// task_dido_ctrl_handle(1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,7 +25,7 @@ void ord_di_do_feedback_func(uint32_t base_time, DiStatus di_signal, DiType di)
|
||||||
if(bms_get_do_status_by_idx(di - kDiType_Do1Feedback) != di_signal)
|
if(bms_get_do_status_by_idx(di - kDiType_Do1Feedback) != di_signal)
|
||||||
{
|
{
|
||||||
//I don't know what's the meaning of this line.Whatever I change the 5000 to what , it is always enter the " if " and set the fault level.
|
//I don't know what's the meaning of this line.Whatever I change the 5000 to what , it is always enter the " if " and set the fault level.
|
||||||
//di_param_item[di].dly += base_time;
|
di_param_item[di].dly += base_time;
|
||||||
if(di_param_item[di].dly >= 5000)
|
if(di_param_item[di].dly >= 5000)
|
||||||
{
|
{
|
||||||
//这里会写进错误--反馈异常,这里的一级代表三级错误
|
//这里会写进错误--反馈异常,这里的一级代表三级错误
|
||||||
|
|
|
@ -215,15 +215,15 @@ void logic_same_circuit_ctrl(uint32_t base_time)
|
||||||
if ((bms_is_dis_allow() == false) || (bms_is_chg_allow() == false))
|
if ((bms_is_dis_allow() == false) || (bms_is_chg_allow() == false))
|
||||||
{
|
{
|
||||||
prechg_cnt = 0;
|
prechg_cnt = 0;
|
||||||
status = kDoLogicStatus_Off;
|
status = kDoLogicStatus_Off;
|
||||||
bms_crtl_do_status(kDoType_PreChg, kDoCtrlStatus_Off, RELAY_CTRL_NO_DLY);
|
bms_crtl_do_status(kDoType_PreChg, kDoCtrlStatus_Off, RELAY_CTRL_NO_DLY);
|
||||||
bms_crtl_do_status(kDoType_Dis, kDoCtrlStatus_Off, 100);
|
bms_crtl_do_status(kDoType_Dis, kDoCtrlStatus_Off, 100);
|
||||||
}
|
}
|
||||||
else if (dly >= prechg_time)//预充超时
|
else if (dly >= prechg_time)//预充超时
|
||||||
{
|
{
|
||||||
dly = 0;
|
dly = 0;
|
||||||
status = kDoLogicStatus_PrechgFail;
|
status = kDoLogicStatus_PrechgFail;
|
||||||
bms_crtl_do_status(kDoType_PreChg, kDoCtrlStatus_Off, RELAY_CTRL_NO_DLY);
|
bms_crtl_do_status(kDoType_PreChg, kDoCtrlStatus_Off, RELAY_CTRL_NO_DLY);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -38,7 +38,7 @@ typedef enum
|
||||||
#define DEVICE_HW_MAJOR_VER (1u) //5
|
#define DEVICE_HW_MAJOR_VER (1u) //5
|
||||||
#define DEVICE_HW_MINOR_VER (0u) //5
|
#define DEVICE_HW_MINOR_VER (0u) //5
|
||||||
#define DEVICE_HW_BUILD_VER (0u) //6
|
#define DEVICE_HW_BUILD_VER (0u) //6
|
||||||
#define DEVICE_HW_VERSION (((DEVICE_HW_MAJOR_VER&0x1f)<<11)+((DEVICE_HW_MINOR_VER&0x1f)<<6)+(DEVICE_HW_BUILD_VER&0x3f))
|
//#define DEVICE_HW_VERSION (((DEVICE_HW_MAJOR_VER&0x1f)<<11)+((DEVICE_HW_MINOR_VER&0x1f)<<6)+(DEVICE_HW_BUILD_VER&0x3f))
|
||||||
|
|
||||||
/*********************************软件版本号*************************************/
|
/*********************************软件版本号*************************************/
|
||||||
#define DEVICE_V_MAJOR_VER (2u) //4
|
#define DEVICE_V_MAJOR_VER (2u) //4
|
||||||
|
@ -50,9 +50,13 @@ typedef enum
|
||||||
#define DEVICE_C_MINOR_VER (3u) //4
|
#define DEVICE_C_MINOR_VER (3u) //4
|
||||||
|
|
||||||
//主干默认版本B0 上述记录即可
|
//主干默认版本B0 上述记录即可
|
||||||
#define DEVICE_SW_BUILD_VER (1u)
|
//#define DEVICE_SW_BUILD_VER (1u)
|
||||||
|
|
||||||
|
//#define DEVICE_SW_VERSION ((DEVICE_V_MAJOR_VER << 8) | (DEVICE_V_MINOR_VER))
|
||||||
|
#define DEVICE_SW_VERSION 1
|
||||||
|
#define DEVICE_SW_BUILD_VER (0u)
|
||||||
|
#define DEVICE_HW_VERSION 1
|
||||||
|
|
||||||
#define DEVICE_SW_VERSION ((DEVICE_V_MAJOR_VER << 8) | (DEVICE_V_MINOR_VER))
|
|
||||||
#define DEVICE_R_VERSION ((DEVICE_R_MAJOR_VER << 8) | (DEVICE_R_MINOR_VER))
|
#define DEVICE_R_VERSION ((DEVICE_R_MAJOR_VER << 8) | (DEVICE_R_MINOR_VER))
|
||||||
#define DEVICE_C_VERSION ((DEVICE_C_MAJOR_VER << 8) | (DEVICE_C_MINOR_VER))
|
#define DEVICE_C_VERSION ((DEVICE_C_MAJOR_VER << 8) | (DEVICE_C_MINOR_VER))
|
||||||
typedef enum
|
typedef enum
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
<InvalidFlash>1</InvalidFlash>
|
<InvalidFlash>1</InvalidFlash>
|
||||||
</TargetStatus>
|
</TargetStatus>
|
||||||
<OutputDirectory>.\Objects\</OutputDirectory>
|
<OutputDirectory>.\Objects\</OutputDirectory>
|
||||||
<OutputName>BCU1</OutputName>
|
<OutputName>BCU5</OutputName>
|
||||||
<CreateExecutable>1</CreateExecutable>
|
<CreateExecutable>1</CreateExecutable>
|
||||||
<CreateLib>0</CreateLib>
|
<CreateLib>0</CreateLib>
|
||||||
<CreateHexFile>1</CreateHexFile>
|
<CreateHexFile>1</CreateHexFile>
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
<AfterMake>
|
<AfterMake>
|
||||||
<RunUserProg1>1</RunUserProg1>
|
<RunUserProg1>1</RunUserProg1>
|
||||||
<RunUserProg2>0</RunUserProg2>
|
<RunUserProg2>0</RunUserProg2>
|
||||||
<UserProg1Name>D:\CodeCompare\BCU\app\stm32fxxx_app\hex2bin.exe D:\CodeCompare\BCU\app\stm32fxxx_app\prj\Objects\BCU1.hex</UserProg1Name>
|
<UserProg1Name>D:\CodeCompare\BCU\app\stm32fxxx_app\hex2bin.exe D:\CodeCompare\BCU\app\stm32fxxx_app\prj\Objects\BCU5.hex</UserProg1Name>
|
||||||
<UserProg2Name></UserProg2Name>
|
<UserProg2Name></UserProg2Name>
|
||||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -294,7 +294,7 @@ void bcu_send_0x42100000(can_dev_e can)
|
||||||
//电池模块SOH
|
//电池模块SOH
|
||||||
tmp_8u = (uint8_t)(bms_get_soh()/100);
|
tmp_8u = (uint8_t)(bms_get_soh()/100);
|
||||||
WRITE_LT_INT8U(buf, len, tmp_8u);
|
WRITE_LT_INT8U(buf, len, tmp_8u);
|
||||||
bsp_can_ext_data_sync_send(can, 0x42100000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004210, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x42200000(can_dev_e can)
|
void bcu_send_0x42200000(can_dev_e can)
|
||||||
|
@ -314,7 +314,7 @@ void bcu_send_0x42200000(can_dev_e can)
|
||||||
//最大放电电流
|
//最大放电电流
|
||||||
tmp_16u = bms_get_sop_data(kSopData_DisCur);
|
tmp_16u = bms_get_sop_data(kSopData_DisCur);
|
||||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||||
bsp_can_ext_data_sync_send(can, 0x42200000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004220, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x42300000(can_dev_e can)
|
void bcu_send_0x42300000(can_dev_e can)
|
||||||
|
@ -334,7 +334,7 @@ void bcu_send_0x42300000(can_dev_e can)
|
||||||
//最低单体电池电压编号
|
//最低单体电池电压编号
|
||||||
tmp_16u = bms_get_statistic_data(kStatisticData_MinVoltIdx) + 1;
|
tmp_16u = bms_get_statistic_data(kStatisticData_MinVoltIdx) + 1;
|
||||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||||
bsp_can_ext_data_sync_send(can, 0x42300000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004230, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x42400000(can_dev_e can)
|
void bcu_send_0x42400000(can_dev_e can)
|
||||||
|
@ -354,7 +354,7 @@ void bcu_send_0x42400000(can_dev_e can)
|
||||||
//最低单体电池温度编号
|
//最低单体电池温度编号
|
||||||
tmp_16u = bms_get_statistic_data(kStatisticData_MinTempIdx) + 1;
|
tmp_16u = bms_get_statistic_data(kStatisticData_MinTempIdx) + 1;
|
||||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||||
bsp_can_ext_data_sync_send(can, 0x42400000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004240, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x42500000(can_dev_e can)
|
void bcu_send_0x42500000(can_dev_e can)
|
||||||
|
@ -412,7 +412,7 @@ void bcu_send_0x42500000(can_dev_e can)
|
||||||
tmp_16u = set_bit_based_on_source_pylon(status, kFaultLevel_First);
|
tmp_16u = set_bit_based_on_source_pylon(status, kFaultLevel_First);
|
||||||
|
|
||||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||||
bsp_can_ext_data_sync_send(can, 0x42500000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004250, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x42600000(can_dev_e can)
|
void bcu_send_0x42600000(can_dev_e can)
|
||||||
|
@ -432,7 +432,7 @@ void bcu_send_0x42600000(can_dev_e can)
|
||||||
//最低电池模块电压编号--无,用单体从机号代替
|
//最低电池模块电压编号--无,用单体从机号代替
|
||||||
tmp_16u = bms_get_statistic_data(kStatisticData_MinVoltBmuIdx) + 1;
|
tmp_16u = bms_get_statistic_data(kStatisticData_MinVoltBmuIdx) + 1;
|
||||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||||
bsp_can_ext_data_sync_send(can, 0x42600000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004260, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x42700000(can_dev_e can)
|
void bcu_send_0x42700000(can_dev_e can)
|
||||||
|
@ -452,7 +452,7 @@ void bcu_send_0x42700000(can_dev_e can)
|
||||||
//最低电池模块温度编号--无,用单体从机号代替
|
//最低电池模块温度编号--无,用单体从机号代替
|
||||||
tmp_16u = bms_get_statistic_data(kStatisticData_MinTempBmuIdx) + 1;
|
tmp_16u = bms_get_statistic_data(kStatisticData_MinTempBmuIdx) + 1;
|
||||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||||
bsp_can_ext_data_sync_send(can, 0x42700000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004270, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x42800000(can_dev_e can)
|
void bcu_send_0x42800000(can_dev_e can)
|
||||||
|
@ -518,7 +518,7 @@ void bcu_send_0x42800000(can_dev_e can)
|
||||||
tmp_16u = 0;
|
tmp_16u = 0;
|
||||||
WRITE_LT_INT16U(buf, len, tmp_16u);
|
WRITE_LT_INT16U(buf, len, tmp_16u);
|
||||||
|
|
||||||
bsp_can_ext_data_sync_send(can, 0x42800000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00004280, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_send_0x73100000(can_dev_e can)
|
void bcu_send_0x73100000(can_dev_e can)
|
||||||
|
@ -552,7 +552,7 @@ void bcu_send_0x73100000(can_dev_e can)
|
||||||
tmp_8u = 1;
|
tmp_8u = 1;
|
||||||
WRITE_LT_INT8U(buf, len, tmp_8u);
|
WRITE_LT_INT8U(buf, len, tmp_8u);
|
||||||
|
|
||||||
bsp_can_ext_data_sync_send(can, 0x73100000, buf, len);
|
bsp_can_ext_data_sync_send(can, 0x00007310, buf, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
void bcu_can_send_pylon(uint32_t base_time,can_dev_e can)
|
void bcu_can_send_pylon(uint32_t base_time,can_dev_e can)
|
||||||
|
|
|
@ -102,9 +102,7 @@ uint16_t bcu_total_msg_fill(uint16_t start_addr, uint8_t reg_num, uint8_t *buf)
|
||||||
READ_FC03_F04_BEGIN();
|
READ_FC03_F04_BEGIN();
|
||||||
//1 动力电池组总电压
|
//1 动力电池组总电压
|
||||||
READ_FC03_F04_ITEM(1, bms_get_statistic_data(kStatisticData_TotalVolt));
|
READ_FC03_F04_ITEM(1, bms_get_statistic_data(kStatisticData_TotalVolt));
|
||||||
//READ_FC03_F04_ITEM(1, 5000);
|
|
||||||
|
|
||||||
//READ_FC03_F04_ITEM(1, test99+=10);
|
|
||||||
//2 动力电池组总电流
|
//2 动力电池组总电流
|
||||||
READ_FC03_F04_ITEM(2, bms_get_show_current());
|
READ_FC03_F04_ITEM(2, bms_get_show_current());
|
||||||
//3 SOC
|
//3 SOC
|
||||||
|
@ -782,10 +780,10 @@ BspMdExCode bcu_modbus_485_0x03_fun(uint16_t start_addr, uint16_t reg_num, uint8
|
||||||
{
|
{
|
||||||
BspMdExCode err = kBspMdEx_None;
|
BspMdExCode err = kBspMdEx_None;
|
||||||
//kit_time_dly_ms(50);
|
//kit_time_dly_ms(50);
|
||||||
if((start_addr >= 3000) && (start_addr + reg_num <= 3169))
|
if((start_addr >= 3000) && (start_addr + reg_num <= 3169))
|
||||||
{
|
{
|
||||||
*len = bcu_total_cfg_fill(start_addr, reg_num, buf);
|
*len = bcu_total_cfg_fill(start_addr, reg_num, buf);
|
||||||
}
|
}
|
||||||
else if((start_addr >= 4000) && ((start_addr + reg_num ) <= 4999))
|
else if((start_addr >= 4000) && ((start_addr + reg_num ) <= 4999))
|
||||||
{
|
{
|
||||||
hmi_fill_modbus_cfg(fill_buf);
|
hmi_fill_modbus_cfg(fill_buf);
|
||||||
|
|
Loading…
Reference in New Issue