update_tws.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #ifndef _RCSP_ADV_TWS_OTA_H
  2. #define _RCSP_ADV_TWS_OTA_H
  3. #include "app_config.h"
  4. #if (OTA_TWS_SAME_TIME_ENABLE && (RCSP_ADV_EN || AI_APP_PROTOCOL) && !OTA_TWS_SAME_TIME_NEW)
  5. #define SYS_BT_OTA_EVENT_TYPE_STATUS (('O' << 24) | ('T' << 16) | ('A' << 8) | '\0')
  6. #include "system/event.h"
  7. #include "update_loader_download.h"
  8. typedef int sint32_t;
  9. enum {
  10. OTA_OVER = 0,
  11. OTA_INIT,
  12. OTA_START,
  13. OTA_VERIFY_ING,
  14. OTA_VERIFY_END,
  15. OTA_SUCC,
  16. };
  17. enum {
  18. OTA_SINGLE_EARPHONE,
  19. OTA_TWS,
  20. };
  21. enum {
  22. OTA_START_UPDATE = 0,
  23. OTA_START_UPDATE_READY,
  24. OTA_START_VERIFY,
  25. OTA_UPDATE_OVER,
  26. OTA_UPDATE_ERR,
  27. OTA_UPDATE_SUCC,
  28. };
  29. enum {
  30. OTA_TYPE_SET = 0,
  31. OTA_TYPE_GET,
  32. OTA_STATUS_SET,
  33. OTA_STATUS_GET,
  34. OTA_REMOTE_STATUS_SET,
  35. OTA_REMOTE_STATUS_GET,
  36. OTA_RESULT_SET,
  37. OTA_RESULT_GET,
  38. };
  39. enum {
  40. OTA_STOP_APP_DISCONNECT,
  41. OTA_STOP_LINK_DISCONNECT,
  42. OTA_STOP_UPDATE_OVER_SUCC,
  43. OTA_STOP_UPDATE_OVER_ERR,
  44. OTA_STOP_PHONE,
  45. };
  46. enum {
  47. SYNC_CMD_START_UPDATE,
  48. SYNC_CMD_START_VERIFY,
  49. SYNC_CMD_UPDATE_OVER,
  50. SYNC_CMD_UPDATE_ERR,
  51. };
  52. int tws_ota_init(void);
  53. int tws_ota_close(void);
  54. int tws_ota_open(struct __tws_ota_para *para);
  55. void tws_ota_stop(u8 reason);
  56. u16 tws_ota_enter_verify(void *priv);
  57. u16 tws_ota_exit_verify(u8 *res, u8 *up_flg);
  58. u16 tws_ota_updata_boot_info_over(void *priv);
  59. int tws_ota_err_callback(u8 reason);
  60. int tws_ota_data_send_m_to_s(u8 *buf, u16 len);
  61. int tws_ota_sync_cmd(int reason);
  62. void tws_ota_app_event_deal(u8 evevt);
  63. u8 dual_bank_update_burn_boot_info_callback(u8 ret);
  64. int bt_ota_event_handler(struct bt_event *bt);
  65. void tws_ota_event_post(u32 type, u8 event);
  66. u8 tws_ota_control(int type, ...);
  67. void tws_ota_send_data_to_sibling(u8 opcode, u8 *data, u8 len);
  68. int tws_ota_get_data_from_sibling(u8 opcode, u8 *data, u8 len);
  69. #endif //(OTA_TWS_SAME_TIME_ENABLE && RCSP_ADV_EN)
  70. #endif //_RCSP_ADV_TWS_OTA_H