Ver1.4 && variable size output && function modify

This commit is contained in:
LuChiChick 2025-08-12 10:11:45 +08:00
parent 8f9dc89b9a
commit 8abd1f3cff
4 changed files with 27 additions and 24 deletions

View File

@ -16,10 +16,10 @@ void solve_types(void);
// 记录布局解析(标定量使用) // 记录布局解析(标定量使用)
void solve_record_layout(void); void solve_record_layout(void);
// 处理中间件 // 处理标定量和观测量
void solve_middleware(void); void solve_calibrations_and_measurements(void);
// 处理最终A2L输出 // 处理最终A2L合并输出
void solve_A2L_output(void); void solve_A2L_merge(void);
#endif #endif

View File

@ -930,8 +930,8 @@ void solve_record_layout(void)
} }
} }
// 处理中间件 // 处理标定量和观测量
void solve_middleware(void) void solve_calibrations_and_measurements(void)
{ {
// 抬头输出 // 抬头输出
bool head_output = false; bool head_output = false;
@ -1010,8 +1010,8 @@ void solve_middleware(void)
fprintf(output_middleware_file, "\r\n\r\n%s\r\n\r\n", END_OF_GENERATED_CALIBRATION_AND_MEASURMENT_STR); fprintf(output_middleware_file, "\r\n\r\n%s\r\n\r\n", END_OF_GENERATED_CALIBRATION_AND_MEASURMENT_STR);
} }
// 处理最终A2L输出 // 处理最终A2L合并输出
void solve_A2L_output(void) void solve_A2L_merge(void)
{ {
// 回到文件起始 // 回到文件起始
fseek(input_reference_A2L_file, 0, SEEK_SET); fseek(input_reference_A2L_file, 0, SEEK_SET);

View File

@ -14,7 +14,7 @@ extern "C"
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
printf("\n\n"); printf("\n\n");
log_printf(LOG_SYS_INFO, "SrcToA2L Ver1.3"); log_printf(LOG_SYS_INFO, "SrcToA2L Ver1.4");
log_printf(LOG_SYS_INFO, "Auther: LuChiChick"); log_printf(LOG_SYS_INFO, "Auther: LuChiChick");
log_printf(LOG_SYS_INFO, "%s\n%s\n%s\n\n", "Open source links:", log_printf(LOG_SYS_INFO, "%s\n%s\n%s\n\n", "Open source links:",
" ├─Github: https://git.luchichick.cn/LuChiChick/SrcToA2L", " ├─Github: https://git.luchichick.cn/LuChiChick/SrcToA2L",
@ -35,22 +35,25 @@ int main(int argc, char *argv[])
log_printf(LOG_SYS_INFO, "Start compound type definition solve.\n\n"); log_printf(LOG_SYS_INFO, "Start compound type definition solve.\n\n");
solve_types(); solve_types();
// 处理记录布局 // 中间件处理
printf("\n\n"); {
log_printf(LOG_SYS_INFO, "Start record layout solve.\n\n"); // 处理记录布局
solve_record_layout(); printf("\n\n");
log_printf(LOG_SYS_INFO, "Start record layout solve.\n\n");
solve_record_layout();
// 处理中间件 // 处理标定量和观测量
printf("\n\n"); printf("\n\n");
log_printf(LOG_SYS_INFO, "Start calibration and measurement solve.\n\n"); log_printf(LOG_SYS_INFO, "Start calibrations and measurements solve.\n\n");
solve_middleware(); solve_calibrations_and_measurements();
}
// 处理最终输出 // 处理最终输出
if (input_reference_A2L_file != nullptr) if (input_reference_A2L_file != nullptr)
{ {
printf("\n\n"); printf("\n\n");
log_printf(LOG_SYS_INFO, "Start merging middleware into reference A2L file.\n\n"); log_printf(LOG_SYS_INFO, "Start merging middleware into reference A2L file.\n\n");
solve_A2L_output(); solve_A2L_merge();
} }
log_printf(LOG_SYS_INFO, "Done."); log_printf(LOG_SYS_INFO, "Done.");

View File

@ -729,9 +729,9 @@ void f_print_calibration(FILE *file, variable_info v_info)
if (start_addr_32 != 0 || input_map_file == nullptr) if (start_addr_32 != 0 || input_map_file == nullptr)
{ {
if (v_info.element_count > 1) if (v_info.element_count > 1)
log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X %s[%d]", "Calibration", type_str[v_info.type], start_addr_32, v_info.name_str, v_info.element_count); log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X+%08X %s[%d]", "Calibration", type_str[v_info.type], start_addr_32, addr_offset, v_info.name_str, v_info.element_count);
else else
log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X %s", "Calibration", type_str[v_info.type], start_addr_32, v_info.name_str); log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X+%08X %s", "Calibration", type_str[v_info.type], start_addr_32, addr_offset, v_info.name_str);
} }
else else
{ {
@ -914,16 +914,16 @@ void f_print_measurement(FILE *file, variable_info v_info)
if (start_addr_32 != 0 || input_map_file == nullptr) if (start_addr_32 != 0 || input_map_file == nullptr)
{ {
if (v_info.element_count > 1) if (v_info.element_count > 1)
log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X %s[%d]", "Measurement", type_str[v_info.type], start_addr_32, v_info.name_str, v_info.element_count); log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X+%08X %s[%d]", "Measurement", type_str[v_info.type], start_addr_32, addr_offset, v_info.name_str, v_info.element_count);
else else
log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X %s", "Measurement", type_str[v_info.type], start_addr_32, v_info.name_str); log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_SUCCESS, "%-15s %-15s 0x%08X+%08X %s", "Measurement", type_str[v_info.type], start_addr_32, addr_offset, v_info.name_str);
} }
else else
{ {
if (v_info.element_count > 1) if (v_info.element_count > 1)
log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_WARN, "%-15s %-15s 0x%08X %s[%d]", "Measurement", type_str[v_info.type], start_addr_32, v_info.name_str, v_info.element_count); log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_WARN, "%-15s %-15s 0x%08X+%08X %s[%d]", "Measurement", type_str[v_info.type], start_addr_32, addr_offset, v_info.name_str, v_info.element_count);
else else
log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_WARN, "%-15s %-15s 0x%08X %s", "Measurement", type_str[v_info.type], start_addr_32, v_info.name_str); log_printf(v_info.type == TYPE_UNKNOWN ? LOG_FAILURE : LOG_WARN, "%-15s %-15s 0x%08X+%08X %s", "Measurement", type_str[v_info.type], start_addr_32, addr_offset, v_info.name_str);
} }
} }