Unable to use 16-bit UUID in KW45 Wireless UART Example

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Unable to use 16-bit UUID in KW45 Wireless UART Example

371 次查看
Abhi1112
Contributor I

Hello NXP Team,

I am working on KW45B41Z-EVK using the Wireless UART FreeRTOS example.

I noticed that macros like PRIMARY_SERVICE_UUID16 are not available,
and the example uses only 128-bit UUIDs.

I want to implement a custom 16-bit UUID service (e.g., 0xFFF0), but I am unsure
how to correctly define it using the existing GATT database macros.

Could you please clarify:
1. How to properly define 16-bit UUID using UUID16 macro?
2. Whether PRIMARY_SERVICE macro supports 16-bit UUID directly?
3. Any recommended approach for custom services in KW45 BLE stack?

Thank you.

0 项奖励
回复
1 回复

318 次查看
sofiaurueta
NXP Employee
NXP Employee

Hello,
Hope you are doing well.

 

The UUID is a 128-bit value. To reduce the overhead associated with storing and transmitting 128‑bit UUIDs, the Bluetooth SIG has pre‑allocated a range of UUIDs for frequently used, registered purposes. These pre‑allocated UUIDs have 16‑bit aliases, commonly referred to as 16‑bit UUIDs. Although they are represented as 16‑bit values, each actually represents a 128-bit UUID value.

A list of Bluetooth SIG‑defined 16‑bit UUIDs can be found on the Assigned Numbers documentation of the Bluetooth Technology website. If you need a custom service intended for broader or official use, it is also possible to request and purchase an official 16‑bit UUID as a Bluetooth SIG member.

 

When defining a GATT database, the GATT_DB API provides several macros for declaring services. For 16‑bit UUIDs, the following macro is used: PRIMARY_SERVICE(name, uuid16). Both the UUID16 and PRIMARY_SERVICE macros support the Bluetooth SIG‑defined 2‑byte UUIDs. These 16‑bit UUID constants for GATT declarations are provided in the ble_sig_defines.h header file.

For more information on GATT services see Creating GATT database — MCUXpresso SDK Documentation

 

If you are looking is to implement a custom service using the wireless_uart SDK example, the recommended approach is to first define a 128‑bit UUID. In that case, you should use the UUID128 and PRIMARY_SERVICE_UUID128 macros instead. This example implementation might be helpful: KW38 Custom Profile.

 

Best regards,
Ana Sofia.

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2345612%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E6%97%A0%E6%B3%95%E5%9C%A8%20KW45%20%E6%97%A0%E7%BA%BF%20UART%20%E7%A4%BA%E4%BE%8B%E4%B8%AD%E4%BD%BF%E7%94%A8%2016%20%E4%BD%8D%20UUID%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2345612%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%82%A8%E5%A5%BD%EF%BC%8CNXP%E5%9B%A2%E9%98%9F%EF%BC%8C%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%E6%97%A0%E7%BA%BF%20UART%20FreeRTOS%20%E7%A4%BA%E4%BE%8B%E5%BC%80%E5%8F%91%20KW45B41Z-EVK%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%B3%A8%E6%84%8F%E5%88%B0%20PRIMARY_SERVICE_UUID16%20%E7%AD%89%E5%AE%8F%E4%B8%8D%E5%8F%AF%E7%94%A8%EF%BC%8C%3CBR%20%2F%3E%EF%BC%8C%E8%80%8C%E4%B8%94%E7%A4%BA%E4%BE%8B%E5%8F%AA%E4%BD%BF%E7%94%A8%20128%20%E4%BD%8D%20UUID%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E8%87%AA%E5%AE%9A%E4%B9%89%E7%9A%84%2016%20%E4%BD%8D%20UUID%20%E6%9C%8D%E5%8A%A1%EF%BC%88%E4%BE%8B%E5%A6%82%200xFFF0%EF%BC%89%EF%BC%8C%E4%BD%86%E6%88%91%E4%B8%8D%E7%A1%AE%E5%AE%9A%3CBR%20%2F%3E%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E7%8E%B0%E6%9C%89%E7%9A%84%20GATT%20%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%8F%E6%9D%A5%E6%AD%A3%E7%A1%AE%E5%AE%9A%E4%B9%89%E5%AE%83%E3%80%82%3C%2FP%3E%3CP%3E%E8%AF%B7%E6%BE%84%E6%B8%85%EF%BC%9A%3CBR%20%2F%3E1.%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20UUID16%20%E5%AE%8F%E6%AD%A3%E7%A1%AE%E5%AE%9A%E4%B9%89%2016%20%E4%BD%8D%20UUID%EF%BC%9F%3CBR%20%2F%3E2.%20PRIMARY_SERVICE%20%E5%AE%8F%E6%98%AF%E5%90%A6%E7%9B%B4%E6%8E%A5%E6%94%AF%E6%8C%81%2016%20%E4%BD%8D%20UUID%EF%BC%9F%3CBR%20%2F%3E3.%20KW45%20BLE%20%E5%A0%86%E6%A0%88%E4%B8%AD%E7%9A%84%E5%AE%9A%E5%88%B6%E6%9C%8D%E5%8A%A1%E6%9C%89%E4%BB%80%E4%B9%88%E6%8E%A8%E8%8D%90%E6%96%B9%E6%B3%95%EF%BC%9F%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2346550%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Unable%20to%20use%2016-bit%20UUID%20in%20KW45%20Wireless%20UART%20Example%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2346550%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20lang%3D%22es-419%22%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CBR%20%2F%3E%E5%B8%8C%E6%9C%9B%E4%BD%A0%E4%B8%80%E5%88%87%E9%83%BD%E5%A5%BD%E3%80%82%3C%2FP%3E%0A%3CP%20lang%3D%22es-419%22%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EUUID%20%E6%98%AF%E4%B8%80%E4%B8%AA%20128%20%E4%BD%8D%E5%80%BC%E3%80%82%E4%B8%BA%E4%BA%86%E5%87%8F%E5%B0%91%E5%AD%98%E5%82%A8%E5%92%8C%E4%BC%A0%E8%BE%93%20128%20%E4%BD%8D%20UUID%20%E6%89%80%E5%B8%A6%E6%9D%A5%E7%9A%84%E5%BC%80%E9%94%80%EF%BC%8C%E8%93%9D%E7%89%99%E6%8A%80%E6%9C%AF%E8%81%94%E7%9B%9F%EF%BC%88Bluetooth%20SIG%EF%BC%89%E4%B8%BA%E7%BB%8F%E5%B8%B8%E4%BD%BF%E7%94%A8%E5%92%8C%E6%B3%A8%E5%86%8C%E7%9A%84%E7%9B%AE%E7%9A%84%E9%A2%84%E5%85%88%E5%88%86%E9%85%8D%E4%BA%86%E4%B8%80%E7%B3%BB%E5%88%97%20UUID%E3%80%82%E8%BF%99%E4%BA%9B%E9%A2%84%E5%85%88%E5%88%86%E9%85%8D%E7%9A%84%20UUID%20%E5%85%B7%E6%9C%89%2016%20%E4%BD%8D%E5%88%AB%E5%90%8D%EF%BC%8C%E9%80%9A%E5%B8%B8%E7%A7%B0%E4%B8%BA%2016%20%E4%BD%8D%20UUID%E3%80%82%E8%99%BD%E7%84%B6%E5%AE%83%E4%BB%AC%E8%A1%A8%E7%A4%BA%E4%B8%BA%2016%20%E4%BD%8D%E5%80%BC%EF%BC%8C%E4%BD%86%E5%AE%9E%E9%99%85%E4%B8%8A%E6%AF%8F%E4%B8%AA%E9%83%BD%E8%A1%A8%E7%A4%BA%20128%20%E4%BD%8D%20UUID%20%E5%80%BC%E3%80%82%3C%2FP%3E%0A%3CP%3E%E8%93%9D%E7%89%99%E6%8A%80%E6%9C%AF%E7%BD%91%E7%AB%99%E7%9A%84%20%22%3CA%20href%3D%22https%3A%2F%2Fwww.bluetooth.com%2Fspecifications%2Fassigned-numbers%2F%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E5%88%86%E9%85%8D%E5%8F%B7%E7%A0%81%3C%2FA%3E%22%E6%96%87%E6%A1%A3%E4%B8%AD%E8%BD%BD%E6%9C%89%E8%93%9D%E7%89%99%E6%8A%80%E6%9C%AF%E8%81%94%E7%9B%9F%E5%AE%9A%E4%B9%89%E7%9A%84%2016%20%E4%BD%8D%20UUID%20%E5%88%97%E8%A1%A8%E3%80%82%E5%A6%82%E6%9E%9C%E6%82%A8%E9%9C%80%E8%A6%81%E7%94%A8%E4%BA%8E%E6%9B%B4%E5%B9%BF%E6%B3%9B%E6%88%96%E5%AE%98%E6%96%B9%E7%94%A8%E9%80%94%E7%9A%84%E5%AE%9A%E5%88%B6%E6%9C%8D%E5%8A%A1%EF%BC%8C%E4%B9%9F%E5%8F%AF%E4%BB%A5%E4%BD%9C%E4%B8%BA%E8%93%9D%E7%89%99%E6%8A%80%E6%9C%AF%E8%81%94%E7%9B%9F%EF%BC%88Bluetooth%20SIG%EF%BC%89%E6%88%90%E5%91%98%E7%94%B3%E8%AF%B7%E5%92%8C%E8%B4%AD%E4%B9%B0%E5%AE%98%E6%96%B9%2016%20%E4%BD%8D%20UUID%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%9C%A8%E5%AE%9A%E4%B9%89%20GATT%20%E6%95%B0%E6%8D%AE%E5%BA%93%E6%97%B6%EF%BC%8CGATT_DB%20API%20%E6%8F%90%E4%BE%9B%E4%BA%86%E5%87%A0%E4%B8%AA%E7%94%A8%E4%BA%8E%E5%A3%B0%E6%98%8E%E6%9C%8D%E5%8A%A1%E7%9A%84%E5%AE%8F%E3%80%82%E5%AF%B9%E4%BA%8E%2016%20%E4%BD%8D%20UUID%EF%BC%8C%E4%BD%BF%E7%94%A8%E4%BB%A5%E4%B8%8B%E5%AE%8F%EF%BC%9APRIMARY_SERVICE(name%2Cuuid16)%E3%80%82UUID16%20%E5%92%8C%20PRIMARY_SERVICE%20%E5%AE%8F%E5%9D%87%E6%94%AF%E6%8C%81%E8%93%9D%E7%89%99%E6%8A%80%E6%9C%AF%E8%81%94%E7%9B%9F%E5%AE%9A%E4%B9%89%E7%9A%84%202%20%E5%AD%97%E8%8A%82%20UUID%E3%80%82%E8%BF%99%E4%BA%9B%E7%94%A8%E4%BA%8E%20GATT%20%E5%A3%B0%E6%98%8E%E7%9A%84%2016%20%E4%BD%8D%20UUID%20%E5%B8%B8%E9%87%8F%E5%9C%A8%20ble_sig_defines.h%20%E4%B8%AD%E6%8F%90%E4%BE%9B%E3%80%82%E5%A4%B4%E6%96%87%E4%BB%B6%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%9C%89%E5%85%B3%20GATT%20%E6%9C%8D%E5%8A%A1%E7%9A%84%E6%9B%B4%E5%A4%9A%E4%BF%A1%E6%81%AF%EF%BC%8C%E8%AF%B7%E5%8F%82%E9%98%85%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2Flatest%2Fhtml%2Fmiddleware%2Fwireless%2Fbluetooth%2Fdoc%2FBluetooth%2520Low%2520Energy%2520Application%2520Developers%2520Guide%2Ftopics%2Fcreating_gatt_database.html%23creating-gatt-database%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E5%88%9B%E5%BB%BA%20GATT%20%E6%95%B0%E6%8D%AE%E5%BA%93%20-%20MCUXpresso%20SDK%20%E6%96%87%E6%A1%A3%3C%2FA%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E5%A6%82%E6%9E%9C%E8%A6%81%E4%BD%BF%E7%94%A8%20wireless_uart%20SDK%20%E7%A4%BA%E4%BE%8B%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E6%9C%8D%E5%8A%A1%EF%BC%8C%E5%BB%BA%E8%AE%AE%E9%A6%96%E5%85%88%E5%AE%9A%E4%B9%89%20128%20%E4%BD%8D%20UUID%E3%80%82%E5%9C%A8%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E4%B8%8B%EF%BC%8C%E5%BA%94%E4%BD%BF%E7%94%A8%20UUID128%20%E5%92%8C%20PRIMARY_SERVICE_UUID128%20%E5%AE%8F%E3%80%82%E6%AD%A4%E7%A4%BA%E4%BE%8B%E5%AE%9E%E7%8E%B0%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9C%89%E6%89%80%E5%B8%AE%E5%8A%A9%EF%BC%9A%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FWireless-Connectivity-Knowledge%2FKW38-Custom-Profile%2Fta-p%2F1269874%22%20target%3D%22_blank%22%3EKW38%20%E8%87%AA%E5%AE%9A%E4%B9%89%E6%88%91%E7%9A%84%3C%2FA%3E%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E8%87%B4%E4%BB%A5%E6%9C%80%E8%AF%9A%E6%8C%9A%E7%9A%84%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EAna%20Sofia%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E