hal_bt.c 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. /*
  2. * BSD 2-Clause License
  3. * Copyright (c) 2022, LiteEMF
  4. * All rights reserved.
  5. * This software component is licensed by LiteEMF under BSD 2-Clause license,
  6. * the "License"; You may not use this file except in compliance with the
  7. * License. You may obtain a copy of the License at:
  8. * opensource.org/licenses/BSD-2-Clause
  9. *
  10. */
  11. #include "hw_config.h"
  12. #if API_BT_ENABLE
  13. #include "api/bt/api_bt.h"
  14. #include "api/api_log.h"
  15. /*******************************************************************************************************************
  16. ** Hardware Defined
  17. ********************************************************************************************************************/
  18. /*******************************************************************************************************************
  19. ** public Parameters
  20. ********************************************************************************************************************/
  21. /*******************************************************************************************************************
  22. ** static Parameters
  23. ********************************************************************************************************************/
  24. /*****************************************************************************************************
  25. ** hal bt Function
  26. ******************************************************************************************************/
  27. bool hal_bt_get_mac(uint8_t id, bt_t bt, uint8_t *buf )
  28. {
  29. bool ret = false;
  30. if(BT_ID0 != id) return false;
  31. switch(bt){
  32. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  33. case BT_BLE:
  34. case BT_BLE_RF: //BLE模拟2.4G
  35. break;
  36. #endif
  37. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  38. case BT_BLEC:
  39. case BT_BLE_RFC:
  40. break;
  41. #endif
  42. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  43. case BT_EDR:
  44. break;
  45. #endif
  46. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  47. case BT_EDRC:
  48. break;
  49. #endif
  50. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  51. case BT_RF:
  52. break;
  53. #endif
  54. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  55. case BT_RFC:
  56. break;
  57. #endif
  58. }
  59. return ret;
  60. }
  61. bool hal_bt_is_bonded(uint8_t id, bt_t bt)
  62. {
  63. bool ret = false;
  64. if(BT_ID0 != id) return false;
  65. switch(bt){
  66. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  67. case BT_BLE:
  68. case BT_BLE_RF: //BLE模拟2.4G
  69. break;
  70. #endif
  71. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  72. case BT_BLEC:
  73. case BT_BLE_RFC:
  74. break;
  75. #endif
  76. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  77. case BT_EDR:
  78. break;
  79. #endif
  80. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  81. case BT_EDRC:
  82. break;
  83. #endif
  84. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  85. case BT_RF:
  86. break;
  87. #endif
  88. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  89. case BT_RFC:
  90. break;
  91. #endif
  92. }
  93. return ret;
  94. }
  95. bool hal_bt_debond(uint8_t id, bt_t bt)
  96. {
  97. bool ret = false;
  98. if(BT_ID0 != id) return false;
  99. switch(bt){
  100. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  101. case BT_BLE:
  102. case BT_BLE_RF: //BLE模拟2.4G
  103. break;
  104. #endif
  105. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  106. case BT_BLEC:
  107. case BT_BLE_RFC:
  108. break;
  109. #endif
  110. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  111. case BT_EDR:
  112. break;
  113. #endif
  114. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  115. case BT_EDRC:
  116. break;
  117. #endif
  118. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  119. case BT_RF:
  120. break;
  121. #endif
  122. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  123. case BT_RFC:
  124. break;
  125. #endif
  126. }
  127. return ret;
  128. }
  129. bool hal_bt_disconnect(uint8_t id, bt_t bt)
  130. {
  131. bool ret = false;
  132. if(BT_ID0 != id) return false;
  133. switch(bt){
  134. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  135. case BT_BLE:
  136. case BT_BLE_RF: //BLE模拟2.4G
  137. break;
  138. #endif
  139. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  140. case BT_BLEC:
  141. case BT_BLE_RFC:
  142. break;
  143. #endif
  144. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  145. case BT_EDR:
  146. break;
  147. #endif
  148. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  149. case BT_EDRC:
  150. break;
  151. #endif
  152. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  153. case BT_RF:
  154. break;
  155. #endif
  156. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  157. case BT_RFC:
  158. break;
  159. #endif
  160. }
  161. return ret;
  162. }
  163. bool hal_bt_enable(uint8_t id, bt_t bt,bool en)
  164. {
  165. bool ret = false;
  166. if(BT_ID0 != id) return false;
  167. switch(bt){
  168. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  169. case BT_BLE:
  170. case BT_BLE_RF: //BLE模拟2.4G
  171. break;
  172. #endif
  173. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  174. case BT_BLEC:
  175. case BT_BLE_RFC:
  176. break;
  177. #endif
  178. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  179. case BT_EDR:
  180. break;
  181. #endif
  182. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  183. case BT_EDRC:
  184. break;
  185. #endif
  186. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  187. case BT_RF:
  188. break;
  189. #endif
  190. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  191. case BT_RFC:
  192. break;
  193. #endif
  194. }
  195. return ret;
  196. }
  197. bool hal_bt_uart_tx(uint8_t id, bt_t bt,uint8_t *buf, uint16_t len)
  198. {
  199. bool ret = false;
  200. if(BT_ID0 != id) return false;
  201. switch(bt){
  202. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  203. case BT_BLE:
  204. case BT_BLE_RF: //BLE模拟2.4G
  205. break;
  206. #endif
  207. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  208. case BT_BLEC:
  209. case BT_BLE_RFC:
  210. break;
  211. #endif
  212. #if (BT0_SUPPORT & BIT_ENUM(TR_EDR)) && (EDR_TYPE_SUPPORT & BIT_ENUM(DEV_TYPE_VENDOR))
  213. case BT_EDR:
  214. break;
  215. #endif
  216. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  217. case BT_EDRC:
  218. break;
  219. #endif
  220. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  221. case BT_RF:
  222. break;
  223. #endif
  224. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  225. case BT_RFC:
  226. break;
  227. #endif
  228. }
  229. return ret;
  230. }
  231. bool hal_bt_hid_tx(uint8_t id, bt_t bt, uint8_t hid_requset,uint8_t*buf, uint16_t len)
  232. {
  233. bool ret = false;
  234. if(BT_ID0 != id) return false;
  235. switch(bt){
  236. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  237. case BT_BLE:
  238. case BT_BLE_RF: //BLE模拟2.4G
  239. break;
  240. #endif
  241. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  242. case BT_BLEC:
  243. case BT_BLE_RFC:
  244. break;
  245. #endif
  246. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  247. case BT_EDR:
  248. break;
  249. #endif
  250. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  251. case BT_EDRC:
  252. break;
  253. #endif
  254. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  255. case BT_RF:
  256. break;
  257. #endif
  258. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  259. case BT_RFC:
  260. break;
  261. #endif
  262. }
  263. return ret;
  264. }
  265. bool hal_bt_init(uint8_t id)
  266. {
  267. bool ret = false;
  268. if(BT_ID0 != id) return false;
  269. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  270. #endif
  271. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  272. #endif
  273. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  274. #endif
  275. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  276. #endif
  277. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  278. #endif
  279. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  280. #endif
  281. return ret;
  282. }
  283. bool hal_bt_deinit(uint8_t id)
  284. {
  285. bool ret = false;
  286. if(BT_ID0 != id) return false;
  287. #if BT0_SUPPORT & (BIT_ENUM(TR_BLE) | BIT_ENUM(TR_BLE_RF))
  288. #endif
  289. #if BT0_SUPPORT & (BIT_ENUM(TR_BLEC) | BIT_ENUM(TR_BLE_RFC))
  290. #endif
  291. #if BT0_SUPPORT & BIT_ENUM(TR_EDR)
  292. #endif
  293. #if BT0_SUPPORT & BIT_ENUM(TR_EDRC)
  294. #endif
  295. #if BT0_SUPPORT & BIT_ENUM(TR_RF)
  296. #endif
  297. #if BT0_SUPPORT & BIT_ENUM(TR_RFC)
  298. #endif
  299. return ret;
  300. }
  301. void hal_bt_task(void* pa)
  302. {
  303. UNUSED_PARAMETER(pa);
  304. }
  305. #endif