This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
misc:hacks:betaflight [2017-04-07 16:54] theseankelly [Betaflight for Crazyflie 2.0] |
misc:hacks:betaflight [2021-06-24 16:43] (current) kimberly |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | <WRAP center round important 60%> | ||
| + | This page has deprecated and will be archived. Please go to [[https:// | ||
| + | </ | ||
| + | |||
| + | |||
| ====== Betaflight for Crazyflie 2.0 ====== | ====== Betaflight for Crazyflie 2.0 ====== | ||
| Line 5: | Line 10: | ||
| 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 24: | ||
| ===== 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 44: | ||
| ===== 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:// |