修改枚举类名称,添加发送错误帧给app

This commit is contained in:
OPTOC
2025-10-27 18:59:48 +08:00
parent 9b9964439c
commit d192e3e40f
3 changed files with 26 additions and 3 deletions

View File

@@ -34,7 +34,7 @@ typedef enum
RESEND_CMD_DATA_ACK = 0x06, RESEND_CMD_DATA_ACK = 0x06,
RESEND_CMD_MODE_STATUS = 0x07, RESEND_CMD_ERROR_CODE = 0x07,
RESEND_CMD_OTA_GET_PARAM = 0x010, RESEND_CMD_OTA_GET_PARAM = 0x010,
RESEND_CMD_OTA_START = 0x011, RESEND_CMD_OTA_START = 0x011,

View File

@@ -211,7 +211,8 @@ void task_thread(void* arg)
static size_t end_time = 0; static size_t end_time = 0;
if(start_time - end_time > 2000) if(start_time - end_time > 2000)
{ {
switch(get_protocol_status()) sertrf.fc_protocol_status = get_protocol_status();
switch(sertrf.fc_protocol_status)
{ {
case PROTOCOL_STATUS_OK: case PROTOCOL_STATUS_OK:
// rgb_color_change(1, sertrf.device.last_color); // rgb_color_change(1, sertrf.device.last_color);
@@ -664,4 +665,11 @@ int stmisp_recv(void* data, uint16_t len, int timeout)
int stmisp_get_length(void) int stmisp_get_length(void)
{ {
return embedded_device_get_rx_length(&sertrf.device); return embedded_device_get_rx_length(&sertrf.device);
}
int app_send_error_code(uint8_t error_code)
{
sertrf.mode_status.sertrf_error_code = error_code;
return resend_send_data(&sertrf.resend_device, RESEND_CMD_ERROR_CODE, &sertrf.mode_status.sertrf_error_code, sizeof(sertrf_mode_status_t), 1000);
} }

View File

@@ -21,10 +21,22 @@ typedef enum
DATA_HANDLE_ISP_DATA, DATA_HANDLE_ISP_DATA,
DATA_HANDLE_ISP_DATA_END DATA_HANDLE_ISP_DATA_END
}data_handle_e; }data_handle_e;
typedef struct typedef enum
{
SERTRF_ERROR_NONE = 0,
SERTRF_ERROR_OTA_INIT = 10, // ota初始化失败
SERTRF_ERROR_OTA_DATA, // ota数据传输异常
SERTRF_ERROR_OTA_END, // ota 结束异常
SERTRF_ERROR_FC_ISP_UART_TYPE = 30, // 飞控ISP 无法识别其协议
SERTRF_ERROR_FC_ISP_UART_DATA, // 飞控ISP 无法收到其数据
SERTRF_ERROR_FC_ISP_SYNC, // 飞控ISP 无法与ISP建立连接需判断BOOT键是否有效
}sertrf_error_code_e;
typedef struct __attribute__((packed))
{ {
data_handle_e task_state; data_handle_e task_state;
uint16_t sertrf_error_code;
}sertrf_mode_status_t; }sertrf_mode_status_t;
typedef struct typedef struct
{ {
@@ -55,6 +67,9 @@ typedef struct
uint8_t efuse_mac[6]; uint8_t efuse_mac[6];
uint8_t efuse_mac_encrypt[6]; uint8_t efuse_mac_encrypt[6];
// 记录错误信息
protocol_status_e fc_protocol_status; //飞控连接端的协议状态
}sertrf_t; }sertrf_t;
typedef struct __attribute__((packed)) typedef struct __attribute__((packed))