diff options
Diffstat (limited to 'Projects/STM32WB5MM-DK/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c')
-rw-r--r-- | Projects/STM32WB5MM-DK/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/Projects/STM32WB5MM-DK/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c b/Projects/STM32WB5MM-DK/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c new file mode 100644 index 000000000..396fcad74 --- /dev/null +++ b/Projects/STM32WB5MM-DK/Applications/BLE/BLE_HeartRate/STM32_WPAN/App/dis_app.c @@ -0,0 +1,220 @@ +/* USER CODE BEGIN Header */ +/** + ****************************************************************************** + * File Name : App/dis_app.c + * Description : Device Information Service Application + ****************************************************************************** + * @attention + * + * <h2><center>© Copyright (c) 2021 STMicroelectronics. + * All rights reserved.</center></h2> + * + * This software component is licensed by ST under Ultimate Liberty license + * SLA0044, the "License"; You may not use this file except in compliance with + * the License. You may obtain a copy of the License at: + * www.st.com/SLA0044 + * + ****************************************************************************** + */ +/* USER CODE END Header */ + +/* Includes ------------------------------------------------------------------*/ +#include "app_common.h" +#include "ble.h" +#include "dis_app.h" + +/* Private includes -----------------------------------------------------------*/ +/* USER CODE BEGIN Includes */ + +/* USER CODE END Includes */ + +/* Private typedef -----------------------------------------------------------*/ +/* USER CODE BEGIN PTD */ + +/* USER CODE END PTD */ + +/* Private defines -----------------------------------------------------------*/ +/* USER CODE BEGIN PD */ + +/* USER CODE END PD */ + +/* Private macros ------------------------------------------------------------*/ +/* USER CODE BEGIN PM */ + +/* USER CODE END PM */ + +/* Private variables ---------------------------------------------------------*/ +#if ((BLE_CFG_DIS_SYSTEM_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) +static const uint8_t system_id[BLE_CFG_DIS_SYSTEM_ID_LEN_MAX] = +{ + (uint8_t)((DISAPP_MANUFACTURER_ID & 0xFF0000) >> 16), + (uint8_t)((DISAPP_MANUFACTURER_ID & 0x00FF00) >> 8), + (uint8_t)(DISAPP_MANUFACTURER_ID & 0x0000FF), + 0xFE, + 0xFF, + (uint8_t)((DISAPP_OUI & 0xFF0000) >> 16), + (uint8_t)((DISAPP_OUI & 0x00FF00) >> 8), + (uint8_t)(DISAPP_OUI & 0x0000FF) +}; +#endif + +#if ((BLE_CFG_DIS_IEEE_CERTIFICATION != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) +static const uint8_t ieee_id[BLE_CFG_DIS_IEEE_CERTIFICATION_LEN_MAX] = +{ + 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, + 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, + 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, + 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, +}; +#endif +#if ((BLE_CFG_DIS_PNP_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) +static const uint8_t pnp_id[BLE_CFG_DIS_PNP_ID_LEN_MAX] = +{ + 0x1, + 0xAD, 0xDE, + 0xDE, 0xDA, + 0x01, 0x00 +}; +#endif +/* USER CODE BEGIN PV */ + +/* USER CODE END PV */ + +/* Private function prototypes -----------------------------------------------*/ +/* USER CODE BEGIN PFP */ + +/* USER CODE END PFP */ + +/* Functions Definition ------------------------------------------------------*/ +void DISAPP_Init(void) +{ +/* USER CODE BEGIN DISAPP_Init */ + DIS_Data_t dis_information_data; + +#if ((BLE_CFG_DIS_MANUFACTURER_NAME_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + /** + * Update MANUFACTURER NAME Information + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t*)DISAPP_MANUFACTURER_NAME; + dis_information_data.Length = sizeof(DISAPP_MANUFACTURER_NAME); + DIS_UpdateChar(MANUFACTURER_NAME_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_MODEL_NUMBER_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + /** + * Update MODEL NUMBERInformation + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t*)DISAPP_MODEL_NUMBER; + dis_information_data.Length = sizeof(DISAPP_MODEL_NUMBER); + DIS_UpdateChar(MODEL_NUMBER_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_SERIAL_NUMBER_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + /** + * Update SERIAL NUMBERInformation + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t*)DISAPP_SERIAL_NUMBER; + dis_information_data.Length = sizeof(DISAPP_SERIAL_NUMBER); + DIS_UpdateChar(SERIAL_NUMBER_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_HARDWARE_REVISION_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + /** + * Update HARDWARE REVISION NUMBERInformation + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t*)DISAPP_HARDWARE_REVISION_NUMBER; + dis_information_data.Length = sizeof(DISAPP_HARDWARE_REVISION_NUMBER); + DIS_UpdateChar(HARDWARE_REVISION_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_FIRMWARE_REVISION_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + /** + * Update FIRMWARE REVISION NUMBERInformation + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t*)DISAPP_FIRMWARE_REVISION_NUMBER; + dis_information_data.Length = sizeof(DISAPP_FIRMWARE_REVISION_NUMBER); + DIS_UpdateChar(FIRMWARE_REVISION_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_SOFTWARE_REVISION_STRING != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + /** + * Update SOFTWARE REVISION NUMBERInformation + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t*)DISAPP_SOFTWARE_REVISION_NUMBER; + dis_information_data.Length = sizeof(DISAPP_SOFTWARE_REVISION_NUMBER); + DIS_UpdateChar(SOFTWARE_REVISION_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_SYSTEM_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + + /** + * Update SYSTEM ID Information + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t *)system_id; + dis_information_data.Length = BLE_CFG_DIS_SYSTEM_ID_LEN_MAX; + DIS_UpdateChar(SYSTEM_ID_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_IEEE_CERTIFICATION != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + + /** + * Update IEEE CERTIFICATION ID Information + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t *)ieee_id; + dis_information_data.Length = BLE_CFG_DIS_IEEE_CERTIFICATION_LEN_MAX; + DIS_UpdateChar(IEEE_CERTIFICATION_UUID, &dis_information_data); +#endif + +#if ((BLE_CFG_DIS_PNP_ID != 0) || (CFG_MENU_DEVICE_INFORMATION != 0)) + + /** + * Update PNP ID Information + * + * @param UUID + * @param pPData + * @return + */ + dis_information_data.pPayload = (uint8_t *)pnp_id; + dis_information_data.Length = BLE_CFG_DIS_PNP_ID_LEN_MAX; + DIS_UpdateChar(PNP_ID_UUID, &dis_information_data); +#endif +/* USER CODE END DISAPP_Init */ +} + +/* USER CODE BEGIN FD */ + +/* USER CODE END FD */ + +/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |