124 lines
2.7 KiB
C
124 lines
2.7 KiB
C
#ifndef _RCSP_ADV_TWS_OTA_H
|
|
#define _RCSP_ADV_TWS_OTA_H
|
|
|
|
#include "app_config.h"
|
|
|
|
#if (OTA_TWS_SAME_TIME_ENABLE && (RCSP_ADV_EN || AI_APP_PROTOCOL))
|
|
|
|
#define SYS_BT_OTA_EVENT_TYPE_STATUS (('O' << 24) | ('T' << 16) | ('A' << 8) | '\0')
|
|
#define TWS_FUNC_ID_OTA_TRANS (('O' << (3 * 8)) | ('T' << (2 * 8)) | ('A' << (1 * 8)) | ('\0'))
|
|
|
|
#include "system/event.h"
|
|
#include "update_loader_download.h"
|
|
|
|
typedef int sint32_t;
|
|
|
|
enum {
|
|
OTA_OVER = 0,
|
|
OTA_INIT,
|
|
OTA_START,
|
|
OTA_VERIFY_ING,
|
|
OTA_VERIFY_END,
|
|
OTA_SUCC,
|
|
};
|
|
|
|
enum {
|
|
OTA_SINGLE_EARPHONE,
|
|
OTA_TWS,
|
|
};
|
|
|
|
enum {
|
|
OTA_START_UPDATE = 0,
|
|
OTA_START_UPDATE_READY,
|
|
OTA_START_VERIFY,
|
|
OTA_UPDATE_OVER,
|
|
OTA_UPDATE_ERR,
|
|
OTA_UPDATE_SUCC,
|
|
};
|
|
|
|
enum {
|
|
OTA_TYPE_SET = 0,
|
|
OTA_TYPE_GET,
|
|
OTA_STATUS_SET,
|
|
OTA_STATUS_GET,
|
|
OTA_REMOTE_STATUS_SET,
|
|
OTA_REMOTE_STATUS_GET,
|
|
OTA_RESULT_SET,
|
|
OTA_RESULT_GET,
|
|
};
|
|
|
|
|
|
enum {
|
|
OTA_STOP_APP_DISCONNECT,
|
|
OTA_STOP_LINK_DISCONNECT,
|
|
OTA_STOP_UPDATE_OVER_SUCC,
|
|
OTA_STOP_UPDATE_OVER_ERR,
|
|
OTA_STOP_PHONE,
|
|
};
|
|
|
|
enum {
|
|
SYNC_CMD_START_UPDATE,
|
|
SYNC_CMD_START_VERIFY,
|
|
SYNC_CMD_UPDATE_OVER,
|
|
SYNC_CMD_UPDATE_ERR,
|
|
};
|
|
|
|
//TWS OTA CMD
|
|
enum {
|
|
OTA_TWS_INIT,
|
|
OTA_TWS_START_UPDATE = 0x1,
|
|
OTA_TWS_START_UPDATE_RSP,
|
|
OTA_TWS_TRANS_UPDATE_DATA,
|
|
OTA_TWS_TRANS_UPDATE_DATA_RSP,
|
|
OTA_TWS_VERIFY,
|
|
OTA_TWS_VERIFY_RSP,
|
|
OTA_TWS_UPDATE_RESULT,
|
|
OTA_TWS_WRITE_BOOT_INFO,
|
|
OTA_TWS_WRITE_BOOT_INFO_RSP,
|
|
OTA_TWS_USER_CHIP_UPDATE,
|
|
};
|
|
|
|
enum {
|
|
OTA_TWS_CMD_SUCC = 0x1,
|
|
OTA_TWS_CMD_ERR,
|
|
};
|
|
|
|
#define MSG_OTA_TWS_START_UPDATE 0x1
|
|
#define MSG_OTA_TWS_START_UPDATE_RSP 0x2
|
|
#define MSG_OTA_TWS_TRANS_UPDATE_DATA 0x3
|
|
#define MSG_OTA_TWS_TRANS_UPDATE_DATA_RSP 0x4
|
|
#define MSG_OTA_TWS_VERIFY 0x5
|
|
#define MSG_OTA_TWS_VERIFY_RSP 0x6
|
|
|
|
|
|
int tws_ota_init(void);
|
|
int tws_ota_close(void);
|
|
|
|
int tws_ota_open(struct __tws_ota_para *para);
|
|
void tws_ota_stop(u8 reason);
|
|
|
|
u16 tws_ota_enter_verify(void *priv);
|
|
u16 tws_ota_exit_verify(u8 *res, u8 *up_flg);
|
|
u16 tws_ota_updata_boot_info_over(void *priv);
|
|
|
|
int tws_ota_err_callback(u8 reason);
|
|
|
|
int tws_ota_data_send_m_to_s(u8 *buf, u16 len);
|
|
int tws_ota_sync_cmd(int reason);
|
|
void tws_ota_app_event_deal(u8 evevt);
|
|
u8 dual_bank_update_burn_boot_info_callback(u8 ret);
|
|
int bt_ota_event_handler(struct bt_event *bt);
|
|
void tws_ota_event_post(u32 type, u8 event);
|
|
|
|
u8 tws_ota_control(int type, ...);
|
|
|
|
void tws_ota_send_data_to_sibling(u8 opcode, u8 *data, u8 len);
|
|
int tws_ota_get_data_from_sibling(u8 opcode, u8 *data, u8 len);
|
|
|
|
int tws_ota_result(u8 err);
|
|
int tws_ota_data_send_pend(void);
|
|
#endif //(OTA_TWS_SAME_TIME_ENABLE && RCSP_ADV_EN)
|
|
|
|
#endif //_RCSP_ADV_TWS_OTA_H
|
|
|