This post https://bluegiga.zendesk.com/entries/72030216--HOW-TO-Get-a-BLE-peripheral-MAC-address-with-iOS-and-CoreBluetooth provides a work around for inability to obtain Hardware ID in iOS.
However this solution assumes that the central first connects to the peripheral and can then obtain the hardware ID.
In our application, we need to obtain the hardware ID as a part of the Advertisement packet. Hence the query:
1) How do we obtain the hardware device in CSDK Bluegiga API?
2) How do we send this hardware ID as a part of the advertisement.
We can figure out 2 when 1 above is provided. So please point us to API which provides the hardware id of the BLE device.
Using the BLE1xx C SDK, you can get the MAC address using the following code:
bd_addr tmp; config_copy_hwdata(tmp.d, hwdata.bt_addr, sizeof(bd_addr));
The tmp.d structure member now contains the MAC address in little-endian byte order. If you want to get the module's chipset serial number (stored in ROM), this can be directly accessed with the primary_address.d predefined structure and member variable.