This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

micro:bit became unable to talk to nrf52832 by RADIO

Dear Nordic Semiconductor support team

Hi, I got your support using micro:bit with nrf52832 by RADIO in the past as follows.

https://devzone.nordicsemi.com/f/nordic-q-a/41770/how-can-i-make-nrf52832-talk-to-microbit-by-radio-gazell

It did work, but recently, the following makecode editor was updated.

https://makecode.microbit.org/

 

If I built .hex file using this latest makecode editor and download it to micro:bit, nrf52832 Dev Kit cannot receive

any packet, while it works correctly if using the old editor https://makecode.microbit.org/v1

I cannot understand this problem.

I also reported this on Github repository of makecode micro:bit editor. 

https://github.com/microsoft/pxt-microbit/issues/2259

The following is JavaScript code by makecode editor.

(The same between the new editor and the old one.)

radio.setGroup(0)
basic.forever(function () {
    radio.sendNumber(0)
    basic.pause(100)
})

The following is nrf52832 code using RADIO.  

host.zip  

  • Hi,

    I see the same issue as you describe. The radio peripheral configuration does not seem to have changed, so there might be something with the payload in the new editor version that makes the gazell lib to not report the received packet. Further debugging could be to setup a radio peripheral example, and check if you are able to receive the packet, and check any differences in the payload.

  • Hi, Have you any update? 
    I have a similar problem.

     i config ESB right?

    uint32_t err_code;
    uint8_t base_addr_0[4] = {0x75, 0x62, 0x69, 0x74};
    uint8_t addr_prefix[8] = {0x00, 0x01, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8 };

    nrf_esb_config_t nrf_esb_config = NRF_ESB_DEFAULT_CONFIG;
    nrf_esb_config.protocol = NRF_ESB_PROTOCOL_ESB_DPL;
    nrf_esb_config.retransmit_delay = 600;
    nrf_esb_config.bitrate = NRF_ESB_BITRATE_1MBPS;
    nrf_esb_config.event_handler = nrf_esb_event_handler;
    nrf_esb_config.mode = NRF_ESB_MODE_PTX;
    nrf_esb_config.selective_auto_ack = false;

    err_code = nrf_esb_init(&nrf_esb_config);

    err_code = nrf_esb_set_base_address_0(base_addr_0);
    VERIFY_SUCCESS(err_code);

    But it not work, microbit not recive.

    Microbit cfg group 0.

  • Hi,

    You might need to do a bytewise_bitswap() on the base_addr_0, before you set it with nrf_esb_set_base_address_0(). If you have further questions about this, please create a new question.

Related