2024-01-08 22:30:20 +08:00
|
|
|
#include "jj_param.h"
|
|
|
|
|
#include "./page/page_ui_widget.h"
|
|
|
|
|
#include "./page/page.h"
|
2024-03-04 22:33:03 +08:00
|
|
|
#include "gl_tracking.h"
|
2024-03-23 16:53:58 +08:00
|
|
|
#include "gl_state.h"
|
2024-01-16 20:03:21 +08:00
|
|
|
#include "zf_common_headfile.h"
|
2024-01-08 22:30:20 +08:00
|
|
|
PARAM_INFO Param_Data[DATA_NUM];
|
|
|
|
|
soft_iic_info_struct eeprom_param;
|
|
|
|
|
TYPE_UNION iic_buffer[DATA_IN_FLASH_NUM];
|
2024-03-02 18:17:30 +08:00
|
|
|
TYPE_UNION tiny_frame_param[20];
|
2024-03-02 16:17:34 +08:00
|
|
|
uint32_t *addre[2];
|
|
|
|
|
/**
|
|
|
|
|
* @brief 参数初始化注册
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
void jj_param_eeprom_init(void)
|
|
|
|
|
{
|
|
|
|
|
soft_iic_init(&eeprom_param, K24C02_DEV_ADDR, K24C02_SOFT_IIC_DELAY, K24C02_SCL_PIN, K24C02_SDA_PIN); // eeprom初始化
|
2024-03-23 16:53:58 +08:00
|
|
|
PARAM_REG(aim_cross, &cross_aim, EFLOAT, 1, "cros:"); // 注冊
|
|
|
|
|
PARAM_REG(aim_cricle, &cricle_aim, EFLOAT, 1, "cric:"); // 注冊
|
|
|
|
|
PARAM_REG(aim_common, &common_aim, EFLOAT, 1, "comm:"); // 注冊
|
|
|
|
|
|
2024-03-02 16:17:34 +08:00
|
|
|
jj_param_read(); // 注冊
|
|
|
|
|
}
|
|
|
|
|
/**
|
|
|
|
|
* @brief 参数写入
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
void jj_param_write(void)
|
2024-01-08 22:30:20 +08:00
|
|
|
{
|
2024-01-16 20:03:21 +08:00
|
|
|
for (uint8 i = 0; i < DATA_IN_FLASH_NUM; i++) {
|
2024-01-08 22:30:20 +08:00
|
|
|
switch (Param_Data[i].type) {
|
|
|
|
|
case EFLOAT:
|
2024-03-02 16:17:34 +08:00
|
|
|
iic_buffer[i].f32 = *((float *)(Param_Data[i].p_data));
|
2024-01-08 22:30:20 +08:00
|
|
|
break;
|
|
|
|
|
case EUINT32:
|
2024-03-02 16:17:34 +08:00
|
|
|
iic_buffer[i].u32 = *((uint32 *)(Param_Data[i].p_data));
|
2024-01-08 22:30:20 +08:00
|
|
|
break;
|
|
|
|
|
case EINT32:
|
2024-03-02 16:17:34 +08:00
|
|
|
iic_buffer[i].s32 = *((int32 *)(Param_Data[i].p_data));
|
2024-01-08 22:30:20 +08:00
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
2024-03-02 16:17:34 +08:00
|
|
|
eep_soft_iic_write_8bit_registers(&eeprom_param, (4 * i) >> 8, (4 * i), (uint8 *)&iic_buffer[i], 4);
|
2024-01-16 20:03:21 +08:00
|
|
|
system_delay_ms(10);
|
2024-01-08 22:30:20 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/**
|
2024-03-02 16:17:34 +08:00
|
|
|
* @brief 参数读出
|
2024-01-08 22:30:20 +08:00
|
|
|
*
|
|
|
|
|
*/
|
2024-03-02 16:17:34 +08:00
|
|
|
void jj_param_read(void)
|
2024-01-08 22:30:20 +08:00
|
|
|
{
|
|
|
|
|
for (uint8 i = 0; i < DATA_IN_FLASH_NUM; i++) {
|
2024-03-02 16:17:34 +08:00
|
|
|
|
|
|
|
|
eep_soft_iic_read_8bit_registers(&eeprom_param, (4 * i) >> 8, (4 * i), (uint8 *)&iic_buffer[i], 4);
|
2024-01-08 22:30:20 +08:00
|
|
|
switch (Param_Data[i].type) {
|
|
|
|
|
case EFLOAT:
|
2024-03-02 16:17:34 +08:00
|
|
|
*((float *)(Param_Data[i].p_data)) =
|
|
|
|
|
iic_buffer[i].f32;
|
2024-01-08 22:30:20 +08:00
|
|
|
break;
|
|
|
|
|
case EUINT32:
|
2024-03-02 16:17:34 +08:00
|
|
|
*((uint32 *)(Param_Data[i].p_data)) =
|
|
|
|
|
iic_buffer[i].u32;
|
2024-01-08 22:30:20 +08:00
|
|
|
break;
|
|
|
|
|
case EINT32:
|
2024-03-02 16:17:34 +08:00
|
|
|
*((int32 *)(Param_Data[i].p_data)) =
|
|
|
|
|
iic_buffer[i].s32;
|
2024-01-08 22:30:20 +08:00
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
2024-01-16 20:03:21 +08:00
|
|
|
system_delay_ms(10);
|
2024-01-08 22:30:20 +08:00
|
|
|
}
|
|
|
|
|
}
|