Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
d11e9edf36 |
|
@ -23,6 +23,7 @@ static uint16_t upgrade_write_index = 0;
|
||||||
/* 升级包数据接收长度 */
|
/* 升级包数据接收长度 */
|
||||||
static uint8_t upgrade_rx_buffer[1024] = {0};
|
static uint8_t upgrade_rx_buffer[1024] = {0};
|
||||||
|
|
||||||
|
static void api_write_upgrade_buffer(void);
|
||||||
static void api_notify_upgrade(uint8_t *buffer, uint16_t length);
|
static void api_notify_upgrade(uint8_t *buffer, uint16_t length);
|
||||||
static void api_notify_get_fhss_channel(void);
|
static void api_notify_get_fhss_channel(void);
|
||||||
static void api_package(uint8_t type, uint8_t command, uint8_t *data, uint8_t length);
|
static void api_package(uint8_t type, uint8_t command, uint8_t *data, uint8_t length);
|
||||||
|
@ -199,6 +200,16 @@ void api_upload_data_forwarding(uint8_t type, uint8_t value)
|
||||||
|
|
||||||
__weak void api_notify_data_forwarding(uint8_t type, uint8_t value) { }
|
__weak void api_notify_data_forwarding(uint8_t type, uint8_t value) { }
|
||||||
|
|
||||||
|
static void api_write_upgrade_buffer(void)
|
||||||
|
{
|
||||||
|
/* 写入升级包数据 */
|
||||||
|
fmc_write_bytes(FMC_ADDRESS_UPGRADE_BUFFER + upgrade_write_index * FMC_PAGE_SIZE, upgrade_rx_buffer, upgrade_rx_index / 4 + (upgrade_rx_index % 4 ? 1 : 0));
|
||||||
|
|
||||||
|
upgrade_write_index++;
|
||||||
|
upgrade_rx_length += upgrade_rx_index;
|
||||||
|
upgrade_rx_index = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief 升级
|
* @brief 升级
|
||||||
*/
|
*/
|
||||||
|
@ -226,24 +237,22 @@ static void api_notify_upgrade(uint8_t *buffer, uint16_t length)
|
||||||
upgrade_pack_index = 0;
|
upgrade_pack_index = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (uint16_t i = 0; i < pack_length; i++)
|
|
||||||
upgrade_rx_buffer[upgrade_rx_index++] = buffer[i + 9];
|
|
||||||
|
|
||||||
if (index == upgrade_pack_index + 1)
|
if (index == upgrade_pack_index + 1)
|
||||||
{
|
{
|
||||||
/* 更改ARM接收到的升级包序号 */
|
/* 更改ARM接收到的升级包序号 */
|
||||||
upgrade_pack_index = index;
|
upgrade_pack_index = index;
|
||||||
|
|
||||||
if (upgrade_rx_index >= 1024 || upgrade_pack_index == upgrade_pack_count)
|
for (uint16_t i = 0; i < pack_length; i++)
|
||||||
{
|
{
|
||||||
/* 写入升级包数据 */
|
upgrade_rx_buffer[upgrade_rx_index++] = buffer[i + 9];
|
||||||
fmc_write_bytes(FMC_ADDRESS_UPGRADE_BUFFER + upgrade_write_index * FMC_PAGE_SIZE, upgrade_rx_buffer, upgrade_rx_index / 4 + (upgrade_rx_index % 4 ? 1 : 0));
|
|
||||||
|
|
||||||
upgrade_write_index++;
|
if (upgrade_rx_index >= 1024)
|
||||||
upgrade_rx_length += upgrade_rx_index;
|
api_write_upgrade_buffer();
|
||||||
upgrade_rx_index = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (upgrade_pack_index == upgrade_pack_count)
|
||||||
|
api_write_upgrade_buffer();
|
||||||
|
|
||||||
/* 通知上位机当前升级包成功接收 */
|
/* 通知上位机当前升级包成功接收 */
|
||||||
api_response_success(API_COMMAND_UPGRADE);
|
api_response_success(API_COMMAND_UPGRADE);
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#define API_FRAME_RESPONSE (0x01) /* 响应帧 */
|
#define API_FRAME_RESPONSE (0x01) /* 响应帧 */
|
||||||
#define API_FRAME_NOTIFICATION (0x02) /* 通知帧 */
|
#define API_FRAME_NOTIFICATION (0x02) /* 通知帧 */
|
||||||
|
|
||||||
#define SOFTWARE_VERSION ("V1.27")
|
#define SOFTWARE_VERSION ("V1.28")
|
||||||
#define HARDWARE_VERSION ("V1.01")
|
#define HARDWARE_VERSION ("V1.01")
|
||||||
|
|
||||||
extern uint8_t api_upgrade_mode;
|
extern uint8_t api_upgrade_mode;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user