update gencode

This commit is contained in:
LyuWeiye
2022-12-12 15:05:36 +08:00
parent 6dff9bbcee
commit e0a60d9438
102 changed files with 19991 additions and 19125 deletions
+55 -14
View File
@@ -193,19 +193,26 @@ __weak bool param_NVRAM_read(uint32_t offset, uint8_t *buf, uint32_t size)
bool save_param(void)
{
uint16_t n = param_get_count();
uint8_t param_buff[20];
for (uint16_t i = 0u; i < n; ++i)
{
uint8_t param_buff[24];
uint32_t *chksum;
chksum = &param_buff[20];
for (uint16_t i = 0u; i < n; ++i)
{
param_prop *p = param_get_by_idx(i);
if (p)
{
memset(param_buff, 0, 20);
memset(param_buff, 0, sizeof(param_buff));
param_get_value(p, &param_buff[16]);
strncpy((char *)param_buff, p->name, 16);
if (!param_NVRAM_write(i * 20, param_buff, 20))
{
goto onError;
}
*chksum = 0;
for (int j = 0; j < 20;++j)
{
*chksum += param_buff[j];
}
if (!param_NVRAM_write(i * sizeof(param_buff), param_buff, sizeof(param_buff)))
{
goto onError;
}
}
else
{
@@ -221,13 +228,20 @@ onError:
bool param_save(int16_t i, param_prop *p)
{
uint16_t n = param_get_count();
uint8_t param_buff[20];
uint8_t param_buff[24];
uint32_t *chksum;
chksum = &param_buff[20];
if (i >= 0 && i < n && p)
{
memset(param_buff, 0, 20);
memset(param_buff, 0, sizeof(param_buff));
param_get_value(p, &param_buff[16]);
strncpy((char *)param_buff, p->name, 16);
if (!param_NVRAM_write(i * 20, param_buff, 20))
*chksum = 0;
for (int j = 0; j < 20;++j)
{
*chksum += param_buff[j];
}
if (!param_NVRAM_write(i * sizeof(param_buff), param_buff, sizeof(param_buff)))
{
goto onError;
}
@@ -242,16 +256,25 @@ onError:
bool restore_param(void)
{
uint16_t n = param_get_count();
uint8_t param_buff[20];
uint8_t param_buff[24];
uint32_t *chksum;
chksum = &param_buff[20];
for (uint16_t i = 0u; i < n; ++i)
{
param_prop *p = param_get_by_idx(i);
if (p)
{
if (param_NVRAM_read(i * 20, param_buff, 20))
if (param_NVRAM_read(i * sizeof(param_buff), param_buff, sizeof(param_buff)))
{
if (strncmp(p->name, (char *)param_buff, 16) == 0)
{
uint32_t chksum2 = 0;
for (int j = 0; j < 20;++j)
{
chksum2 += param_buff[j];
}
if (*chksum == chksum2)
{
if (strncmp(p->name, "ap_ver", 6) == 0)
{
if (*(p->val_ptr.I) != *((uint32_t *)&param_buff[16]))
@@ -263,6 +286,12 @@ bool restore_param(void)
break;
}
}
}
else
{
goto onError;
}
}
else
{
@@ -285,11 +314,23 @@ bool restore_param(void)
param_prop *p = param_get_by_idx(i);
if (p)
{
if (param_NVRAM_read(i * 20, param_buff, 20))
if (param_NVRAM_read(i * sizeof(param_buff), param_buff, sizeof(param_buff)))
{
if (strncmp(p->name, (char *)param_buff, 16) == 0)
{
uint32_t chksum2 = 0;
for (int j = 0; j < 20;++j)
{
chksum2 += param_buff[j];
}
if (*chksum == chksum2)
{
param_set_value(p, &param_buff[16]);
}
else
{
goto onError;
}
}
else
{