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

Questions about micro-esb

Hi everyone, Just a brief introduction about my system, I am currently working on Brain computer Interface which was funded by NSF. In our system we have Sense electronics which will provide 10k samples/sec on each of 8 channels. I Integrated micro-esc to our system firmware. I have some questions regarding micro-esc,

  1. There is this parameter called payload_length in general RF parameters, I don't understand the significance of that variable. Can you explain what was the significance of Payload_length, it was pre-coded as 61 in the github code and in example code tx_payload_length is initialized as 8 for sending 5 bytes data. I don't understand in what relation we need to put tx_payload_length.

  2. What is the maximum buffer we can initialize so that packets won't drop? For example for my system i need 256 bytes tx buffer and i initialize tx mode as manual i.e., whenever TX FIFO is non empty and radio is idle packets will sent automatically. So with how much frequency we can fill up tx buffer for data integrity and higher data rate and what is maximum timing interval where tx transaction is done?

  3. we initialized useb_fifo_size as 8. So are there 8 tx fifos or one fifo of 8 bytes size?

  • The radio mode you want to use is set in the init of the uesb library (type uesb_config_t mode). If you set this to UESB_PROTOCOL_ESB_DPL, then you have two choices wrt. how you send an RF payload, noack or ACK.

    To send using ACK, you have to set the "tx_payload.noack = 0" when pushing the payload to the TX FIFO to ensure that the library sets up the correct interrupts/shorts for the radio. If you send with tx_payload.noack = 1, then you will trigger "on_radio_disabled_esb_dpl_tx_noack()" when the payload has been send on-air.

    If noack=0 when pushing the payload to the FIFO, then the PTX device will send the on-air payload and immediately start switching to RX mode to wait for an acknowledgement from the PRX device to ensure that the transfer was successful. If no acknowledgement is received, the PTX device will re-send based on your configuration.

    Cheers, Håkon

Related