app_wireless_pair.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #ifndef __APP_WIRELESS_PAIR_H__
  2. #define __APP_WIRELESS_PAIR_H__
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. /*Includes ------------------------------------------------------*/
  7. #include <stdbool.h>
  8. #include <stdint.h>
  9. #include <string.h>
  10. #include "sdk_common.h"
  11. #include "SEGGER_RTT.h"
  12. #include "usr_config.h"
  13. /*Private macro ------------------------------------------------------------------------------------------------------------------------------------*/
  14. /*Struction ----------------------------------------------------*/
  15. //定义事件的枚举类型
  16. typedef enum _app_wireless_pair_event
  17. {
  18. APP_WIRELESS_PAIR_EVENT_CHARGING_INSERTING, //充电插入
  19. APP_WIRELESS_PAIR_EVENT_CHARGING_UNPLUG, //充电拔出
  20. APP_WIRELESS_PAIR_EVENT_RSSI_MEETS_REQUIREMENTS, //rssi符合要求
  21. APP_WIRELESS_PAIR_EVENT_RSSI_DOES_NOT_MEETS_REQUIREMENTS, //rssi不符合要求
  22. APP_WIRELESS_PAIR_EVENT_PAIR_DONE, //配对完成
  23. }App_Wireless_Pair_Event_e;
  24. //定义状态数据的枚举类型
  25. typedef enum _app_wireless_pair_state
  26. {
  27. APP_WIRELESS_PAIR_STATE_PAIRING_STANDBY, //配对待机状态
  28. APP_WIRELESS_PAIR_STATE_PAIRING_PREPARATION, //配对准备中状态
  29. APP_WIRELESS_PAIR_STATE_PAIRING_IN_PROGRESS, //配对进行中状态
  30. APP_WIRELESS_PAIR_STATE_END_OF_PAIRING, //配对结束状态
  31. }App_Wireless_Pair_State_e;
  32. typedef int (*App_Wireless_Pair_Set_Scan_Cb)(int on_off);
  33. typedef int (*App_Wireless_Pair_Set_Adv_Cb)(int on_off);
  34. /*API -------------------------------------------------------*/
  35. /**
  36. @brief 初始化无线配对应用
  37. @param 无
  38. @return 错误代码 - [out] -1失败,0成功
  39. */
  40. int app_wireless_pair_Init(void);
  41. /**
  42. @brief 无线配对注册扫描设置
  43. @param cb - [in] 注册的回调
  44. @return 错误代码 - [out] -1失败,0成功
  45. */
  46. int app_wireless_pair_Regist_SetScan(App_Wireless_Pair_Set_Scan_Cb cb);
  47. /**
  48. @brief 无线配对注册广播设置
  49. @param cb - [in] 注册的回调
  50. @return 错误代码 - [out] -1失败,0成功
  51. */
  52. int app_wireless_pair_Regist_SetAdv(App_Wireless_Pair_Set_Adv_Cb cb);
  53. /**
  54. @brief 无线配对扫描请求
  55. @param rssi - [in] 天线信号强度
  56. @param addr - [in] MAC地址缓冲区指针
  57. @return 错误代码 - [out] -1失败,0成功
  58. */
  59. int app_wireless_pair_Scan_Req(int rssi, uint8_t *addr);
  60. /**
  61. @brief 无线配对扫描回复
  62. @param rssi - [in] 天线信号强度
  63. @param addr - [in] MAC地址缓冲区指针
  64. @return 错误代码 - [out] -1失败,0成功
  65. */
  66. int app_wireless_pair_Scan_Rsp(int rssi, uint8_t *addr);
  67. /**
  68. @brief 无线配对亮灯
  69. @param 无
  70. @return 错误代码 - [out] -1失败,0成功
  71. */
  72. int app_wireless_pair_start_led(void);
  73. /**
  74. @brief 无线配对灭灯
  75. @param 无
  76. @return 错误代码 - [out] -1失败,0成功
  77. */
  78. int app_wireless_pair_stop_led(void);
  79. /**
  80. @brief 无线配对事件处理
  81. @param event - [in] 事件
  82. @return 错误代码 - [out] -1失败,0成功
  83. */
  84. int app_wireless_pair_EventHandle(App_Wireless_Pair_Event_e event);
  85. App_Wireless_Pair_State_e app_wireless_pair_get_curstate(void);
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89. #endif