Hi everyone,
I want to assign the DEVICEID to System ID characteristic (which is under Device Information Service). DEVICEID is a 64bit and I found that I could assign this values on manufacturer_id variable which is 64bit as well. The problem is that the from my understanding the System ID characteristic has an 8byte value from which the first 5bytes are assigned to manufacturer_id and the last three to organizationally_unique_id.
/**@brief System ID parameters */ typedef struct { uint64_t manufacturer_id; /**< Manufacturer ID. Only 5 LSOs shall be used. */ uint32_t organizationally_unique_id; /**< Organizationally unique ID. Only 3 LSOs shall be used. */ } ble_dis_sys_id_t;
So my questions are:
1. Why manufacturer_id variable is of type uint64_t if only 5 bytes shall be used?
2. How could I assign DEVICEID on System ID characteristic? Is there any other special characteristic that I could assign the DEVICEID?
3. Is it wise to asign the first 5bytes of DEVICEID to manufacturer_id and the last three bytes of DEVICEID to organizationally_unique_id
Thanks in advance
Nick