OTAprofile.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /********************************** (C) COPYRIGHT *******************************
  2. * File Name : OTAprofile.h
  3. * Author : WCH
  4. * Version : V1.0
  5. * Date : 2018/12/11
  6. * Description :
  7. *********************************************************************************
  8. * Copyright (c) 2021 Nanjing Qinheng Microelectronics Co., Ltd.
  9. * Attention: This software (modified or not) and binary are used for
  10. * microcontroller manufactured by Nanjing Qinheng Microelectronics.
  11. *******************************************************************************/
  12. #ifndef OTAPROFILE_H
  13. #define OTAPROFILE_H
  14. #ifdef __cplusplus
  15. extern "C" {
  16. #endif
  17. /*********************************************************************
  18. * INCLUDES
  19. */
  20. /*********************************************************************
  21. * CONSTANTS
  22. */
  23. // OTA Profile通道Index定义
  24. #define OTAPROFILE_CHAR 0
  25. // OTA 服务的UUID定义
  26. #define OTAPROFILE_SERV_UUID 0xFEE0
  27. // OTA 通讯通道UUID定义
  28. #define OTAPROFILE_CHAR_UUID 0xFEE1
  29. // Simple Keys Profile Services bit fields
  30. #define OTAPROFILE_SERVICE 0x00000001
  31. /*********************************************************************
  32. * TYPEDEFS
  33. */
  34. /*********************************************************************
  35. * MACROS
  36. */
  37. /*********************************************************************
  38. * Profile Callbacks
  39. */
  40. // 读写操作函数回调
  41. typedef void (*OTAProfileRead_t)(unsigned char paramID);
  42. typedef void (*OTAProfileWrite_t)(unsigned char paramID, unsigned char *p_data, unsigned char w_len);
  43. typedef struct
  44. {
  45. OTAProfileRead_t pfnOTAProfileRead;
  46. OTAProfileWrite_t pfnOTAProfileWrite;
  47. } OTAProfileCBs_t;
  48. /*********************************************************************
  49. * API FUNCTIONS
  50. */
  51. /**
  52. * @brief OTA Profile初始化
  53. *
  54. * @param services - 服务控制字
  55. *
  56. * @return 初始化的状态
  57. */
  58. bStatus_t OTAProfile_AddService(uint32_t services);
  59. /**
  60. * @brief OTA Profile读写回调函数注册
  61. *
  62. * @param appCallbacks - 函数结构体指针
  63. *
  64. * @return 函数执行状态
  65. */
  66. bStatus_t OTAProfile_RegisterAppCBs(OTAProfileCBs_t *appCallbacks);
  67. /**
  68. * @brief OTA Profile通道发送数据
  69. *
  70. * @param paramID - OTA通道选择
  71. * @param p_data - 数据指针
  72. * @param send_len - 发送数据长度
  73. *
  74. * @return 函数执行状态
  75. */
  76. bStatus_t OTAProfile_SendData(unsigned char paramID, unsigned char *p_data, unsigned char send_len);
  77. /*********************************************************************
  78. *********************************************************************/
  79. #ifdef __cplusplus
  80. }
  81. #endif
  82. #endif