al_bluetooth_upgrader.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. #ifndef __AL_BLUETOOTH_UPGRADER_H__
  2. #define __AL_BLUETOOTH_UPGRADER_H__
  3. #include "al_basictypes.h"
  4. #include <unistd.h>
  5. #include <stdbool.h>
  6. #include <stdio.h>
  7. #include <string.h>
  8. #include <signal.h>
  9. #include <sys/file.h>
  10. #include <termios.h>
  11. #include <time.h>
  12. #include <sys/ioctl.h>
  13. #include "types.h"
  14. #include "al_bluetooth_ctrl.h"
  15. #include "al_console.h"
  16. //#define RDA58XX_DEBUG
  17. #define CHAR_CR (0x0D) // carriage return
  18. #define CHAR_LF (0x0A) // line feed
  19. #define MUPLAY_PROMPT "AT+MUPLAY="
  20. #define TX_DATA_PROMPT "AT+MURAWDATA="
  21. #define RUSTART_PROMPT "AT+RUSTART="
  22. #define MUSTOP_CMD "AT+MUSTOP="
  23. #define MUSTOP_CMD2 "AT+MUSTOP\r\n"
  24. #define RUSTOP_CMD "AT+RUSTOP\r\n"
  25. #define VOLADD_CMD "AT+CVOLADD\r\n"
  26. #define VOLSUB_CMD "AT+CVOLSUB\r\n"
  27. #define SET_VOL_CMD "AT+CVOLUME="
  28. #define MUPAUSE_CMD "AT+MUPAUSE\r\n"
  29. #define MURESUME_CMD "AT+MURESUME\r\n"
  30. #define SET_MIC_GAIN_CMD "AT+MUSETMICGAIN="
  31. #define FT_CMD "AT+FTCODEC="
  32. #define GET_STATUS_CMD "AT+MUGETSTATUS\r\n"
  33. #define GET_VERSION_CMD "AT+CVERSION\r\n"
  34. #define UART_MODE_CMD "AT+CMODE=UART_PLAY\r\n"
  35. #define BT_MODE_CMD "AT+CMODE=BT\r\n"
  36. #define BT_BR_MODE_CMD "AT+BTSWITCH=0\r\n"
  37. #define BT_LE_MODE_CMD "AT+BTSWITCH=1\r\n"
  38. #define GET_BT_RSSI_CMD "AT+BTGETRSSI\r\n"
  39. #define LEGETCONFIGSTATE_CMD "AT+LEGETCONFIGSTATE\r\n"
  40. #define LESWIFISCS_CMD "AT+LESWIFISCS\r\n"
  41. #define LEGETCONFIGINFO_CMD "AT+LEGETCONFIGINFO\r\n"
  42. #define LESETINDICATION_CMD "AT+LESETINDICATION=\r\n"
  43. #define LESETFEATURE_CMD "AT+LESETFEATURE=\r\n"
  44. #define LEGETINDSTATE_CMD "AT+LEGETINDSTATE\r\n"
  45. #define RX_UNVALID_RSP "\r\nNG\r\n"
  46. #define RX_UNVALID_RSP2 "NG\r\n"
  47. #define RX_VALID_RSP "\r\nOK\r\n"
  48. #define RX_VALID_RSP2 "OK\r\n"
  49. #define AT_READY_RSP "AT Ready\r\n"
  50. #define AST_POWERON_RSP "AST_POWERON\r\n"
  51. #define CODEC_READY_RSP "CODEC_READY\r\n"
  52. #define UPDATER_RUNNING "UPDATER_RUNNING\r\n"
  53. #define TIMEOUT_MS 5000
  54. typedef enum {
  55. D_ERROR_LEVEL = 0,
  56. D_WARNING_LEVEL = 1,
  57. D_NOTICE_LEVEL = 2,
  58. D_INFO_LEVEL = 3,
  59. D_DEBUG_LEVEL = 4,
  60. D_TRACE_LEVEL = 5,
  61. }BTD_t;
  62. typedef enum {
  63. UNREADY = -1,
  64. UPGRADE_STOP = 0,
  65. PLAY,
  66. PAUSE,
  67. RECORDING,
  68. STOP_RECORDING,
  69. MODE_SWITCHING
  70. } rda58xx_status;
  71. typedef enum {
  72. EMPTY = 0,
  73. FULL
  74. } rda58xx_buffer_status;
  75. typedef enum {
  76. NACK = 0, //No ACK
  77. IACK, //Invalid ACK
  78. VACK, //Valid ACK
  79. NEEDRESEND
  80. } rda58xx_at_status;
  81. typedef enum {
  82. UART_MODE = 0,
  83. BT_MODE
  84. } rda58xx_mode;
  85. typedef enum {
  86. BT_MODULE_RESET = 1,
  87. BT_UPDATE_PROGRESS = 2,
  88. BT_SYSTEM_AUDIO_CONTROL,
  89. BT_UPGRADE_START,
  90. BT_UPGRADE_DONE,
  91. BT_UPGRADE_FAIL,
  92. } BTUpgradeEvent;
  93. typedef enum {
  94. DISABLE_AUDIO = 1,
  95. ENABLE_AUDIO,
  96. } eaudioControl;
  97. #define codec_dbg_level D_WARNING_LEVEL
  98. #define CODEC_LOG(level, fmt, ...) do {\
  99. int dbg_level = D_##level##_LEVEL;\
  100. if((dbg_level <= codec_dbg_level)){\
  101. printf(fmt, ##__VA_ARGS__);\
  102. }\
  103. } while (0)
  104. typedef struct BT_UpgradeMsg_t_ {
  105. al_uint32 dMessage;
  106. al_uint32 dParam;
  107. } BT_UpgradeMsg_t;
  108. typedef int (*BT_Upgrade_pf) (BT_UpgradeMsg_t message);
  109. typedef struct BT_UpgradeCfg_t_ {
  110. BT_Upgrade_pf pfCallBack;
  111. } BT_UpgradeCfg_t;
  112. /*******************************************************************************
  113. * Constant
  114. ******************************************************************************/
  115. al_uint8 Al_Get_BTUpgradeFlag(void);
  116. void rda58xx_rx_handler(al_int8 * buf,volatile unsigned int buflen);
  117. int al_bluetooth_upgrade_start(char *pPath);
  118. void RegisterBTUpgradeCallback(BT_UpgradeCfg_t * callback);
  119. void BTUpgradeSendMessageToApp(al_uint32 event,al_uint32 parm);
  120. #endif