dis_app.c 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. #include "app_common.h"
  2. #include "ble.h"
  3. #include "dis_app.h"
  4. #if ((BLE_CFG_DIS_SYSTEM_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  5. static const uint8_t system_id[BLE_CFG_DIS_SYSTEM_ID_LEN_MAX] = {
  6. (uint8_t)((DISAPP_MANUFACTURER_ID & 0xFF0000) >> 16),
  7. (uint8_t)((DISAPP_MANUFACTURER_ID & 0x00FF00) >> 8),
  8. (uint8_t)(DISAPP_MANUFACTURER_ID & 0x0000FF),
  9. 0xFE,
  10. 0xFF,
  11. (uint8_t)((DISAPP_OUI & 0xFF0000) >> 16),
  12. (uint8_t)((DISAPP_OUI & 0x00FF00) >> 8),
  13. (uint8_t)(DISAPP_OUI & 0x0000FF)
  14. };
  15. #endif
  16. #if ((BLE_CFG_DIS_IEEE_CERTIFICATION != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  17. static const uint8_t ieee_id[BLE_CFG_DIS_IEEE_CERTIFICATION_LEN_MAX] = {
  18. 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA,
  19. 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA,
  20. 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA,
  21. 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA,
  22. };
  23. #endif
  24. #if ((BLE_CFG_DIS_PNP_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  25. static const uint8_t pnp_id[BLE_CFG_DIS_PNP_ID_LEN_MAX] = {
  26. 0x1,
  27. 0xAD, 0xDE,
  28. 0xDE, 0xDA,
  29. 0x01, 0x00
  30. };
  31. #endif
  32. void DISAPP_Init(void) {
  33. DIS_Data_t dis_information_data;
  34. #if ((BLE_CFG_DIS_MANUFACTURER_NAME_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  35. /**
  36. * Update MANUFACTURER NAME Information
  37. *
  38. * @param UUID
  39. * @param pPData
  40. * @return
  41. */
  42. dis_information_data.pPayload = (uint8_t*)DISAPP_MANUFACTURER_NAME;
  43. dis_information_data.Length = sizeof(DISAPP_MANUFACTURER_NAME);
  44. DIS_UpdateChar(MANUFACTURER_NAME_UUID, &dis_information_data);
  45. #endif
  46. #if ((BLE_CFG_DIS_MODEL_NUMBER_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  47. /**
  48. * Update MODEL NUMBERInformation
  49. *
  50. * @param UUID
  51. * @param pPData
  52. * @return
  53. */
  54. dis_information_data.pPayload = (uint8_t*)DISAPP_MODEL_NUMBER;
  55. dis_information_data.Length = sizeof(DISAPP_MODEL_NUMBER);
  56. DIS_UpdateChar(MODEL_NUMBER_UUID, &dis_information_data);
  57. #endif
  58. #if ((BLE_CFG_DIS_SERIAL_NUMBER_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  59. /**
  60. * Update SERIAL NUMBERInformation
  61. *
  62. * @param UUID
  63. * @param pPData
  64. * @return
  65. */
  66. dis_information_data.pPayload = (uint8_t*)DISAPP_SERIAL_NUMBER;
  67. dis_information_data.Length = sizeof(DISAPP_SERIAL_NUMBER);
  68. DIS_UpdateChar(SERIAL_NUMBER_UUID, &dis_information_data);
  69. #endif
  70. #if ((BLE_CFG_DIS_HARDWARE_REVISION_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  71. /**
  72. * Update HARDWARE REVISION NUMBERInformation
  73. *
  74. * @param UUID
  75. * @param pPData
  76. * @return
  77. */
  78. dis_information_data.pPayload = (uint8_t*)DISAPP_HARDWARE_REVISION_NUMBER;
  79. dis_information_data.Length = sizeof(DISAPP_HARDWARE_REVISION_NUMBER);
  80. DIS_UpdateChar(HARDWARE_REVISION_UUID, &dis_information_data);
  81. #endif
  82. #if ((BLE_CFG_DIS_FIRMWARE_REVISION_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  83. /**
  84. * Update FIRMWARE REVISION NUMBERInformation
  85. *
  86. * @param UUID
  87. * @param pPData
  88. * @return
  89. */
  90. dis_information_data.pPayload = (uint8_t*)DISAPP_FIRMWARE_REVISION_NUMBER;
  91. dis_information_data.Length = sizeof(DISAPP_FIRMWARE_REVISION_NUMBER);
  92. DIS_UpdateChar(FIRMWARE_REVISION_UUID, &dis_information_data);
  93. #endif
  94. #if ((BLE_CFG_DIS_SOFTWARE_REVISION_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  95. /**
  96. * Update SOFTWARE REVISION NUMBERInformation
  97. *
  98. * @param UUID
  99. * @param pPData
  100. * @return
  101. */
  102. dis_information_data.pPayload = (uint8_t*)DISAPP_SOFTWARE_REVISION_NUMBER;
  103. dis_information_data.Length = sizeof(DISAPP_SOFTWARE_REVISION_NUMBER);
  104. DIS_UpdateChar(SOFTWARE_REVISION_UUID, &dis_information_data);
  105. #endif
  106. #if ((BLE_CFG_DIS_SYSTEM_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  107. /**
  108. * Update SYSTEM ID Information
  109. *
  110. * @param UUID
  111. * @param pPData
  112. * @return
  113. */
  114. dis_information_data.pPayload = (uint8_t *)system_id;
  115. dis_information_data.Length = BLE_CFG_DIS_SYSTEM_ID_LEN_MAX;
  116. DIS_UpdateChar(SYSTEM_ID_UUID, &dis_information_data);
  117. #endif
  118. #if ((BLE_CFG_DIS_IEEE_CERTIFICATION != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  119. /**
  120. * Update IEEE CERTIFICATION ID Information
  121. *
  122. * @param UUID
  123. * @param pPData
  124. * @return
  125. */
  126. dis_information_data.pPayload = (uint8_t *)ieee_id;
  127. dis_information_data.Length = BLE_CFG_DIS_IEEE_CERTIFICATION_LEN_MAX;
  128. DIS_UpdateChar(IEEE_CERTIFICATION_UUID, &dis_information_data);
  129. #endif
  130. #if ((BLE_CFG_DIS_PNP_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0))
  131. /**
  132. * Update PNP ID Information
  133. *
  134. * @param UUID
  135. * @param pPData
  136. * @return
  137. */
  138. dis_information_data.pPayload = (uint8_t *)pnp_id;
  139. dis_information_data.Length = BLE_CFG_DIS_PNP_ID_LEN_MAX;
  140. DIS_UpdateChar(PNP_ID_UUID, &dis_information_data);
  141. #endif
  142. }