1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-23 16:25:31 +03:00
Commit graph

1041 commits

Author SHA1 Message Date
Eike Ahmels
083b595617
M10 ValSet support, unit connection and reconnect stability (#12799)
* 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>
2023-08-12 12:10:55 +10:00
J Blackman
d5d3ee88be
Removing STM specific defines from common_pre, and other cleanups (#12982)
Removing STM specific defines from common_pre, and other cleanup
2023-07-27 11:34:28 +02:00
Ivan Efimov
9332248742
Adding OSD quick menu (#12977)
* 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
2023-07-26 08:54:02 +10:00
ASDosjani
c243e83de2
Platform target evaluation fix (#12904) 2023-06-21 11:09:38 +02:00
Petr Ledvina
5eaab0226d
IMU - increase gain on large Course over ground error (#12792)
* IMU - increase gain on large Course over ground error
* Fix Cog calculation in IMU

Old code did align CoG antiparallel to Yaw. Cross product stays the
same, but dot product is inverted.

@iNav - this is probably reason for magic numbers in iNav IMU
rewrite (especially wind compensation)

* Update gtest

Copy of debian/stable libgtest-dev

* Add unittest for IMU CoG

Work in progress

* IMU - convert compass to new alignment calculation

* IMU Unittests

- new wrapped EXPECT_NEAR_DEG / EXPECT_NEAR_RAD
- magnetometer testing

* IMU - CoG evaluation based on thrust vector

---------

Co-authored-by: Petr Ledvina <ledvinap@hp124.ekotip.cz>
2023-06-19 09:30:45 +10:00
Dmytro
7b39d3d296
Rename make folder to get rid of build error. (#12880)
When trying to build firmware with current directory in PATH environment
it scans for make command and generates "Permission denied" error in
case if current directory in PATH precedes /usr/bin/ directory.In my
case it was caused by incorrect pyenv init script.

Rename make folder to avoid errors like this.
2023-06-14 21:48:55 +02:00
Mark Haslinghuis
7d1007ea03
Enables retrieval of the RELEASE_NAME using MSP2 (#12878)
Retrieve releasename
2023-06-11 02:28:52 +02:00
Petr Ledvina
ee35b6afe3
Update gtest to newer version (#12871)
Update gtest

Copy of debian/stable libgtest-dev

Co-authored-by: Petr Ledvina <ledvinap@hp124.ekotip.cz>
2023-06-10 17:06:47 +10:00
J Blackman
7d7b6596b0
Removing Timer Usage Flags (#12862) 2023-06-07 06:49:13 +10:00
ctzsnooze
8e3389f452
Converge IMU faster at higher groundspeed during GPS Rescue (#12738)
* dynamic dcm_kp depending on groundspeed vs velocity to home

* reduce max pitch angle default to 40

* Only 10% of set velocity to home is enough, angle to 45

to reduce chance of sanity check against headwind

* fixes, thanks @KarateBrot

* Feedback from Ledvinap, ensure full pitch and yaw authority in descend

* pitch limit max of 1/3 and dcm_kp gain to 6x max

* apply IMU kP factor to yaw only via ez_ef

* More from @Ledvinap, constrain pitch in descent also

* Fix the velocity error gain, refactoring thanks to Ledvinap

* thanks, Mark!

* fixes, must be fabsf

* make IMU gain twice as sensitive to groundspeed error

* useCOG as float

* Fix unit test

* ensure cogYawGain is zero, except during gps rescue

* update comment after suggestion from ledvinap

* keep roll angle limit consistently at 50% of pitch limit when active

* changes to comments, thanks petr
2023-05-10 22:24:34 +02:00
Zzyzx
922bc9d593
Add GPS Status Line to CLI Status Output (#12769)
* Add GPS status line to cli status output: connected status, UART + serial port baud + configured baud, configured status.

* Fixed unit test link fail.

* Really fixed unit test link fail (I hope).

* Really fixed unit test link fail (no really this time).

* Updated to address code reviews.

* Updated to address code reviews.

* Updated to address code reviews.
2023-05-10 14:22:54 +02:00
ctzsnooze
34057bfbc2
Refactor Feedforward Angle and RC Smoothing - mashup of 12578 and 12594 (#12605)
* 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>
2023-04-23 22:03:18 +02:00
ASDosjani
e195bf7717
Cleanup + led overlay expansion (#12554)
* Cleanup + led overlay expansion

* fix tests
2023-04-06 20:54:31 +10:00
ASDosjani
7735a7129e
Add rainbow effect to led strip (#12323)
* Add rainbow effect

* unit test

* default values + version change
2023-03-16 15:07:17 +01:00
ctzsnooze
241e9a9b94
Angle and Horizon Mode improvements (#12231)
* 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>
2023-03-15 09:46:24 +11:00
Homer
515e55ef0a
Rename FAKE to VIRTUAL (#12493)
* use_fake_xyz to use_virtual_xyz

* xyz_fake to xyz_virtual

* other fake to virtual

* all files fake to vrtual

* last touch on fake to virtual
2023-03-14 12:35:39 +01:00
ctzsnooze
e957f0dfa6
Improve GPS Rescue Pitch smoothing and disarming (#12343) 2023-03-08 16:10:25 +11:00
J Blackman
ee77239db1
Removing Custom Defaults (#12425) 2023-03-02 19:39:44 +01:00
J Blackman
82566eb89a
REFACTOR: moving timer definitions to MCU locations. (#12397)
* REFACTOR: moving timer definitions to MCU locations.

* Now that the MCU directory needs to be included in the search path for includes, no need for target.h entry if filenaming is consistent.

* SITL needs the empty include.
2023-02-22 22:55:57 +01:00
Ivan Efimov
615adaf463
Fix: Renamed USE_LEDSTRIP_64 to USE_LED_STRIP_64 (#12365) 2023-02-14 16:57:44 +01:00
Mark Haslinghuis
d9264045b3
Default blackbox device to NONE on reset (#12221)
* Default blackbox device to NONE on reset

* Add check for flashIsSupported

* Move blackbox validation outside of validateAndFixGyroConfig()
2023-01-29 01:42:32 +01:00
ctzsnooze
4454286165
GPS Rescue Bugfix, add a failsafe debug, refactor stick deflection (#12195)
* simple failsafe debug

* simplify areSticksActive

use getRcDeflectionAbs and fix unitTest

* bugfix to require stick input to re-take control

* small refactor
2023-01-18 02:44:50 +01:00
Steve Evans
962a7d0cae
Center ARMED message and stats (#12086) 2022-12-26 22:07:16 +11:00
Ivan Efimov
7b70abd118
Cloud build option for 64 leds (#12064)
Build option for 64 leds
2022-12-24 00:02:21 +01:00
Jan Post
cb41b55c40
Gps Rescue: Fix "velocityD" filtering (#12042)
* GPS Rescue: Refactor parameter group

* GPS Rescue: Fix "velocityD" filtering
2022-12-10 13:41:35 +01:00
Brian Ledbetter
f8bd0b5388
Fix OSD_X macro to correctly load the high bit (#12038)
Resolves #12037
2022-12-04 13:56:24 +01:00
Jan Post
e80c086340
Fix msp API_VERSION_MINOR (#12001) 2022-11-17 04:04:38 +01:00
Steve Evans
3e51d15559
Add HD OSD support (#11964) 2022-11-15 12:58:14 +11:00
J Blackman
6efdc71e53
Naming adjustment for USE_SERIAL_RX to USE_SERIALRX (#11992) 2022-11-15 00:42:54 +01:00
TonyBlit
22c5bf4eb3
Added RSNR to the OSD (#11062)
* Added RNSR to the OSD

* filtering with pt1

* update pgconfig ver

* rssi_smoothness and proper define wrapping

* missing define wrap

* smoothing moved to updateRSSI

* minor comment update

* fixed rx tests

Co-authored-by: Tony Cabello <>
Co-authored-by: J Blackman <blckmn@users.noreply.github.com>
2022-11-10 04:53:15 +01:00
J Blackman
3d0681f942
Merge pull request #11925 from blckmn/target_removal
Final target clean up
2022-10-29 17:13:30 +11:00
J Blackman
dbd0014ac5
Merge pull request #11911 from KarateBrot/baroRate
Lock altitude task at 100Hz & fix baro calibration
2022-10-25 18:07:26 +11:00
blckmn
aee0bfb846 Test make file cleanup 2022-10-25 17:08:59 +11:00
blckmn
06c5bb40b5 Final target cleanup 2022-10-25 14:28:13 +11:00
KarateBrot
f17a2af8c3 Lock altitude task to 100Hz
+ fix baro calibration
+ baro refactoring
2022-10-22 21:45:50 +02:00
haslinghuis
d58f2c4a3c
Merge pull request #11909 from blckmn/all_use_config
Removing 'UNIFIED_TARGET'
2022-10-22 21:24:22 +02:00
blckmn
b89aea975a Removing unused timerHardware 2022-10-21 10:29:47 +11:00
blckmn
3396013b53 Removing USE_UNIFIED_TARGET... 2022-10-21 10:04:10 +11:00
ctzsnooze
341d65becf remove gps_required and gps_minimum sats and revert to gps_rescue_min_sats 2022-10-20 21:44:01 +11:00
haslinghuis
7e441b5f4f
Merge pull request #11887 from KarateBrot/styledef
Remove old style definitions
2022-10-16 00:22:02 +02:00
haslinghuis
cbbc80ee90
Merge pull request #11779 from haslinghuis/update-pidprofile
Move TPA to PID profile
2022-10-13 21:09:49 +02:00
KarateBrot
ddf1d46549 Remove old style definitions 2022-10-13 03:33:54 +02:00
Tobias Bolin
2bdb660d56 Add test for anti-windup affecting Anti Gravity gain 2022-10-12 21:58:43 +02:00
Jan Post
5ca47fed6d
Merge pull request #11190 from mathiasvr/pr-arraylen
Use ARRAYLEN macro where applicable
2022-10-12 19:55:46 +02:00
Mathias Rasmussen
9957ceb275 Fix function brace style 2022-10-12 16:31:55 +02:00
Mathias Rasmussen
90e792e243 Use ARRAYLEN macro where applicable 2022-10-12 13:14:51 +02:00
ctzsnooze
cbd374590a fixes for maxAlt, gpsTrust, sanity checks
fixes indefinite climb in max_alt mode
fixes altitude control issues when baro_hardware was disabled
fixes an error causing GPS trust to not calculate the baro factor correctly
attenuates rescue velocity_i correctly when descending
fixes velocity Iterm attenuation when close to home
logs the final GPS trust value
allow a little pitch and roll when landing
improves disarm by detecting ground effect
use floats for smoothness
refactor and simplify yaw
re-name idleTasks to setReturnAltitude
descend in level mode when sanity checks abort, rather than disarming immediately
PT3 filtering on upsampled pitch angle instead of pitch angle rate of change limiter
remove velocity attenuation when not pointing to home
allow some roll and pitch in landing phase to counter drift
include sanity check on altitude gain in climb phase
include check for 3D fix in min sats sanity check
acquire pitch and roll more smoothly when they commence
simple smoothing of baro while disarmed for better zero
re-name fields
2022-09-27 13:28:36 +10:00
J Blackman
d72f18fb3f
Merge pull request #11806 from ctzsnooze/Restore-iTerm-Windup-for-all-axes
Restore iTerm Windup to all axes, active by default
2022-09-27 08:42:55 +10:00
Jon Mahoney
a2d356dc78 Watt Hours Drawn OSD Element and Post Flight Stat
The Watt hours used element was added per a feature request to give
another way of interpreting the battery usage. It was also added as a
post flight stat to show consumption similar to the mAh post flight
stat. This once again is just giving pilots another option that some may
find useful.
2022-09-19 23:36:23 -04:00
J Blackman
5e40d949c6
Merge pull request #11834 from ctzsnooze/GPS_Refactor_plus_120hz 2022-09-18 09:08:33 +10:00