This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
misc:hacks:betaflight [2017-04-07 16:54] theseankelly [Betaflight for Crazyflie 2.0] |
misc:hacks:betaflight [2017-04-23 17:12] theseankelly [Configuring Betaflight] |
||
---|---|---|---|
Line 5: | Line 5: | ||
One of the hallmark features of the Betaflight/ | One of the hallmark features of the Betaflight/ | ||
- | ===== Features/ | + | ===== What's Supported |
- | This target currently supports basic functionality required to fly. The NRF51 code was intentionally | + | This target currently supports basic functionality required to fly - motors, accel/gyro, LEDs, and handling of the syslink/ |
+ | |||
+ | The NRF51 code was intentionally | ||
+ | |||
+ | The target currently doesn' | ||
+ | |||
====== Setup Instructions ====== | ====== Setup Instructions ====== | ||
<WRAP center round important> | <WRAP center round important> | ||
Line 13: | Line 19: | ||
===== Building ===== | ===== Building ===== | ||
- | <WRAP center round info> | ||
- | TEMPORARY: As of this writing, the changes for the Crazyflie 2.0 target have not been merged back into the Betaflight repo -- temporarily working out of a [[https:// | ||
- | </ | ||
Execute the following from a bash shell (uses the same toolchain as the crazyflie-firmware project -- this can be done on the [[projects: | Execute the following from a bash shell (uses the same toolchain as the crazyflie-firmware project -- this can be done on the [[projects: | ||
- | - git clone https:// | + | - git clone https:// |
- | - git checkout cf2 | + | |
- export TARGET=CRAZYFLIE2 | - export TARGET=CRAZYFLIE2 | ||
- make | - make | ||
- | You should see " | + | You should see " |
===== Flashing ===== | ===== Flashing ===== | ||
To flash the board, follow the [[https:// | To flash the board, follow the [[https:// | ||
- | These instructions call for booting with the BOOT0 pin held high to boot the chip into DFU mode. The Crazyflie can be [[projects: | + | These instructions call for booting with the BOOT0 pin held high to boot the chip into DFU mode. The Crazyflie can be [[projects: |
Note: If you've previously installed the libusb-win32 driver on the Crazyflie 2.0 device node using Zadig in Windows, the driver must be changed before it will enumerate as a COM device after flashing. To change the driver, follow these steps: | Note: If you've previously installed the libusb-win32 driver on the Crazyflie 2.0 device node using Zadig in Windows, the driver must be changed before it will enumerate as a COM device after flashing. To change the driver, follow these steps: | ||
Line 37: | Line 39: | ||
===== Configuring Betaflight ===== | ===== Configuring Betaflight ===== | ||
- | The defaults after flashing should be sufficient for flight. | + | The defaults after flashing should be sufficient for flight. |
+ | |||
+ | Some things of note: | ||
+ | * It's suggested to change the brushed motor PWM to something higher to reduce audible noise - 24khz works well. | ||
+ | * Configured to use a TARGET_CUSTOM serial Rx protocol - this is a new feature in betaflight for the crazyflie so that the NRF51 firmware does not need to change. This option was very recently added to the betaflight/ | ||
+ | * PIDs have not been tuned for the crazyflie -- the stock PIDs seem to be doing quite well though. | ||
===== Configuring Transmitter ===== | ===== Configuring Transmitter ===== | ||
+ | The NRF51 defaults to 2mbps, channel 2. | ||
+ | |||
To use a client that uses the legacy commander packet type (cfclient, mobile apps, older versions of DeviationTx) ensure the max roll/pitch angles are set to 50.0 degrees and the max yaw rate is set to 400deg/s. The handler for this packet type rescales the degree setpoint into a PWM-style value (range of 1000-2000) and assumes these values as max values when making the conversion. Using other values should work but might produce unexpected results. | To use a client that uses the legacy commander packet type (cfclient, mobile apps, older versions of DeviationTx) ensure the max roll/pitch angles are set to 50.0 degrees and the max yaw rate is set to 400deg/s. The handler for this packet type rescales the degree setpoint into a PWM-style value (range of 1000-2000) and assumes these values as max values when making the conversion. Using other values should work but might produce unexpected results. | ||
- | Using the new CPPM Emulation commander type (supported in [[https:// | + | Using the new CPPM Emulation commander type (supported in [[https:// |