update gencode
This commit is contained in:
@@ -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 = ¶m_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, ¶m_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 = ¶m_buff[20];
|
||||
if (i >= 0 && i < n && p)
|
||||
{
|
||||
memset(param_buff, 0, 20);
|
||||
memset(param_buff, 0, sizeof(param_buff));
|
||||
param_get_value(p, ¶m_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 = ¶m_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 *)¶m_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, ¶m_buff[16]);
|
||||
}
|
||||
else
|
||||
{
|
||||
goto onError;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user