User Tools

Site Tools


doc:crazyradio:usb:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
doc:crazyradio:usb:index [2012-05-14 07:50]
arnaud [Dongle configuration]
doc:crazyradio:usb:index [2012-05-17 13:53]
arnaud
Line 23: Line 23:
 |          0x40 | SET_RADIO_ARD (0x05)     | ARD      | Zero   | Zero    | None    | |          0x40 | SET_RADIO_ARD (0x05)     | ARD      | Zero   | Zero    | None    |
 |          0x40 | SET_RADIO_ARC (0x06)     | ARC      | Zero   | Zero    | None    | |          0x40 | SET_RADIO_ARC (0x06)     | ARC      | Zero   | Zero    | None    |
 +|          0x40 | ACK_ENABLE (0x10)        | Active   | Zero   | Zero    | None    |
 |          0x40 | SET_CONT_CARRIER (0x20)  | Active   | Zero   | Zero    | None    | |          0x40 | SET_CONT_CARRIER (0x20)  | Active   | Zero   | Zero    | None    |
 |          0x40 | LAUNCH_BOOTLOADER (0xFF) | Zero     | Zero   | Zero    | None    | |          0x40 | LAUNCH_BOOTLOADER (0xFF) | Zero     | Zero   | Zero    | None    |
Line 65: Line 66:
  
 === Set radio power === === Set radio power ===
 +
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | SET_RADIO_POWER (0x04)   | Power    | Zero   | Zero    | None    |
 +
  
 === Configure auto retry (ARD/ARC) === === Configure auto retry (ARD/ARC) ===
 +
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | SET_RADIO_ARD (0x05)     | ARD      | Zero   | Zero    | None    |
 +|          0x40 | SET_RADIO_ARC (0x06)     | ARC      | Zero   | Zero    | None    |
 +
 +After sending a packet the radio automatically waits for an acknowledge. ARD and ARC permits to configure the delay the radio waits for the acknowledge and the number of time the transfer will be retried in case the acknowledge is not received in that delay.
 +
 +The delay ARD depends of the length, in second, of the ack packed. This depends of the datarate and the Payload length contained in the Ack packet. The ARD can be configured either by step of 250us or by ack payload length. If the ack payload length is configured the time will be recalculated automatically even if the datarate is changed. To set the Ack payload lenght the bit 7 of Ard must be set (length | 0x80)
 +
 +Possible values for ARD:
 +
 +^ Value ^ ARD wait  time ^         
 +|  0x00 | 250us          |          
 +|  0x01 | 500us          |         
 +|   ... | ...            |          
 +|  0x0F | 4000us         |
 +
 +^ Value ^ Ack payload length ^
 +|  0x80 | 0Byte              |
 +|  0x81 | 1Byte              |
 +|   ... | ...                |
 +|  0xA0 | 32Bytes            |
 +
 +ARC configures the number of time the radio will retry a transfer if the Ack has not been received, it can be set from 0 to 15.
 +
 +By default ARD=32Bytes (0xA0) and ARC=3.
  
 === Continuous carrier mode === === Continuous carrier mode ===
 +
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | ACK_ENABLE (0x10)        | Active   | Zero   | Zero    | None    |
 +
 +By default Crazyradio is configured with auto ack enable. It means that after transmiting a packet the radio waits for an acknoledge from the receiver. This setting permits to deactivate waiting for the Ack packet so that the packet will be sent only one time and there are no guarantee that it has been correctly received.
 +
 +^ Active values ^ Meaning                   ^
 +| 0             | Auto ack deactivated      |
 +| Not 0         | Auto ack enable (default) |
 +
 +=== Continuous carrier mode ===
 +
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | SET_CONT_CARRIER (0x20)  | Active   | Zero   | Zero    | None    |
 +
 +The nRF24L radio chip provides a test mode in which a continous non-modulated sine wave is emited. This permits, among other things, to test the quality of the RF elements of the board. When this mode is activated the radio dongle does not transmit any packets.
 +
 +while the continuous carrier mode is active it is possible to set channel and power to change the frequency and power of the emitted wave.
 +
 +^ Active values ^ Meaning                           ^
 +| 0             | Dongle working normally (default) |
 +| Not 0         | Dongle in continuous carrier mode |
  
 === Launch bootloader === === Launch bootloader ===
  
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | LAUNCH_BOOTLOADER (0xFF) | Zero     | Zero   | Zero    | None    |
 +
 +This command is used to launch the Nordic semiconductor USB bootloader. After sending this command a USB reset shall be emitted which will trigger the dongle to start the bootloader. After sending this command the Dongle is only waiting for a USB reset which means that any other commands or data will be ignored.
 +
 +The bootloader is pre-loaded by Nordic Semi. in the nRF24LU1 chip at the address 0x7800. The Crazyradio firmware will jump to it when the sequence LAUCH_BOOTLOADER following by a USB reset is executed. The bootloader will appear at VID/PID of 0x1915/0x0101. See nRF24LU1 datasheet for the bootloader documentation.
 +
 +A PC client for the bootloader is part of the Crazyflie ground station program.
  
 ==== Data transfer ==== ==== Data transfer ====
Line 94: Line 155:
 This protocol permits to transfer about 500 packets per seconds. This protocol permits to transfer about 500 packets per seconds.
 ===== Radio protocol ===== ===== Radio protocol =====
- 
  
  
doc/crazyradio/usb/index.txt · Last modified: 2020-05-12 14:12 by kimberly