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-18 22:51]
arnaud [Continuous carrier mode]
doc:crazyradio:usb:index [2013-01-06 00:14]
arnaud
Line 18: Line 18:
 To send a packet the following sequence must be followes: To send a packet the following sequence must be followes:
   * Send the packet to EP1_OUT. Its length should be between 1 to 32Bytes   * Send the packet to EP1_OUT. Its length should be between 1 to 32Bytes
-  * Read the ACK from EP1_IN. The first by is the transfers status and the following bytes are the content of the ACK payload, if any.+  * Read the ACK from EP1_IN. The first byte is the transfers status and the following bytes are the content of the ACK payload, if any.
  
 <ditaa> <ditaa>
Line 41: Line 41:
 | 0             | Ack received            | | 0             | Ack received            |
  
-==== Dongle configuration  summary ====+==== Dongle configuration and functions summary ====
  
 Crazyradio vendor requests summary: Crazyradio vendor requests summary:
  
 ^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^ ^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
-|          0x40 | SET_RADIO_CHANNEL (0x01) | channel  | Zero   | Zero    | None    | +|          0x40 | SET_RADIO_CHANNEL (0x01)   | channel  | Zero   | Zero    | None    | 
-|          0x40 | SET_RADIO_ADDRESS (0x02) | Zero     | Zero   | 5       | Address | +|          0x40 | SET_RADIO_ADDRESS (0x02)   | Zero     | Zero   | 5       | Address | 
-|          0x40 | SET_DATA_RATE (0x03)     | Datarate | Zero   | Zero    | None    | +|          0x40 | SET_DATA_RATE (0x03)       | Datarate | Zero   | Zero    | None    | 
-|          0x40 | SET_RADIO_POWER (0x04)   | Power    | Zero   | Zero    | None    | +|          0x40 | SET_RADIO_POWER (0x04)     | Power    | Zero   | Zero    | None    | 
-|          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 | 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 | START_SCAN_CHANNELS (0x21) | Start    | Stop   | Length  | Packet 
 +|          0xC0 | GET_SCAN_CHANNELS (0x21)   | Zero     | Zero   | 63      | Result  
 +|          0x40 | LAUNCH_BOOTLOADER (0xFF)   | Zero     | Zero   | Zero    | None    |
  
 ==== Set radio channel ==== ==== Set radio channel ====
Line 63: Line 65:
 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 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.+The radio channel is set as soon as the USB 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 ==== ==== Set radio address ====
Line 99: Line 101:
 |          0x40 | SET_RADIO_POWER (0x04)   | Power    | Zero   | Zero    | None    | |          0x40 | SET_RADIO_POWER (0x04)   | Power    | Zero   | Zero    | None    |
  
 +Sets the radio amplifier output power. Possible values:
 +
 +^ Value ^ Power   ^
 +|     0 | -18dBm  |
 +|     1 | -12dBm  |
 +|     2 | -6dBm   |
 +|     3 | 0dBm    |
  
 ==== Configure auto retry (ARD/ARC) ==== ==== Configure auto retry (ARD/ARC) ====
Line 150: Line 159:
 | 0             | Dongle working normally (default) | | 0             | Dongle working normally (default) |
 | Not 0         | Dongle in continuous carrier mode | | Not 0         | Dongle in continuous carrier mode |
 +
 +==== Channels scanning ====
 +
 +This function is implemented in Crazyradio version 0.5 and over.
 +
 +^ bmRequestType ^ bRequest                 ^ wValue   ^ wIndex ^ wLength ^ data    ^
 +|          0x40 | START_SCAN_CHANNELS (0x21) | Start    | Stop   | Length  | Packet  |
 +|          0xC0 | GET_SCAN_CHANNELS (0x21)   | Zero     | Zero   | 63      | Result  |
 +
 +Scan a range of channels and compile a list of channel from which an ack has been received. The command START_SCAN_CHANNELS should be executed first with start being the first scanned channel and stop the last one. Those should be within 0 to 125. The data is the packet payload sent on each channel, it should be at least one byte long.
 +
 +All parameters, except the channel, are used unmodified during the scan. If the datarate is set to 2MBPs the scan is done every second channel. To get the list of channel that answered GET_SCANN_CHANNELS should be called just after a scan. Up to 63 bytes are returned corresponding to up to 63 channels on which the packet was acknowledged.
 +
 +Note. After scanning the channel will be let to the last scanned channel.
  
 ==== Launch bootloader ==== ==== Launch bootloader ====
doc/crazyradio/usb/index.txt · Last modified: 2020-05-12 14:12 by kimberly