Set BlueTooth ID

This seems like it should be simple, but I cannot seem to set a custom static BlueTooth ID on an nRF52832 under PlatformIO / Zephyr - it just keeps generating a random ID. I am calling 

bt_id_create, which is returning 0 (success).
        bt_addr_le_t bt_addr;

        bt_addr.a.val[0] = 0x26;
        bt_addr.a.val[1] = 0xF8;
        bt_addr.a.val[2] = 0x64;
        bt_addr.a.val[3] = 0xC4;
        bt_addr.a.val[4] = 0x6A;
        bt_addr.a.val[5] = 0xCB;
        bt_addr.type = BT_ADDR_LE_RANDOM;

        uint8_t irk[16] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };

        int err = bt_id_create(&bt_addr, irk);
        
        int err = bt_enable(bt_ready);
Parents Reply Children
  • This seems to be working fine under nRF SDK (i.e. not PlatformIO) passing NULL for the IRK. I'm just going to continue dev under nRF SDK, I'm not going to try figure out why it didn't seem to work under PlatformIO (may have just been something silly I was doing, not sure).

            bt_addr_le_t bt_addr;
    
            bt_addr.a.val[0] = 0x26;
            bt_addr.a.val[1] = 0xF8;
            bt_addr.a.val[2] = 0x64;
            bt_addr.a.val[3] = 0xC4;
            bt_addr.a.val[4] = 0x6A;
            bt_addr.a.val[5] = 0xCB;
            bt_addr.type = BT_ADDR_LE_RANDOM;
    
            int err = bt_id_create(&bt_addr, NULL);
            
            int err = bt_enable(bt_ready);

Related