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-10 22:37]
arnaud
doc:crazyradio:usb:index [2012-05-14 07:50]
arnaud [Dongle configuration]
Line 1: Line 1:
 ====== Usb and Radio protocol of the Crazyradio dongle ====== ====== Usb and Radio protocol of the Crazyradio dongle ======
  
-The Crazyradio dongle is based on a Nordic semiconductor nRF24LU1 chip. The radio communication is done using the Nordic "Enhanced ShockBurst™" packet protocol with acknoledge. Variable size packet, from 1 to 32 bytes, can be send and acknoledged by the copter. The acknoledgement packet can contains a payload from 0 to 32Bytes.+The Crazyradio dongle is based on a Nordic semiconductor nRF24LU1 chip. The radio communication is done using the Nordic "Enhanced ShockBurst™" packet protocol in PTX mode with acknoledge. Variable size packet, from 1 to 32 bytes, can be send and acknoledged by the copter. The acknoledgement packet can contains a payload from 0 to 32Bytes.
  
 This page document the protocol used in the version 0.40 of the Crazyradio dongle. Future version (up to 1.0) will be kept compatible. This page document the protocol used in the version 0.40 of the Crazyradio dongle. Future version (up to 1.0) will be kept compatible.
Line 14: Line 14:
 ==== Dongle configuration ==== ==== Dongle configuration ====
  
-Crazyradio vendor requests:+Crazyradio vendor requests summary:
  
 ^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^ ^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
Line 26: Line 26:
 |          0x40 | LAUNCH_BOOTLOADER (0xFF) | Zero     | Zero   | Zero    | None    | |          0x40 | LAUNCH_BOOTLOADER (0xFF) | Zero     | Zero   | Zero    | None    |
  
 +=== Set radio channel ===
  
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | SET_RADIO_CHANNEL (0x01) | channel  | Zero   | Zero    | None    |
 +
 +The nrf24L chips provides 126 Channels of 1MHz from 2400MHz to 2525MHz. The channel parameter shall be between 0 and 125 (if not the command will be ignored).
 +
 +The radio channel is set as soon as the setup transaction is completed which takes about 1ms. The new frequency is going to be used for the following transfered packets. Default value for the radio channel is 2.
 +
 +=== Set radio address ===
 +
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | SET_RADIO_ADDRESS (0x02) | Zero     | Zero   | 5       | Address |
 +
 +The packet sent by the radio contains a 5 bytes address. The same address must be configured in the receiver for the communication to work.
 +
 +The address must follow the requirement of the section 6.4.3.2 of the nRF24LU1 documentation:
 +
 +<code>
 +Addresses where the level shifts only one time (that is, 000FFFFFFF) can often be detected in
 +noise and can give a false detection, which may give a raised Packet-Error-Rate. Addresses
 +as a continuation of the preamble (hi-low toggling) raises the Packet-Error-Rate.
 +</code>
 +
 +The default address is 0xE7E7E7E7E7.
 +
 +=== Set datarate ===
 +
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | SET_DATA_RATE (0x03)     | Datarate | Zero   | Zero    | None    |
  
 Possible values for the datarate: Possible values for the datarate:
Line 33: Line 62:
 |     1 | 1MBps          | |     1 | 1MBps          |
 |     2 | 2Mbps (Default)| |     2 | 2Mbps (Default)|
 +
 +
 +=== Set radio power ===
 +
 +=== Configure auto retry (ARD/ARC) ===
 +
 +=== Continuous carrier mode ===
 +
 +=== Launch bootloader ===
 +
 +
 ==== Data transfer ==== ==== Data transfer ====
  
doc/crazyradio/usb/index.txt · Last modified: 2020-05-12 14:12 by kimberly