#include "by_param.h" #include #include "eeprom.h" #include "by_debug.h" by_param_type param_index[BY_PARAM_NUM_MAX]; uint16_t param_num = 0; by_error_status by_param_init(void) { param_num = 0; return BY_SUCCESS; } by_error_status by_param_reg(uint16_t reg_addr, uint16_t *data_ptr, const char *data_str) { param_index[param_num].reg_addr = reg_addr; param_index[param_num].data_ptr = data_ptr; strncpy(param_index[param_num].data_str, data_str, sizeof(param_index[param_num].data_str)); LOGD("reg data [%s]: addr-0x%04x", param_index[param_num].data_str, param_index[param_num].reg_addr); param_num++; return BY_SUCCESS; } by_error_status by_param_load_from_ee(uint16_t reg_addr) { for (int i = 0; i < param_num; i++) { if (param_index[i].reg_addr == reg_addr) { flash_ee_data_read(reg_addr, param_index[i].data_ptr); return BY_SUCCESS; } } return BY_ERROR; } by_error_status by_param_save_to_ee(uint16_t reg_addr) { for (int i = 0; i < param_num; i++) { if (param_index[i].reg_addr == reg_addr) { flash_ee_data_write(reg_addr, *param_index[i].data_ptr); return BY_SUCCESS; } } return BY_ERROR; }