AIRMODE: Air mode anti-windup improvements
PID: Remove integer PID (leave only one PID controller), remove pid_controller setting, remove float-point PID parameters (scale integer parameters to use in float-point PIDC)
PID: New set of PID tuning multipliers for better tuning range
PID: Make max_angle_inclination a PID-profile variable
PID: Reinstate yaw_p_limit
PID: Switch to a noise-robust differentiator
Remove GTUNE
PID: Use same self-leveling strength for ANGLE and HORIZON
PID: Self-leveling LPF to smooth out leveling response to rapid attitude or target angle change
This lets USB send up to 32 bytes in a frame instead of 32 one byte
frames. Add a fallback for drivers that don't implement writeBuf().
serial: allow buffering to speed up USB virtual COM ports.
Add begin write and end write hints. If implemented by the serial
driver, then the driver can buffer up data sent via serialWrite() and
flush it when serialEndWrite() is called.
Implemented at the buffer level as it requires the least change to how
serial_msp and serial_cli are architected.
Also tidy up the visibility in the VCP driver.
Prevent serial tx buffer overflow.
Note: this is likely not the best solution, we can investigate further
in due course.
drivers: add a buffering writer.
This wraps around the serial API and buffers a configurable number of
characters before flushing.
cli: add buffering.
This greatly speeds up the CLI when running over USB VCP under a
virtual machine.
msp: add buffering around the writes.
This bulks up the writes and lets the USB VCP driver send one 20 byte
frame instead of 20 one byte frames. This speeds up the blackbox
download and makes VCP much more reliable when running under a virtual
machine.
Fix for: serial buffer broke BLHeli 1wire pass through
FILTER: BiQuad filter optimisations
FILTER: BiQuad filtering fix for REWRITE PID controller. Divide delta by dT before filtering to reduce delta noise caused by dT jitter and make things more correct from DSP point of view
Improved scheduling. Calculation of average tasks waiting. MSP_STATUS_EX message
Disallow arming if system load > 100 (waiting task count > 1)
Dont show inactive tasks in CLI
Realtime priority task and guard interval implementation
Dynamic guard interval. Bugfix for realtime scheduling hickups
Compile out CLI command help and CLI tasks command for CJMCU
Gyro sync busy-waiting implementation. Kudos to @borisbstyle for initial implementation
Remove double MPU_RA_PWR_MGMT_1
Looptime to Gyro refresh rate
disable 2khz when acc used for F3
Gyro sync code improvement
doc change
MPU6500 INT_STATUS support // MPU3500 dummy handling
Enable full 1khz sampling on F1 boards (no acc mode)
Add MPU3050 INT_STATUS
F1 target decreased max refresh
Configurable optione (sync_gyro_to_loop)
correction watchdog
correct filter
Coding style and cleanup code
Cli.md
Bump EEPROM version
MPU6050 MPU DATA READY Pin instead of i2c
Add more targets and corrections
correction to CC3D
ident
MPU6500 correction
INT_ENABLE MPU6500
add interrupt mpu6500
MPU6500 corrections from rebase
MPU6500 correct
Final fix to compile // ready for testing and review
MPU6000 / MPU3050 Corrections
Add CC3D extiConfig
add mpu6500
Fix intStatus position
fix returns
Add COLIBRI_RACE MPU INT
Change CLI name to gyro_sync
This is shorter typing and speaks for itself
Fix MotoLab After rebase
Add motolab
Full gyro Sync rework
Idents etc
Doc update
more corrections
Fix serial_cli
refactor // ident
GPL
single line
runloop refactor
- Added DROP failsafe mode to failsafe handler
- Added MSP support for configurator failsafe tab
Modified MSP_FAILSAFE_CONFIG
Modified MSP_SET_FAILSAFE_CONFIG
Bumped API minor version
- Adapted failsafe documentation - 1
- Force auto mode to flight-channels when failsafe stage 2 is disabled
This is to prevent a configuration that may cause a fly-away.
- AUX switch was active in background with `FEATURE_FAILSAFE` disabled.
When a switch was assigned to failsafe mode and the failsafe feature was disabled, then hat switch stayed active in the background, forcing `rxfail` values to be used when on.
Mag declination correction. Some cleanups
DCM code changes from @MauroMombelli, allow gyro-only operation when neither ACC nor MAG can be used (i.e. no MAG and ACC is saturated.
Replaced 'inclination' and 'heading' with 'attitude', converted all angles to decidegrees
Prevent magnetometer readings from affecting roll/pitch angles. Compass now affects only yaw axis and magnetic interference won't mess up attitude calculations
Ability to lock heading to GPS cource for airplanes
Allow faster acquisition by initial attitude by using higher DCM kP gain on powerup
Optimize magnetometer correction per @ledvinap suggestion. Better speed and less memory usage
Prevent acceleration from affecting accSmooth if acceleration magnitude is too high
Fixed incorrect GPS heading lock