update_tws_new.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. #ifndef _UPRATE_TWS_NEW_H
  2. #define _UPRATE_TWS_NEW_H
  3. #include "app_config.h"
  4. #if (OTA_TWS_SAME_TIME_ENABLE && OTA_TWS_SAME_TIME_NEW)//(RCSP_ADV_EN || AI_APP_PROTOCOL))
  5. #define SYS_BT_OTA_EVENT_TYPE_STATUS (('O' << 24) | ('T' << 16) | ('A' << 8) | '\0')
  6. #define TWS_FUNC_ID_OTA_TRANS (('O' << (3 * 8)) | ('T' << (2 * 8)) | ('A' << (1 * 8)) | ('\0'))
  7. #include "system/event.h"
  8. #include "update_loader_download.h"
  9. typedef int sint32_t;
  10. enum {
  11. OTA_OVER = 0,
  12. OTA_INIT,
  13. OTA_START,
  14. OTA_VERIFY_ING,
  15. OTA_VERIFY_END,
  16. OTA_SUCC,
  17. };
  18. enum {
  19. OTA_SINGLE_EARPHONE,
  20. OTA_TWS,
  21. };
  22. enum {
  23. OTA_START_UPDATE = 0,
  24. OTA_START_UPDATE_READY,
  25. OTA_START_VERIFY,
  26. OTA_UPDATE_OVER,
  27. OTA_UPDATE_ERR,
  28. OTA_UPDATE_SUCC,
  29. };
  30. enum {
  31. OTA_TYPE_SET = 0,
  32. OTA_TYPE_GET,
  33. OTA_STATUS_SET,
  34. OTA_STATUS_GET,
  35. OTA_REMOTE_STATUS_SET,
  36. OTA_REMOTE_STATUS_GET,
  37. OTA_RESULT_SET,
  38. OTA_RESULT_GET,
  39. };
  40. enum {
  41. OTA_STOP_APP_DISCONNECT,
  42. OTA_STOP_LINK_DISCONNECT,
  43. OTA_STOP_UPDATE_OVER_SUCC,
  44. OTA_STOP_UPDATE_OVER_ERR,
  45. OTA_STOP_PHONE,
  46. };
  47. enum {
  48. SYNC_CMD_START_UPDATE,
  49. SYNC_CMD_START_VERIFY,
  50. SYNC_CMD_UPDATE_OVER,
  51. SYNC_CMD_UPDATE_ERR,
  52. };
  53. //TWS OTA CMD
  54. enum {
  55. OTA_TWS_INIT,
  56. OTA_TWS_START_UPDATE = 0x1,
  57. OTA_TWS_START_UPDATE_RSP,
  58. OTA_TWS_TRANS_UPDATE_DATA,
  59. OTA_TWS_TRANS_UPDATE_DATA_RSP,
  60. OTA_TWS_VERIFY,
  61. OTA_TWS_VERIFY_RSP,
  62. OTA_TWS_UPDATE_RESULT,
  63. OTA_TWS_WRITE_BOOT_INFO,
  64. OTA_TWS_WRITE_BOOT_INFO_RSP,
  65. OTA_TWS_USER_CHIP_UPDATE,
  66. };
  67. enum {
  68. OTA_TWS_CMD_SUCC = 0x1,
  69. OTA_TWS_CMD_ERR,
  70. };
  71. #define MSG_OTA_TWS_START_UPDATE 0x1
  72. #define MSG_OTA_TWS_START_UPDATE_RSP 0x2
  73. #define MSG_OTA_TWS_TRANS_UPDATE_DATA 0x3
  74. #define MSG_OTA_TWS_TRANS_UPDATE_DATA_RSP 0x4
  75. #define MSG_OTA_TWS_VERIFY 0x5
  76. #define MSG_OTA_TWS_VERIFY_RSP 0x6
  77. int tws_ota_init(void);
  78. int tws_ota_close(void);
  79. int tws_ota_open(struct __tws_ota_para *para);
  80. void tws_ota_stop(u8 reason);
  81. u16 tws_ota_enter_verify(void *priv);
  82. u16 tws_ota_exit_verify(u8 *res, u8 *up_flg);
  83. u16 tws_ota_updata_boot_info_over(void *priv);
  84. int tws_ota_err_callback(u8 reason);
  85. int tws_ota_data_send_m_to_s(u8 *buf, u16 len);
  86. int tws_ota_sync_cmd(int reason);
  87. void tws_ota_app_event_deal(u8 evevt);
  88. u8 dual_bank_update_burn_boot_info_callback(u8 ret);
  89. int bt_ota_event_handler(struct bt_event *bt);
  90. void tws_ota_event_post(u32 type, u8 event);
  91. u8 tws_ota_control(int type, ...);
  92. void tws_ota_send_data_to_sibling(u8 opcode, u8 *data, u8 len);
  93. int tws_ota_get_data_from_sibling(u8 opcode, u8 *data, u8 len);
  94. int tws_ota_result(u8 err);
  95. int tws_ota_data_send_pend(void);
  96. #endif //(OTA_TWS_SAME_TIME_ENABLE && RCSP_ADV_EN)
  97. #endif //_RCSP_ADV_TWS_OTA_H