User Tools

Site Tools


misc:hacks:betaflight

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
Last revision Both sides next revision
misc:hacks:betaflight [2017-04-07 17:01]
theseankelly [What's Supported]
misc:hacks:betaflight [2017-04-23 17:12]
theseankelly [Configuring Betaflight]
Line 19: 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://github.com/theseankelly/betaflight/commits/cf2|private fork]]. Intent is to merge into Betaflight ASAP once a few bugs in the latest Betaflight are ironed out. 
-</WRAP> 
 Execute the following from a bash shell (uses the same toolchain as the crazyflie-firmware project -- this can be done on the [[projects:virtualmachine:index|Bitcraze]] VM for example) Execute the following from a bash shell (uses the same toolchain as the crazyflie-firmware project -- this can be done on the [[projects:virtualmachine:index|Bitcraze]] VM for example)
-  - git clone https://github.com/theseankelly/betaflight +  - git clone https://github.com/betaflight/betaflight
-  - git checkout cf2+
   - export TARGET=CRAZYFLIE2   - export TARGET=CRAZYFLIE2
   - make   - make
-You should see "betaflight_3.2.0_CRAZYFLIE2.hex" appear in the obj directory of the project.+You should see "betaflight_3.2.0_CRAZYFLIE2.hex" (version number may be newer) appear in the obj directory of the project.
  
 ===== Flashing ===== ===== Flashing =====
 To flash the board, follow the [[https://github.com/betaflight/betaflight/wiki/Installing-Betaflight|Betaflight flashing instructions]]. Be sure to choose 'full chip erase' for the first flash. To flash the board, follow the [[https://github.com/betaflight/betaflight/wiki/Installing-Betaflight|Betaflight flashing instructions]]. Be sure to choose 'full chip erase' for the first flash.
  
-These instructions call for booting with the BOOT0 pin held high to boot the chip into DFU mode. The Crazyflie can be [[projects:crazyflie2:development:dfu|booted in to DFU mode]] without needing to short this pin.+These instructions call for booting with the BOOT0 pin held high to boot the chip into DFU mode. The Crazyflie can be [[projects:crazyflie2:development:dfu|booted in to DFU mode]] without needing to short this pin. Note that the Betaflight configurator will reboot the STM32 after flashing but it will not reset the NRF51 -- the whole board must be power cycled after flashing in order to restore the NRF51's Rx functionality
  
 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 43: 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/cleanflight configurators, so make sure you're using the latest version of the configurators (or just don't change the serialRx protocol drop down -- it will be a blank white box on earlier configurators 
 +  * PIDs have not been tuned for the crazyflie -- the stock PIDs seem to be doing quite well though.
  
 ===== Configuring Transmitter ===== ===== Configuring Transmitter =====
Line 50: Line 51:
 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://github.com/DeviationTX/deviation/commit/3d61a2b6c0968db2b83878c44266293386c2bc18|Deviation]]) is recommended.+Using the new CPPM Emulation commander type (supported in [[https://github.com/DeviationTX/deviation/commit/3d61a2b6c0968db2b83878c44266293386c2bc18|Deviation]]) is recommended because it allows up to 10 additional auxiliary channels.
  
  
misc/hacks/betaflight.txt · Last modified: 2021-06-24 16:43 by kimberly