al_uart_smart_ctrl.h 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. #ifndef __AL_BLUETOOTH_CTRL_H__
  2. #define __AL_BLUETOOTH_CTRL_H__
  3. #include "al_basictypes.h"
  4. //**********************************************************************
  5. //module
  6. //**********************************************************************
  7. /**
  8. UART_CMD_Definition
  9. Head | Len | CMD | DATA0 | DATA1 | ... | CheckSum
  10. CheckSum = (Len+CMD+Data0+Data1+...)&0xFF
  11. **/
  12. #define CMD_SMART_HEADER 0x16
  13. #define BT_NAME_LEN_MAX 40
  14. typedef enum {
  15. SMART_CMD_SET_LANGUAGE = 0x1,//android to tv
  16. SMART_CMD_GET_DATETIME = 0x2,//tv to android
  17. SMART_CMD_RESPOND_DATETIME = 0x3,//android to tv, android send time to tv
  18. SMART_CMD_PLAY_USB_FILE = 0x4,//android to tv
  19. SMART_CMD_PLAY_LIVE_TV = 0x5,//android to tv
  20. SMART_CMD_PLAY_PC = 0x6,//android to tv
  21. SMART_CMD_PLAY_AV = 0x7,//android to tv
  22. SMART_CMD_PLAY_HDMI = 0x8,//android to tv
  23. SMART_CMD_PLAY_YPBPR = 0x9,//android to tv
  24. SMART_CMD_SET_SOURCE = 0xA,//tv to android, tv send support source to android
  25. SMART_CMD_ANDROID_GET_TVSOURCE = 0xB,//android to tv,android get tv support source
  26. SMART_CMD_RESPOND_ACTION = 0XC,//android to tv
  27. SMART_CMD_RESPOND_BT_NAME = 0xD,
  28. SMART_CMD_SET_BT_NAME = 0xE,
  29. SMART_CMD_PLAY_SCART = 0x10,//android to tv
  30. SMART_CMD_PLAY_GAME = 0x11,//android to tv
  31. SMART_CMD_PLAY_BT = 0x12,//android to tv
  32. SMART_CMD_SUPPORT_LANGUAGE = 0x13,
  33. SMART_CMD_GET_BT_NAME = 0x14,
  34. SMART_CMD_TVIR_CMD = 0x15,//tv to android
  35. SMART_CMD_TV_SET_LANGUAGE = 0x16,//tv to android
  36. SMART_CMD_EVENT_END,
  37. SMART_CMD_MAX,
  38. } AL_Enum_Smart_Cmd;
  39. typedef enum {
  40. //SMART_CMD_KEY_0 = 0x0,
  41. SMART_CMD_KEY_1 = 0x1,
  42. SMART_CMD_KEY_2 = 0x2,
  43. SMART_CMD_KEY_3 = 0x3,
  44. SMART_CMD_KEY_4 = 0x4,
  45. SMART_CMD_KEY_5 = 0x5,
  46. SMART_CMD_KEY_6 = 0x6,
  47. SMART_CMD_KEY_7 = 0x7,
  48. SMART_CMD_KEY_8 = 0x8,
  49. SMART_CMD_KEY_9 = 0x9,
  50. SMART_CMD_KEY_UP = 0xA,
  51. SMART_CMD_KEY_DOWN = 0xB,
  52. SMART_CMD_KEY_LEFT = 0xC,
  53. SMART_CMD_KEY_RIGHT = 0xD,
  54. SMART_CMD_KEY_ENTER = 0xE,
  55. SMART_CMD_KEY_MUTE = 0xF,
  56. SMART_CMD_KEY_VOL_UP = 0x10,
  57. SMART_CMD_KEY_VOL_DOWN = 0x11,
  58. SMART_CMD_KEY_EXIT = 0x12,
  59. SMART_CMD_KEY_GOTO = 0x13,
  60. SMART_CMD_KEY_AB = 0x14,
  61. SMART_CMD_KEY_STOP = 0x15,
  62. SMART_CMD_KEY_PLAY = 0x16,
  63. SMART_CMD_KEY_PAUSE = 0x17,
  64. SMART_CMD_KEY_SLOW = 0x18,
  65. SMART_CMD_KEY_FF = 0x19,
  66. SMART_CMD_KEY_FR = 0x1A,
  67. SMART_CMD_KEY_NEXT = 0x1B,
  68. SMART_CMD_KEY_PREV = 0x1C,
  69. SMART_CMD_KEY_PLAY_PAUSE= 0x1D,
  70. SMART_CMD_KEY_INFO = 0x1E,
  71. SMART_CMD_KEY_SETUP = 0x1F,
  72. SMART_CMD_KEY_HOME = 0x20,
  73. SMART_CMD_KEY_RED = 0x21,
  74. SMART_CMD_KEY_BLUE = 0x22,
  75. SMART_CMD_KEY_GREEN = 0x23,
  76. SMART_CMD_KEY_YELLOW = 0x24,
  77. SMART_CMD_KEY_MOVIE = 0x25,
  78. SMART_CMD_KEY_FAVOURITE = 0x26,
  79. SMART_CMD_KEY_SUBTITLE = 0x27,
  80. SMART_CMD_KEY_NETFLIX = 0x28,
  81. SMART_CMD_KEY_YOUTUBE = 0x29,
  82. SMART_CMD_KEY_LOCHAR_a = 0x2A,
  83. SMART_CMD_KEY_LOCHAR_b = 0x2B,
  84. SMART_CMD_KEY_LOCHAR_c = 0x2C,
  85. SMART_CMD_KEY_LOCHAR_d = 0x2D,
  86. SMART_CMD_KEY_LOCHAR_e = 0x2E,
  87. SMART_CMD_KEY_LOCHAR_f = 0x2F,
  88. SMART_CMD_KEY_LOCHAR_g = 0x30,
  89. SMART_CMD_KEY_LOCHAR_h = 0x31,
  90. SMART_CMD_KEY_LOCHAR_i = 0x32,
  91. SMART_CMD_KEY_LOCHAR_j = 0x33,
  92. SMART_CMD_KEY_LOCHAR_k = 0x34,
  93. SMART_CMD_KEY_LOCHAR_l = 0x35,
  94. SMART_CMD_KEY_LOCHAR_m = 0x36,
  95. SMART_CMD_KEY_LOCHAR_n = 0x37,
  96. SMART_CMD_KEY_LOCHAR_o = 0x38,
  97. SMART_CMD_KEY_LOCHAR_p = 0x39,
  98. SMART_CMD_KEY_LOCHAR_q = 0x3A,
  99. SMART_CMD_KEY_LOCHAR_r = 0x3B,
  100. SMART_CMD_KEY_LOCHAR_s = 0x3C,
  101. SMART_CMD_KEY_LOCHAR_t = 0x3D,
  102. SMART_CMD_KEY_LOCHAR_u = 0x3E,
  103. SMART_CMD_KEY_LOCHAR_v = 0x3F,
  104. SMART_CMD_KEY_LOCHAR_w = 0x40,
  105. SMART_CMD_KEY_LOCHAR_x = 0x41,
  106. SMART_CMD_KEY_LOCHAR_y = 0x42,
  107. SMART_CMD_KEY_LOCHAR_z = 0x43,
  108. SMART_CMD_KEY_HICHAR_A = 0x44,
  109. SMART_CMD_KEY_HICHAR_B = 0x45,
  110. SMART_CMD_KEY_HICHAR_C = 0x46,
  111. SMART_CMD_KEY_HICHAR_D = 0x47,
  112. SMART_CMD_KEY_HICHAR_E = 0x48,
  113. SMART_CMD_KEY_HICHAR_F = 0x49,
  114. SMART_CMD_KEY_HICHAR_G = 0x4A,
  115. SMART_CMD_KEY_HICHAR_H = 0x4B,
  116. SMART_CMD_KEY_HICHAR_I = 0x4C,
  117. SMART_CMD_KEY_HICHAR_J = 0x4D,
  118. SMART_CMD_KEY_HICHAR_K = 0x4E,
  119. SMART_CMD_KEY_HICHAR_L = 0x4F,
  120. SMART_CMD_KEY_HICHAR_M = 0x50,
  121. SMART_CMD_KEY_HICHAR_N = 0x51,
  122. SMART_CMD_KEY_HICHAR_O = 0x52,
  123. SMART_CMD_KEY_HICHAR_P = 0x53,
  124. SMART_CMD_KEY_HICHAR_Q = 0x54,
  125. SMART_CMD_KEY_HICHAR_R = 0x55,
  126. SMART_CMD_KEY_HICHAR_S = 0x56,
  127. SMART_CMD_KEY_HICHAR_T = 0x57,
  128. SMART_CMD_KEY_HICHAR_U = 0x58,
  129. SMART_CMD_KEY_HICHAR_V = 0x59,
  130. SMART_CMD_KEY_HICHAR_W = 0x5A,
  131. SMART_CMD_KEY_HICHAR_X = 0x5B,
  132. SMART_CMD_KEY_HICHAR_Y = 0x5C,
  133. SMART_CMD_KEY_HICHAR_Z = 0x5D,
  134. SMART_CMD_KEY_SYMBOL_QUEST = 0x5E,
  135. SMART_CMD_KEY_SYMBOL_EXCLA = 0x5F,
  136. SMART_CMD_KEY_SYMBOL_POUND = 0x60,
  137. SMART_CMD_KEY_SYMBOL_DOLAR = 0x61,
  138. SMART_CMD_KEY_SYMBOL_PERCENT = 0x62,
  139. SMART_CMD_KEY_SYMBOL_AND = 0x63,
  140. SMART_CMD_KEY_SYMBOL_STAR = 0x64,
  141. SMART_CMD_KEY_SYMBOL_OPEN_PAREN = 0x65,
  142. SMART_CMD_KEY_SYMBOL_CLOSE_PAREN = 0x66,
  143. SMART_CMD_KEY_SYMBOL_PLUS = 0x67,
  144. SMART_CMD_KEY_SYMBOL_MINUS = 0x68,
  145. SMART_CMD_KEY_SYMBOL_EQUAL = 0x69,
  146. SMART_CMD_KEY_SYMBOL_SLASH = 0x6A,
  147. SMART_CMD_KEY_SYMBOL_UNDERSCORE = 0x6B,
  148. SMART_CMD_KEY_SYMBOL_QUOTE = 0x6C,
  149. SMART_CMD_KEY_SYMBOL_SEMICOLON = 0x6D,
  150. SMART_CMD_KEY_SYMBOL_COLON = 0x6E,
  151. SMART_CMD_KEY_SYMBOL_WWW = 0x6F,
  152. SMART_CMD_KEY_SYMBOL_MOUSE = 0x70,
  153. SMART_CMD_KEY_SYMBOL_COM = 0x71,
  154. SMART_CMD_KEY_DEL = 0x72,
  155. SMART_CMD_KEY_SYMBOL_COMMA = 0x73,
  156. SMART_CMD_KEY_SYMBOL_DOT = 0x74,
  157. SMART_CMD_KEY_TAB = 0x75,
  158. SMART_CMD_KEY_SPACE = 0x76,
  159. SMART_CMD_KEY_MOUSE = 0x77,
  160. SMART_CMD_KEY_TVDEL = 0x78,
  161. SMART_CMD_KEY_0 = 0x79,
  162. SMART_CMD_KEY_MENU = 0x80,//android menu
  163. SMART_CMD_KEY_ZOOMOUT = 0x81,//zoom+
  164. SMART_CMD_KEY_ZOOMIN = 0x82,//zoom-
  165. SMART_CMD_KEY_PAGEI = 0x83,//page+
  166. SMART_CMD_KEY_PAGED = 0x84,//page-
  167. SMART_CMD_KEY_MAX,
  168. }AL_Enum_Smart_Key_Cmd;
  169. typedef enum {
  170. SMART_DATA_LANGUAGE_English = 0x1,
  171. SMART_DATA_LANGUAGE_SChinese = 0x2,
  172. SMART_DATA_LANGUAGE_TChinese = 0x3,
  173. SMART_DATA_LANGUAGE_Thai = 0x4,
  174. SMART_DATA_LANGUAGE_Vietnamese = 0x5,
  175. SMART_DATA_LANGUAGE_Hindi = 0x6,
  176. SMART_DATA_LANGUAGE_Marathi = 0x7,
  177. SMART_DATA_LANGUAGE_Tamil = 0x8,
  178. SMART_DATA_LANGUAGE_Telugu = 0x9,
  179. SMART_DATA_LANGUAGE_Punjabi = 0xa,
  180. SMART_DATA_LANGUAGE_Bangla = 0xb,
  181. SMART_DATA_LANGUAGE_Gujrati = 0xc,
  182. SMART_DATA_LANGUAGE_Hebrew = 0xd,
  183. SMART_DATA_LANGUAGE_Korean = 0xe,
  184. SMART_DATA_LANGUAGE_Malayan = 0xf,
  185. SMART_DATA_LANGUAGE_Spanish = 0x10,
  186. SMART_DATA_LANGUAGE_French = 0x11,
  187. SMART_DATA_LANGUAGE_MAX,
  188. }AL_Enum_Smart_Data_Language;
  189. typedef enum {
  190. SMART_DATA_GET_LANGUAGE_German = 0x0,
  191. SMART_DATA_GET_LANGUAGE_English = 0x1,
  192. SMART_DATA_GET_LANGUAGE_French = 0x2,
  193. SMART_DATA_GET_LANGUAGE_Italian = 0x3,
  194. SMART_DATA_GET_LANGUAGE_Polish = 0x4,
  195. SMART_DATA_GET_LANGUAGE_Spanish = 0x5,
  196. SMART_DATA_GET_LANGUAGE_Netherlands = 0x6,
  197. SMART_DATA_GET_LANGUAGE_Portuguese = 0x7,
  198. SMART_DATA_GET_LANGUAGE_Swidish = 0x8,
  199. SMART_DATA_GET_LANGUAGE_Finnish = 0x9,
  200. SMART_DATA_GET_LANGUAGE_Greek = 0xA,
  201. SMART_DATA_GET_LANGUAGE_Russian = 0xB,
  202. SMART_DATA_GET_LANGUAGE_Turkey = 0xC,
  203. SMART_DATA_GET_LANGUAGE_Danish = 0xD,
  204. SMART_DATA_GET_LANGUAGE_Norwegian = 0xE,
  205. SMART_DATA_GET_LANGUAGE_Hungarian = 0xF,
  206. SMART_DATA_GET_LANGUAGE_Czech = 0x10,
  207. SMART_DATA_GET_LANGUAGE_Slovakian = 0x11,
  208. SMART_DATA_GET_LANGUAGE_Croatian = 0x12,
  209. SMART_DATA_GET_LANGUAGE_Serbian = 0x13,
  210. SMART_DATA_GET_LANGUAGE_Arabic = 0x14,
  211. SMART_DATA_GET_LANGUAGE_Persian = 0x15,
  212. SMART_DATA_GET_LANGUAGE_Thai = 0x16,
  213. SMART_DATA_GET_LANGUAGE_Vietnamese = 0x17,
  214. SMART_DATA_GET_LANGUAGE_TChinese = 0x18,
  215. SMART_DATA_GET_LANGUAGE_SChinese = 0x19,
  216. SMART_DATA_GET_LANGUAGE_Hindi = 0x1A,
  217. SMART_DATA_GET_LANGUAGE_Marathi = 0x1B,
  218. SMART_DATA_GET_LANGUAGE_Tamil = 0x1C,
  219. SMART_DATA_GET_LANGUAGE_Telgu = 0x1D,
  220. SMART_DATA_GET_LANGUAGE_Punjabi = 0x1E,
  221. SMART_DATA_GET_LANGUAGE_Bangla = 0x1F,
  222. SMART_DATA_GET_LANGUAGE_Gujrati = 0x20,
  223. SMART_DATA_GET_LANGUAGE_Hebrew = 0x21,
  224. SMART_DATA_GET_LANGUAGE_Korean = 0x22,
  225. SMART_DATA_GET_LANGUAGE_Malayan = 0x23,
  226. SMART_DATA_GET_LANGUAGE_MAX,
  227. }AL_Enum_Smart_Get_Language;
  228. typedef enum {
  229. SMART_DATA_PLAY_FILE_LOCAL = 0x1,
  230. SMART_DATA_PLAY_FILE_MOVE = 0x2,
  231. SMART_DATA_PLAY_FILE_MUSIC = 0x3,
  232. SMART_DATA_PLAY_FILE_PHOTO = 0x4,
  233. SMART_DATA_PLAY_FILE_TXT = 0x5,
  234. SMART_DATA_PLAY_FILE_MAX,
  235. }AL_Enum_Smart_Data_Play_File;
  236. typedef enum {
  237. SMART_DATA_PLAY_TV_ATV = 0x1,
  238. SMART_DATA_PLAY_TV_DVBT = 0x2,
  239. SMART_DATA_PLAY_TV_DVBC = 0x3,
  240. SMART_DATA_PLAY_TV_DVBS = 0x4,
  241. SMART_DATA_PLAY_TV_MAX,
  242. }AL_Enum_Smart_Data_Play_TV;
  243. typedef enum {
  244. SMART_DATA_PLAY_AV_AV1 = 0x1,
  245. SMART_DATA_PLAY_AV_AV2 = 0x2,
  246. SMART_DATA_PLAY_AV_AV3 = 0x3,
  247. SMART_DATA_PLAY_AV_MAX,
  248. }AL_Enum_Smart_Data_Play_AV;
  249. typedef enum {
  250. SMART_DATA_PLAY_HDMI_HDMI1 = 0x1,
  251. SMART_DATA_PLAY_HDMI_HDMI2 = 0x2,
  252. SMART_DATA_PLAY_HDMI_HDMI3 = 0x3,
  253. SMART_DATA_PLAY_HDMI_MAX,
  254. }AL_Enum_Smart_Data_Play_HDMI;
  255. typedef enum {
  256. SMART_DATA_PLAY_YPP_YPP1 = 0x1,
  257. SMART_DATA_PLAY_YPP_YPP2 = 0x2,
  258. SMART_DATA_PLAY_YPP_YPP3 = 0x3,
  259. SMART_DATA_PLAY_YPP_MAX,
  260. }AL_Enum_Smart_Data_Play_YPP;
  261. typedef enum {
  262. SMART_DATA_PLAY_SCART_SCART1 = 0x1,
  263. SMART_DATA_PLAY_SCART_SCART2 = 0x2,
  264. SMART_DATA_PLAY_SCART_MAX,
  265. }AL_Enum_Smart_Data_Play_SCART;
  266. typedef struct Smart_MessageBody_t_ {
  267. al_uint8 dMessageCmd;
  268. al_uint8 dCmdSize;
  269. al_uint8 *pdata;
  270. } Smart_MessageBody_t;
  271. typedef int (*Smart_ModCbk_pf) (Smart_MessageBody_t stEvt);
  272. typedef struct Smart_ModualCfg_t_ {
  273. Smart_ModCbk_pf pfCallBack;
  274. } Smart_ModualCfg_t;
  275. al_int Al_Smart_Listener(void *argv);
  276. al_int32 Al_Smart_Set_Action(al_uint8 inCmd, al_uint8 * data, al_uint8 size);
  277. al_int32 Al_Smart_Get_Action(al_uint8 inCmd, void * data);
  278. UINT32 APP_Smart_Set_TVLanguage(AL_Enum_Smart_Get_Language language);
  279. #endif