forked from gary/BCU
2
0
Fork 0

expand the heap_size to fix the memory bug

This commit is contained in:
Carl 2025-05-08 09:04:21 +08:00
parent e859d12a77
commit 42a681d726
5 changed files with 5223 additions and 6465 deletions

File diff suppressed because it is too large Load Diff

View File

@ -695,126 +695,126 @@ const devPointMap bms_points[] = {
{"BCU_2", 0, 0, bms_get_total_alarm}, // 总告警 {"BCU_2", 0, 0, bms_get_total_alarm}, // 总告警
{"BCU_3", 0, 0, bms_get_total_fault}, // 总故障 {"BCU_3", 0, 0, bms_get_total_fault}, // 总故障
{"BCU_4", 0, 1, bms_get_fault_level_1}, // 单体过压告警一级 {"BCU_4", 0, 1, bms_get_fault_level_1}, // 单体过压告警一级
// {"BCU_5", 0, 2, bms_get_fault_level_1}, // 单体欠压告警一级 {"BCU_5", 0, 2, bms_get_fault_level_1}, // 单体欠压告警一级
// {"BCU_6", 0, 3, bms_get_fault_level_1}, // 单体过温告警一级 {"BCU_6", 0, 3, bms_get_fault_level_1}, // 单体过温告警一级
// {"BCU_7", 0, 4, bms_get_fault_level_1}, // 单体低温告警一级 {"BCU_7", 0, 4, bms_get_fault_level_1}, // 单体低温告警一级
// {"BCU_8", 0, 5, bms_get_fault_level_1}, // 单体压差告警一级 {"BCU_8", 0, 5, bms_get_fault_level_1}, // 单体压差告警一级
// {"BCU_9", 0, 6, bms_get_fault_level_1}, // 充电过流告警一级 {"BCU_9", 0, 6, bms_get_fault_level_1}, // 充电过流告警一级
// {"BCU_10", 0, 7, bms_get_fault_level_1}, // 放电过流告警一级 {"BCU_10", 0, 7, bms_get_fault_level_1}, // 放电过流告警一级
// {"BCU_11", 0, 8, bms_get_fault_level_1}, // SOC过低告警一级 {"BCU_11", 0, 8, bms_get_fault_level_1}, // SOC过低告警一级
// {"BCU_12", 0, 9, bms_get_fault_level_1}, // SOC差异过大告警一级 {"BCU_12", 0, 9, bms_get_fault_level_1}, // SOC差异过大告警一级
// {"BCU_13", 0, 10, bms_get_fault_level_1}, // 绝缘过低告警一级 {"BCU_13", 0, 10, bms_get_fault_level_1}, // 绝缘过低告警一级
// {"BCU_14", 0, 1, bms_get_fault_level_2}, // 单体过压告警二级 {"BCU_14", 0, 1, bms_get_fault_level_2}, // 单体过压告警二级
// {"BCU_15", 0, 2, bms_get_fault_level_2}, // 单体欠压告警二级 {"BCU_15", 0, 2, bms_get_fault_level_2}, // 单体欠压告警二级
// {"BCU_16", 0, 3, bms_get_fault_level_2}, // 单体过温告警二级 {"BCU_16", 0, 3, bms_get_fault_level_2}, // 单体过温告警二级
// {"BCU_17", 0, 4, bms_get_fault_level_2}, // 单体低温告警二级 {"BCU_17", 0, 4, bms_get_fault_level_2}, // 单体低温告警二级
// {"BCU_18", 0, 5, bms_get_fault_level_2}, // 单体压差告警二级 {"BCU_18", 0, 5, bms_get_fault_level_2}, // 单体压差告警二级
// {"BCU_19", 0, 6, bms_get_fault_level_2}, // 充电过流告警二级 {"BCU_19", 0, 6, bms_get_fault_level_2}, // 充电过流告警二级
// {"BCU_20", 0, 7, bms_get_fault_level_2}, // 放电过流告警二级 {"BCU_20", 0, 7, bms_get_fault_level_2}, // 放电过流告警二级
// {"BCU_21", 0, 8, bms_get_fault_level_2}, // SOC过低告警二级 {"BCU_21", 0, 8, bms_get_fault_level_2}, // SOC过低告警二级
// {"BCU_22", 0, 9, bms_get_fault_level_2}, // SOC差异过大告警二级 {"BCU_22", 0, 9, bms_get_fault_level_2}, // SOC差异过大告警二级
// {"BCU_23", 0, 10, bms_get_fault_level_2}, // 绝缘过低告警二级 {"BCU_23", 0, 10, bms_get_fault_level_2}, // 绝缘过低告警二级
// {"BCU_24", 0, 1, bms_get_fault_level_3}, // 单体过压告警三级 {"BCU_24", 0, 1, bms_get_fault_level_3}, // 单体过压告警三级
// {"BCU_25", 0, 2, bms_get_fault_level_3}, // 单体欠压告警三级 {"BCU_25", 0, 2, bms_get_fault_level_3}, // 单体欠压告警三级
// {"BCU_26", 0, 3, bms_get_fault_level_3}, // 单体过温告警三级 {"BCU_26", 0, 3, bms_get_fault_level_3}, // 单体过温告警三级
// {"BCU_27", 0, 4, bms_get_fault_level_3}, // 单体低温告警三级 {"BCU_27", 0, 4, bms_get_fault_level_3}, // 单体低温告警三级
// {"BCU_28", 0, 5, bms_get_fault_level_3}, // 单体压差告警三级 {"BCU_28", 0, 5, bms_get_fault_level_3}, // 单体压差告警三级
// {"BCU_29", 0, 6, bms_get_fault_level_3}, // 充电过流告警三级 {"BCU_29", 0, 6, bms_get_fault_level_3}, // 充电过流告警三级
// {"BCU_30", 0, 7, bms_get_fault_level_3}, // 放电过流告警三级 {"BCU_30", 0, 7, bms_get_fault_level_3}, // 放电过流告警三级
// {"BCU_31", 0, 8, bms_get_fault_level_3}, // SOC过低告警三级 {"BCU_31", 0, 8, bms_get_fault_level_3}, // SOC过低告警三级
// {"BCU_32", 0, 9, bms_get_fault_level_3}, // SOC差异过大告警三级 {"BCU_32", 0, 9, bms_get_fault_level_3}, // SOC差异过大告警三级
// {"BCU_33", 0, 10, bms_get_fault_level_3}, // 绝缘过低告警三级 {"BCU_33", 0, 10, bms_get_fault_level_3}, // 绝缘过低告警三级
// {"BCU_34", 0, 0, NULL}, // 电芯温度极限告警 {"BCU_34", 0, 0, NULL}, // 电芯温度极限告警
// {"BCU_35", 0, 0, NULL}, // 电芯电压极限告警 {"BCU_35", 0, 0, NULL}, // 电芯电压极限告警
// {"BCU_36", 0, 0, NULL}, // 簇间环流1级告警 {"BCU_36", 0, 0, NULL}, // 簇间环流1级告警
// {"BCU_37", 0, 0, NULL}, // 簇间环流2级告警 {"BCU_37", 0, 0, NULL}, // 簇间环流2级告警
// {"BCU_38", 0, 0, NULL}, // 簇间环流3级告警 {"BCU_38", 0, 0, NULL}, // 簇间环流3级告警
// {"BCU_39", 0, 0, NULL}, // 簇间电流差1级告警 {"BCU_39", 0, 0, NULL}, // 簇间电流差1级告警
// {"BCU_40", 0, 0, NULL}, // 簇间电流差2级告警 {"BCU_40", 0, 0, NULL}, // 簇间电流差2级告警
// {"BCU_41", 0, 0, NULL}, // 簇间电流差3级告警 {"BCU_41", 0, 0, NULL}, // 簇间电流差3级告警
// {"BCU_42", 1, 11, bms_get_fault_level_1}, // 组端过压1级告警 {"BCU_42", 1, 11, bms_get_fault_level_1}, // 组端过压1级告警
// {"BCU_43", 1, 11, bms_get_fault_level_2}, // 组端过压2级告警 {"BCU_43", 1, 11, bms_get_fault_level_2}, // 组端过压2级告警
// {"BCU_44", 1, 11, bms_get_fault_level_3}, // 组端过压3级告警 {"BCU_44", 1, 11, bms_get_fault_level_3}, // 组端过压3级告警
// {"BCU_45", 1, 12, bms_get_fault_level_1}, // 组端欠压1级告警 {"BCU_45", 1, 12, bms_get_fault_level_1}, // 组端欠压1级告警
// {"BCU_46", 1, 12, bms_get_fault_level_2}, // 组端欠压2级告警 {"BCU_46", 1, 12, bms_get_fault_level_2}, // 组端欠压2级告警
// {"BCU_47", 1, 12, bms_get_fault_level_3}, // 组端欠压3级告警 {"BCU_47", 1, 12, bms_get_fault_level_3}, // 组端欠压3级告警
// {"BCU_48", 1, 13, bms_get_fault_level_1}, // 极柱过温1级告警 {"BCU_48", 1, 13, bms_get_fault_level_1}, // 极柱过温1级告警
// {"BCU_49", 1, 13, bms_get_fault_level_2}, // 极柱过温2级告警 {"BCU_49", 1, 13, bms_get_fault_level_2}, // 极柱过温2级告警
// {"BCU_50", 1, 13, bms_get_fault_level_3}, // 极柱过温3级告警 {"BCU_50", 1, 13, bms_get_fault_level_3}, // 极柱过温3级告警
// {"BCU_51", 1, 0, NULL}, // AFE温感排线异常 {"BCU_51", 1, 0, NULL}, // AFE温感排线异常
// {"BCU_52", 1, 0, NULL}, // AFE电压排线异常 {"BCU_52", 1, 0, NULL}, // AFE电压排线异常
// {"BCU_53", 1, 0, NULL}, // 与电池簇通信告警 {"BCU_53", 1, 0, NULL}, // 与电池簇通信告警
// {"BCU_54", 1, 0, NULL}, // 主从通讯告警 {"BCU_54", 1, 0, NULL}, // 主从通讯告警
// {"BCU_55", 1, 14, bms_get_fault_level_3}, // 继电器粘连告警 {"BCU_55", 1, 14, bms_get_fault_level_3}, // 继电器粘连告警
// {"BCU_56", 1, 15, bms_get_fault_level_3}, // 电池极限故障 {"BCU_56", 1, 15, bms_get_fault_level_3}, // 电池极限故障
// {"BCU_57", 1, 0, NULL}, // 熔丝故障 {"BCU_57", 1, 0, NULL}, // 熔丝故障
// {"BCU_58", 1, 0, NULL}, // 断路器故障 {"BCU_58", 1, 0, NULL}, // 断路器故障
// {"BCU_59", 1, 0, NULL}, // 空调故障 {"BCU_59", 1, 0, NULL}, // 空调故障
// {"BCU_60", 1, 0, NULL}, // 消防设备故障 {"BCU_60", 1, 0, NULL}, // 消防设备故障
// {"BCU_61", 1, 0, NULL}, // 消防火警 {"BCU_61", 1, 0, NULL}, // 消防火警
// {"BCU_62", 1, 0, NULL}, // 消防喷洒 {"BCU_62", 1, 0, NULL}, // 消防喷洒
// {"BCU_63", 1, 0, NULL}, // AFE故障 {"BCU_63", 1, 0, NULL}, // AFE故障
// {"BCU_64", 1, 14, bms_get_fault_level_1}, // 高压异常 {"BCU_64", 1, 14, bms_get_fault_level_1}, // 高压异常
// {"BCU_65", 1, 16, bms_get_fault_level_3}, // 预充告警 {"BCU_65", 1, 16, bms_get_fault_level_3}, // 预充告警
// {"BCU_66", 1, 17, bms_get_fault_level_3}, // 开路故障 {"BCU_66", 1, 17, bms_get_fault_level_3}, // 开路故障
// {"BCU_67", 1, 1, bms_get_baseInfo}, // 总压 {"BCU_67", 1, 1, bms_get_baseInfo}, // 总压
// {"BCU_68", 1, 2, bms_get_baseInfo}, // 总电流 {"BCU_68", 1, 2, bms_get_baseInfo}, // 总电流
// {"BCU_69", 1, 3, bms_get_baseInfo}, // SOC {"BCU_69", 1, 3, bms_get_baseInfo}, // SOC
// {"BCU_70", 1, 4, bms_get_baseInfo}, // SOH {"BCU_70", 1, 4, bms_get_baseInfo}, // SOH
// {"BCU_71", 1, 5, bms_get_baseInfo}, // SOE {"BCU_71", 1, 5, bms_get_baseInfo}, // SOE
// {"BCU_72", 1, 6, bms_get_baseInfo}, // 额定总压 {"BCU_72", 1, 6, bms_get_baseInfo}, // 额定总压
// {"BCU_73", 1, 7, bms_get_baseInfo}, // 额定容量 {"BCU_73", 1, 7, bms_get_baseInfo}, // 额定容量
// {"BCU_74", 1, 8, bms_get_baseInfo}, // 剩余容量 {"BCU_74", 1, 8, bms_get_baseInfo}, // 剩余容量
// {"BCU_75", 1, 9, bms_get_baseInfo}, // 额定电量 {"BCU_75", 1, 9, bms_get_baseInfo}, // 额定电量
// {"BCU_76", 1, 10, bms_get_baseInfo}, // 剩余电量 {"BCU_76", 1, 10, bms_get_baseInfo}, // 剩余电量
// {"BCU_77", 1, 11, bms_get_baseInfo}, // 从机总数(BMU) {"BCU_77", 1, 11, bms_get_baseInfo}, // 从机总数(BMU)
// {"BCU_78", 1, 12, bms_get_baseInfo}, // 在线从机总数(BMU) {"BCU_78", 1, 12, bms_get_baseInfo}, // 在线从机总数(BMU)
// {"BCU_79", 1, 13, bms_get_baseInfo}, // 电池总数 {"BCU_79", 1, 13, bms_get_baseInfo}, // 电池总数
// {"BCU_80", 1, 14, bms_get_baseInfo}, // 在线电池总数 {"BCU_80", 1, 14, bms_get_baseInfo}, // 在线电池总数
// {"BCU_81", 1, 15, bms_get_baseInfo}, // 温感总数 {"BCU_81", 1, 15, bms_get_baseInfo}, // 温感总数
// {"BCU_82", 2, 16, bms_get_baseInfo}, // 在线温感总数 {"BCU_82", 2, 16, bms_get_baseInfo}, // 在线温感总数
// {"BCU_83", 2, 17, bms_get_baseInfo}, // 最大允许放电电流 {"BCU_83", 2, 17, bms_get_baseInfo}, // 最大允许放电电流
// {"BCU_84", 2, 18, bms_get_baseInfo}, // 最大允许放电功率 {"BCU_84", 2, 18, bms_get_baseInfo}, // 最大允许放电功率
// {"BCU_85", 2, 19, bms_get_baseInfo}, // 最大允许充电电流 {"BCU_85", 2, 19, bms_get_baseInfo}, // 最大允许充电电流
// {"BCU_86", 2, 20, bms_get_baseInfo}, // 最大允许充电功率 {"BCU_86", 2, 20, bms_get_baseInfo}, // 最大允许充电功率
// {"BCU_87", 2, 21, bms_get_baseInfo}, // 正极绝缘阻值 {"BCU_87", 2, 21, bms_get_baseInfo}, // 正极绝缘阻值
// {"BCU_88", 2, 22, bms_get_baseInfo}, // 负极绝缘阻值 {"BCU_88", 2, 22, bms_get_baseInfo}, // 负极绝缘阻值
// {"BCU_89", 2, 23, bms_get_baseInfo}, // 单体平均电压 {"BCU_89", 2, 23, bms_get_baseInfo}, // 单体平均电压
// {"BCU_90", 2, 24, bms_get_baseInfo}, // 单体最大压差 {"BCU_90", 2, 24, bms_get_baseInfo}, // 单体最大压差
// {"BCU_91", 2, 25, bms_get_baseInfo}, // 最高单体电压 {"BCU_91", 2, 25, bms_get_baseInfo}, // 最高单体电压
// {"BCU_92", 2, 26, bms_get_baseInfo}, // 最高单体电压从机号 {"BCU_92", 2, 26, bms_get_baseInfo}, // 最高单体电压从机号
// {"BCU_93", 2, 27, bms_get_baseInfo}, // 最高单体电压编号 {"BCU_93", 2, 27, bms_get_baseInfo}, // 最高单体电压编号
// {"BCU_94", 2, 28, bms_get_baseInfo}, // 最低单体电压 {"BCU_94", 2, 28, bms_get_baseInfo}, // 最低单体电压
// {"BCU_95", 2, 29, bms_get_baseInfo}, // 最低单体电压从机号 {"BCU_95", 2, 29, bms_get_baseInfo}, // 最低单体电压从机号
// {"BCU_96", 2, 30, bms_get_baseInfo}, // 最低单体电压编号 {"BCU_96", 2, 30, bms_get_baseInfo}, // 最低单体电压编号
// {"BCU_97", 2, 31, bms_get_baseInfo}, // 单体平均温度 {"BCU_97", 2, 31, bms_get_baseInfo}, // 单体平均温度
// {"BCU_98", 2, 32, bms_get_baseInfo}, // 最大温差 {"BCU_98", 2, 32, bms_get_baseInfo}, // 最大温差
// {"BCU_99", 2, 33, bms_get_baseInfo}, // 最高单体温度 {"BCU_99", 2, 33, bms_get_baseInfo}, // 最高单体温度
// {"BCU_100", 2, 34, bms_get_baseInfo}, // 最高单体温度从机号 {"BCU_100", 2, 34, bms_get_baseInfo}, // 最高单体温度从机号
// {"BCU_101", 2, 35, bms_get_baseInfo}, // 最高单体温度编号 {"BCU_101", 2, 35, bms_get_baseInfo}, // 最高单体温度编号
// {"BCU_102", 2, 36, bms_get_baseInfo}, // 最低单体温度 {"BCU_102", 2, 36, bms_get_baseInfo}, // 最低单体温度
// {"BCU_103", 2, 37, bms_get_baseInfo}, // 最低单体温度从机号 {"BCU_103", 2, 37, bms_get_baseInfo}, // 最低单体温度从机号
// {"BCU_104", 2, 38, bms_get_baseInfo}, // 最低单体温度编号 {"BCU_104", 2, 38, bms_get_baseInfo}, // 最低单体温度编号
// {"BCU_105", 2, 39, bms_get_baseInfo}, // 日充电容量 {"BCU_105", 2, 39, bms_get_baseInfo}, // 日充电容量
// {"BCU_106", 2, 40, bms_get_baseInfo}, // 日充电电量 {"BCU_106", 2, 40, bms_get_baseInfo}, // 日充电电量
// {"BCU_107", 2, 41, bms_get_baseInfo}, // 日放电容量 {"BCU_107", 2, 41, bms_get_baseInfo}, // 日放电容量
// {"BCU_108", 2, 42, bms_get_baseInfo}, // 日放电电量 {"BCU_108", 2, 42, bms_get_baseInfo}, // 日放电电量
// {"BCU_109", 2, 43, bms_get_baseInfo}, // 日充电时间 {"BCU_109", 2, 43, bms_get_baseInfo}, // 日充电时间
// {"BCU_110", 2, 44, bms_get_baseInfo}, // 日放电时间 {"BCU_110", 2, 44, bms_get_baseInfo}, // 日放电时间
// {"BCU_111", 2, 45, bms_get_baseInfo}, // 累计充电容量 {"BCU_111", 2, 45, bms_get_baseInfo}, // 累计充电容量
// {"BCU_112", 2, 46, bms_get_baseInfo}, // 累计充电电量 {"BCU_112", 2, 46, bms_get_baseInfo}, // 累计充电电量
// {"BCU_113", 2, 47, bms_get_baseInfo}, // 累计放电容量 {"BCU_113", 2, 47, bms_get_baseInfo}, // 累计放电容量
// {"BCU_114", 2, 48, bms_get_baseInfo}, // 累计放电电量 {"BCU_114", 2, 48, bms_get_baseInfo}, // 累计放电电量
// {"BCU_115", 2, 49, bms_get_baseInfo}, // 累计充电时间 {"BCU_115", 2, 49, bms_get_baseInfo}, // 累计充电时间
// {"BCU_116", 2, 50, bms_get_baseInfo}, // 累计放电时间 {"BCU_116", 2, 50, bms_get_baseInfo}, // 累计放电时间
// {"BCU_117", 2, 51, bms_get_baseInfo}, // BCU工作状态 {"BCU_117", 2, 51, bms_get_baseInfo}, // BCU工作状态
}; };
const int bms_point_count = sizeof(bms_points) / sizeof(bms_points[0]); const int bms_point_count = sizeof(bms_points) / sizeof(bms_points[0]);
@ -869,13 +869,11 @@ void protocol_build_json(uint16_t groupId)
// 仅添加关键字段 // 仅添加关键字段
cJSON_AddStringToObject(deviceObj, "devType", "4"); cJSON_AddStringToObject(deviceObj, "devType", "4");
// cJSON_AddStringToObject(deviceObj, "devName", "BCU"); cJSON_AddStringToObject(deviceObj, "devName", "BCU");
cJSON_AddStringToObject(deviceObj, "devId", "001"); cJSON_AddStringToObject(deviceObj, "devId", "001");
cJSON_AddStringToObject(deviceObj, "sn", "SN123456"); cJSON_AddStringToObject(deviceObj, "sn", "SN123456");
// cJSON_AddNumberToObject(deviceObj, "currentPack", groupId); cJSON_AddNumberToObject(deviceObj, "currentPack", groupId);
// cJSON_AddNumberToObject(deviceObj, "totalPack", 16); cJSON_AddNumberToObject(deviceObj, "totalPack", 16);
// cJSON_AddNumberToObject(deviceObj, "BCU1", 1);
// cJSON_AddNumberToObject(deviceObj, "BCU2", 2);
for (int i = 0; i < bms_point_count; ++i) for (int i = 0; i < bms_point_count; ++i)
{ {
@ -902,12 +900,7 @@ void protocol_build_json(uint16_t groupId)
bsp_task_delay_ms(10); bsp_task_delay_ms(10);
cJSON_free(json_str); cJSON_free(json_str);
} }
else
{
drv_mqtt_publish_no_respose("1", 1);
bsp_task_delay_ms(10);
cJSON_free(json_str);
}
cJSON_Delete(root); cJSON_Delete(root);
} }

File diff suppressed because it is too large Load Diff

View File

@ -50,7 +50,7 @@ __initial_sp
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h> ; </h>
Heap_Size EQU 0x00000400 Heap_Size EQU 0x00002000
AREA HEAP, NOINIT, READWRITE, ALIGN=3 AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base __heap_base

View File

@ -12,7 +12,7 @@ uint8_t rev_buff[QFC41D_MAX_RECV_SIZE] = {0};
uint8_t send_buff[QFC41D_MAX_SEND_SIZE] = {0}; uint8_t send_buff[QFC41D_MAX_SEND_SIZE] = {0};
char wifiName[40] = "BLUESUNESS", wifiPassWord[40] = "bluesun009", bleName[40] = "bsm1"; char wifiName[40] = "BLUESUNESS", wifiPassWord[40] = "bluesun009", bleName[40] = "bsm1";
char cmd[200] = {0}; //降低栈空间使用 char cmd[1000] = {0}; //降低栈空间使用
//ś¨Ňĺ //ś¨Ňĺ
WifiBleItem qfc41dItem = { WifiBleItem qfc41dItem = {
.dev = QFC41D_UART_PORT, .dev = QFC41D_UART_PORT,