* Allow TPA_LOW to be negative (for wings)
* Fix minimax type
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Range -128 to 127
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Proper limits for TPA
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* separate minmaxes for wing/without wing for TPA_LOW
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Separate define for TPA_LOW_RATE_MIN
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* TPA delay in ms (for wings)
* Added comments for time constant
* ledvinap's suggestions
* tpaFactor local variable (based on ledvinap's suggestions)
* pt1FilterGainFromDelay with inlined calculations for cutoff (based on ledvinap's suggestions)
* Karatebrot extra review
* Pump PG for pidConfig_t
* Fixes based on review
* Moved tpaLpf to the end of pidRuntime_t
* Add ez_landing_speed parameter
The parameter is the speed at which ez_landing will be effectively disabled in tenths of meters per second.
Default value 50 (5 m/s).
EZLANDING bug field 5 is the contribution from this parameter to the ezlanding throttle cap.
* Correct ez_landing_speed logic and scaling
* ez_landing_speed should now raise the limit when the speed is above ez_landing_speed (previously only raised the limit if the speed was bellow, and had no effect above the limit)
* ez_landing_speed should now be scaled so that EzLanding is effectively disabled when speed >= ez_landing_speed (previously EzLanding would be disabeld when speed was at half of ez_landing_speed)
* Add stick input upper limit as EZLANDING debug 4
* Check for gps 3D fix before using gps speed for EzLanding
* Prevent division by 0 if ez_landing_threshold is set to 0
* Scale EzLanding speed to m/s from cm/s
* Update src/main/flight/mixer.c
Co-authored-by: Petr Ledvina <ledvinap@gmail.com>
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
Co-authored-by: Petr Ledvina <ledvinap@gmail.com>
* Override failsafe when MSP_OVERRIDE active
Fixes#13374
Set `rxSignalReceived = true` If MSP_OVERRIDE is active, so that it can be checked later. Otherwise, MSP controls are not considered in failsafe checks.
* Do override only if BOXMOODEOVERRIDE box is active as well
* Update msp.h
* Update msp.c
* Make sure that failsafe works when there is no signal from MSP
* Introduce rxMspOverrideFrameStatus to make a clear separation from rxMspFrameStatus
* Update src/main/rx/msp.c
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* add msp_override_failsafe
* Update src/main/pg/rx.h
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Update src/main/rx/rx.c
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Use cpu_late_10ths_percent_limit to set limit on % of late tasks in 10th of a %
Set CPU load late limit to 1% based on testing
* Update src/main/cli/settings.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Update src/main/scheduler/scheduler.h
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Update src/main/fc/core.c
* Update src/test/unit/arming_prevention_unittest.cc
* Update src/main/scheduler/scheduler.c
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* ezLanding
* Add ez_landing throttle mode
* Correct EzLanding scaling of motorMixRange
* Correct mixer_type switch bracing style
* Remove motor value cliping ez landing mode
- rename mixer type cli setting to EZLANDING from EZLANDING_THROTTLE
- remove EZLANDING_CLIP cli setting
- double default ez_landing_threshold
- halve default ez_landing_limit
- check and limits in cli settings
- remove mixer type dependent settings in mixer_init
- remove clip based code in mixer.c
* Change ez_landing setting values and refactoring
- Halve defaul ez_landing_threshold setting and double in init instead.
Now stick deflection equal to ez_landing_threshold should give approimately full authority.
Previously it was the point where the mixer was allowed to raise the throttle to 100 % (which wouuld never be required)
- Increase ez_landing_threshold maximum to 200 (from 100) to allow settings that increase authority by a little at full stick deflection
- Increase ez_landing_limit maximum to 75 which is the point where EzLanding should act identical to the Legacy mixer with airmode on
- remove throttle percent from
- simplify calculation of , since throttle stick deflection is no longer involved
- update/remove outdated comments
* Remove old EZLANDING entries in mixerType enum
* Add mixer_type setting to blackbox log header
---------
Co-authored-by: ctzsnooze <chris.thompson@sydney.edu.au>
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Add LPS22DF baro support
* Update src/main/drivers/barometer/barometer_lps22df.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Removed white spaces and everything that is not new
Rebase on master and update comment
Make TPA lower independent from air mode
Included tpa_breakpoint_lower_vanish option
Changes according to PR comments
Corrected comment for API version
Bugfix in msp.c
Additional TPA breakpoint for low throttle
* Changes according to PR comments
* Update src/main/cms/cms_menu_imu.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Update src/main/flight/pid_init.c
* Add mag heading to GPS Rescue heading debug
* Roll and pitch compensated magnetic yaw
* Changes according to PR comments
* Encapsulate yawMag calculations
* Corrected naming
* Changes according to PR comments
* Changes so that Checks don't fail
* Added PARAM_NAME list
* Changes so that Checks don't fail
* Changes according to PR comments
* Update src/main/fc/parameter_names.h
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Changes according to PR comments
* 200Hz compass task
* fix wait status flag
* increase default ODR of HMC5883L to 75Hz
* fix spikes in MagYaw debug by re-calc only on new data
---------
Co-authored-by: ctzsnooze <chris.thompson@sydney.edu.au>
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* WIP
* start of implement m10 code
* Fetch MON-VER from unit to check for unit version
* test nav5 m10 command
* missing empty lines
* offload detect to config file
* copy from hasli and organization
* fix platform.h include
* fix cli_unittest gps include
* fix cli_unittest for gps calls
* guard ublox version in gpsData
* print human readable hw version
* add utc_standard param and transfer with nav5 set
add nav5x message for autonomous mode for m10
* fix typo
* revert order structure, remove functions and reduce flash size
* revert order structure, remove functions and reduce flash size
* fix gps init and navx5 message
* generalized nav5 message
* remove unguarded debug
* change ubx version detection, baud rate negotiation fix and save found baud
* revert indentation
* revert indentation and refactorings
* the new code works with faster baud rate changes
* remove unguarded debug statement
* fix cli commands, major space reduce finished, removed extensions for now
* ubx version checks, add valset for M10
* beta of valset, change suggestions from ledvinap and macgivergim
* valset helper function and combine set nav rate valsets
* more valset refactoring
* remove big array and replace with macro
* remove assert, as it can stop bf completely
* refactoring to offsetof
* making reconnect more resilient, reorganize rate setup, so it doesnt get missed on init
* improved lost communcation detection, dont rely on ACK/NACK anymore
* paket rate debug
* adding debug mode, fixing major flight mode bug
* revert fake flight "isConfiguratorConnected"
* fixed proto detection, fixed reconfigure on too low updaterate
* valset doesnt always send ACK, so we dont wait for it
* size optimization, debug mode rename, minor fixes
* implemented some requested changes
* changed wait delay millisecond based
* fixes from ctzsnooze and zzXyz
* timer fixes
* CamelCase new settings names
* indent
* Fix failure to enter flight model on GPS Fix
* remove old commented out debugs
* simplify timeouts
* Clarify skip_acc and remove development valset code
* accept PL's advice to remove >> (8 * 0
* Simplify package counter, remove reconfiguration based on packet count
* fix error in package count introduced in previous commit
* Fix delay detecting Configurator, ANA disable (for another PR)
* address payload comments and fix logical error
* indentation edits
* delete old enum
* log gps and firmware nav interval times
* fix payload size, inc Rx buffer to 256, ifDef for sw_proto
* remove token parsing (Petr suggestions)
* fixes from reviews
* Basic NMEA improvements
* Address comments from karate
* only check platform version - thanks zzyzx
* Fix for too many sats problem - thanks zzyzx
* tidy up comments, ifdef some ublox definitions
* Use Nav packet intervals, NMEA and UBX, for time delta
* Resolve comments and flatten conditionals
* editorial change
* single function for gpsSol.navIntervalMs
* adam-ah suggestion for payload optimisation
* ACK/NAK & polled message timer fixes
* Revert timer fixes - unexpected side effects
* Revert adam-ah suggestion for payload optimisation"
This reverts commit 42fc8c04fdbc436c9ef196b88f0764ffcbb9239f.
Broke the display of sat info when more than 32 sats in view
* implement a number of comments
* Fast task rate on new data, don't spam at the start
thanks adam-ah
* include PDOP for M10 via NAV-PVT
* Address some of PL's recent comments
* don't recalculate millis so many times
* tidy up baudrate connect code
* Split receiving of GPS bytes from processing by adding GPS_STATE_PROCESS_DATA
* Split receiving of GPS bytes from processing by adding GPS_STATE_PROCESS_DATA
* Preserve state whilst processing packets
* Set gpsData.state directly as gpsSetState() clobbers gpsData.state_position
* Restore original read time check
* Schedule gpsUpdate() to run immediately again when a packet is received for processing
* add debugs to display scheduler valuesl
* simpler scheduler solution
* minor debug change
* FIxes: M10 connection, pDop, NMEA disable; thanks zzyxz
NB: Breaks unit's neat reconnection methods
M8 need a lot of settling time before using the serial port
* ubx parse length sanity + cleanup + dashboard conditional compiles
* Address recent comments from PL
---------
Co-authored-by: ctzsnooze <chris.thompson@sydney.edu.au>
Co-authored-by: ZzyzxTek <zzyzx@zzyzxtek.com>
Co-authored-by: Steve Evans <Steve@SCEvans.com>
* QUICK CMS menu
* Added RPM LIMIT to quick menu
* rpm_limiter csm step = 100
* Renamings + USE_OSD_QUICK_MENU define
* Small fixes
* Style fixes
* tests makefile fix
* Activate quick menu by default, if defined USE_OSD_QUICK_MENU
* Changed .c/.h license headers to a modern one
* GPS rescue update after merge of IMU fix
imuYawCog boost on error
initial turn radius adjustment
attitude debug changes
rescue velocity iterm fixes
earth referencing of yaw forced to on
sanity check failure time 30s
* vary IMU gain according to groundspeed
* Review suggestions implemented
* Add RPM black box field
* Fix settings table spacing
* Move RPM field to end of FlightLogFieldSelect enum
* Fix various RPM logging related bugs
- change eRPM I frame encoding to UNSIGNED_VB (was SIGNED_VB)
- change eRPM P frame prediction to PREVIOUS (was AVERAGE_2)
- change eRPM log field name to 'eRPM(/100)' (was 'RPM')
- rename rpm field in blackboxMainState_s to erpm
- minor formatting fixes to BlackBoxMainFields spacing and some if clauses
* Remove superfluous parentheses in blackbox.c
* When initiated close to home, descend then land, 50 deg max
* restore divisions thanks -ffast-math
* fix typo in comment
* refactoring, improving flight behaviour
* modify comments, add a constraint
* refactor throttle D Multiplier and velocity iterm, improve comments
* move out if too close, boost IMU gain in fly home
* Add gps lap timer
* change timing to GPS time instead of local time
* rebase and minor changes
* implement KarateBrot's suggestions
* follow ledvinap's suggestions, some OSD symbol changes
* move platform.h include to the top
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* fix osd elements not showing, remove useless block
* cleanup, move pg stuff to pg folder
* cleanup from review
* minor mods to gps lap timer update, add number of laps tracked
* rename time variable
* add const to timeMs
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Update licenses, add is_sys_element macro
* update licenses
* round to nearest centisecond
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
---------
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* Add NMEA Custom command
* Add delay
* Remove strdup
* more effective way by ledvinap
Update src/main/pg/gps.h
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
required changes
Update src/main/io/gps.c
Co-authored-by: Petr Ledvina <ledvinap@gmail.com>
Update src/main/io/gps.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
Update src/main/io/gps.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
Update src/main/io/gps.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
Update src/main/cli/settings.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
Update src/main/pg/gps.h
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
Update src/main/pg/gps.h
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
fix namings
* Update src/main/io/gps.c
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
* Update src/main/io/gps.c
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>
Co-authored-by: Jan Post <Rm2k-Freak@web.de>
* TPA optimisations
* improvement, thanks @ledvinap
* update following review comments, thanks karatebrot and ledvinap
* include rx.h in pid_init.c to get PWM_RANGE_MIN
* review suggestion
* Refactor Feedforward Angle and RC Smoothing
* update rc_smoothing at regular intervals
* add Earth Ref to OSD, update pid and rate PG
* Initialise filters correctly
* refactoring to improve performance
* Save 24 cycles in Horizon calculations, other optimisations
At a cost of 40 bytes
* save 25 cycles and 330 bytes in rc_smoothing
* feedforward max rate improvements
* typo fix
* Karatebrot's review suggestions part one
* Karatebrot's excellent suggestions part 2
* more efficient if we calculate inverse at init time
Co-Authored-By: Jan Post <post@stud.tu-darmstadt.de>
* Horizon delay, to ease it in when returning sticks to centre
* fix unit tests after horizon changes
Co-Authored-By: 4712 <4712@users.noreply.github.com>
* horizon_delay_ms, default 500
* fix unit test for feedforward from setpointDelta
* Final optimisations - thanks @Karatebrot for your advice
* increase horizon level strength default to 75 now we have the delay
* restore Makefile value which allowed local make test on mac
---------
Co-authored-by: Jan Post <post@stud.tu-darmstadt.de>
Co-authored-by: 4712 <4712@users.noreply.github.com>
* Angle and Horizon Update for 4.5
* BugFix FF noise Angle Mode on yaw and in level _race mode
* use time constant in ms for angle feedforward smoothing
* refactor to remove unnecessary definition
---------
Co-authored-by: ChrisRosser <chrisrosser91@gmail.com>
* Make dyn idle startup increase configurable
Replace fixed 5 percent max increase from dynamic idle
when airmode is active with a configurable value.
-Default value is still 5.0 percent (50 in cli)
-Add dyn_idle_start_increase cli setting
-Add dyn_idle_start_increase BB header field
* Increse PG reset to ver 6 for pidProfile
* Indentation
---------
Co-authored-by: Mark Haslinghuis <mark@numloq.nl>