What is the best way to go about mass programming a fleet of beacons all with unique UUIDs? Do you really have to program them one by one?
What is the best way to go about mass programming a fleet of beacons all with unique UUIDs? Do you really have to program them one by one?
If you don't want to hard code anything, there are the Factory Information Configuration Registers. One of those registers store a Device Address randomly generated during the manufacturing process.
You can access that via NRF_FICR->DEVICEADDR[0]
and NRF_FICR->DEVICEADDR[1]
.
You can read more about this Device Address here: devzone.nordicsemi.com/.../
There is also a Device ID stored in those registers, as discussed in this question. devzone.nordicsemi.com/.../
Here is a code snippet of how I use the Device Address registers in my code for unique ID.
scanrsp_manuf_data[2] = NRF_FICR->DEVICEADDR[0] & 0x000000FF;
scanrsp_manuf_data[3] = (NRF_FICR->DEVICEADDR[0] >> 8) & 0x000000FF;
scanrsp_manuf_data[4] = (NRF_FICR->DEVICEADDR[0] >> 16) & 0x000000FF;
scanrsp_manuf_data[5] = (NRF_FICR->DEVICEADDR[0] >> 24) & 0x000000FF;
scanrsp_manuf_data[6] = NRF_FICR->DEVICEADDR[1] & 0x000000FF;
scanrsp_manuf_data[7] = ((NRF_FICR->DEVICEADDR[1] | 0x0000C000) >> 8) & 0x000000FF;
@endnode I somehow overlooked your answer and only realized you already brought up FICR after I post mine :S
@endnode I somehow overlooked your answer and only realized you already brought up FICR after I post mine :S