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-04-02 09:07]
arnaud [Dongle configuration]
doc:crazyradio:usb:index [2012-05-11 07:36]
arnaud
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.33 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.
  
 ===== USB protocol ===== ===== USB protocol =====
  
-The USB devices have the VID/PID couple 0x1915/0x7777. Two bulk endpoint are configured:+The USB devices have the VID/PID couple 0x1915/0x7777.
  
 | EP0 | Control | Control endpoint. Used to configure the dongle | | EP0 | Control | Control endpoint. Used to configure the dongle |
-EP1 | Bulk    | Data endpoint. Used to send and receive radio packets |+EP1IN/OUT | Bulk    | Data endpoints. Used to send and receive radio packets |
  
 ==== Dongle configuration ==== ==== Dongle configuration ====
  
-The following vendor control messages are implemented in the radio dongle:+Crazyradio vendor requests summary:
  
-Control message   ^ Value Type Data +bmRequestType ^ bRequest                 ^ wValue   ^ wIndex wLength data    
-SET_RADIO_CHANNEL | 0x01  SET  One 8bit integer representing the radio channel to set from 0 to 125 +         0x40 SET_RADIO_CHANNEL (0x01channel  Zero   | Zero    | None    
-SET_RADIO_ADDRESS | 0x02  |   -  **Not implemented** +         0x40 SET_RADIO_ADDRESS (0x02Zero     | Zero   | 5       | Address 
-| SET_DATA_RATE     0x03  SET  One 8bit integer setting the radio data-rate. See bellow for possible values +|          0x40 | SET_DATA_RATE (0x03)     | Datarate Zero   | Zero    | None    | 
-LAUNCH_BOOTLOADER | 0xFF  |    | Resets the dongle in nRF24LU1 bootloader mode. The dongle has to be disconnected and reconnected in order to restart in crazyradio mode |+|          0x40 | SET_RADIO_POWER (0x04)   | Power    | Zero   | Zero    | None    | 
 +|          0x40 | SET_RADIO_ARD (0x05)     | ARD      | Zero   | Zero    | None    | 
 +|          0x40 | SET_RADIO_ARC (0x06)     | ARC      | Zero   | Zero    | None    | 
 +|          0x40 | SET_CONT_CARRIER (0x20)  Active   | Zero   | Zero    | None    
 +         0x40 LAUNCH_BOOTLOADER (0xFFZero     | 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. 
 + 
 +=== Set radio address === 
 + 
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^ 
 +|          0x40 | SET_RADIO_ADDRESS (0x02) | Zero     | Zero   | 5       | Address | 
 + 
 +=== 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 27: Line 50:
 |     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 ====
  
Line 48: Line 82:
 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