identity.cpp 632 B

1234567891011121314151617181920212223
  1. #include "identity.h"
  2. #include <Arduino.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5. char g_unit[16];
  6. char g_board[16];
  7. char g_usbSerial[18];
  8. const uint8_t ATTR83[25] = { // 0x83 attributes (product 0x1304 = Proteus puck)
  9. 0x01, 0x04, 0x13, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
  10. 0x00, 0x0A, 0xF2, 0xF9, 0xD2, 0x68, 0x04, 0x53, 0xD0,
  11. 0x18, 0x6A, 0x09, 0x47, 0x00, 0x00, 0x00
  12. };
  13. void genSerial()
  14. {
  15. uint32_t id = NRF_FICR->DEVICEID[0] ^ NRF_FICR->DEVICEID[1];
  16. snprintf(g_unit, sizeof g_unit, "FXB99602%05lX",
  17. (unsigned long)(id & 0xFFFFF));
  18. snprintf(g_board, sizeof g_board, "MXB99602%05lX",
  19. (unsigned long)(id & 0xFFFFF));
  20. }