1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-19 14:25:16 +03:00
Commit graph

43 commits

Author SHA1 Message Date
JuliooCesarMDM
ff01781f6c Safe SquareRoot 2021-08-15 18:46:39 -03:00
Pawel Spychalski (DzikuVx)
02d4f17f78 Fix unit tests 2021-05-17 12:23:40 +02:00
Pawel Spychalski (DzikuVx)
500c6ab923 Minor performance update 2021-05-17 11:47:37 +02:00
Alexander van Saase
11d543f950
rescale deadbanded values to original range (#6925) 2021-05-11 16:11:03 +02:00
Pawel Spychalski (DzikuVx)
87508187d3 Fix compilation warnings 2021-03-02 12:27:00 +01:00
Pawel Spychalski (DzikuVx)
f812d5c6ac Drop gyro method of ITerm relax 2020-08-01 15:29:33 +02:00
Konstantin (DigitalEntity) Sharlaimov
ea174b4edf [ACC] Make accelerometer calibration more robust 2020-03-24 14:39:28 +01:00
Pawel Spychalski (DzikuVx)
fce005f7f9 Switch compiler to _Ofast for critical files 2020-03-11 21:48:57 +01:00
Pawel Spychalski (DzikuVx)
780728d633 Revisit FAST_RAM usages 2020-03-09 22:33:54 +01:00
Paweł Spychalski
ca46d7ab28
PID/PIFF refactoring (#5129)
* Stage 1 PID/PIFF refactoring

* Fix F3 compilation

* Minor speedup

* Make PID controller type configurable

* fix compilation

* Further minor optimizations

* Fix mixer integration

* Move some mixer routines to FASTRAM and precompute constants

* Run applyMotorRateLimiting only when needed

* Revert "Move some mixer routines to FASTRAM and precompute constants"

This reverts commit 31370c1288.

* Revert "Minor speedup"

This reverts commit 02b58e5f05.

* fix compilation

* Remove unused parameter

* Fix F3
2019-11-29 20:22:27 +01:00
Pawel Spychalski (DzikuVx)
34bd2ea557 Review changes 2019-04-23 11:42:08 +02:00
Pawel Spychalski (DzikuVx)
f9b8617e03 Direct port of BF Iterm relax 2019-04-22 23:06:47 +02:00
Konstantin Sharlaimov
e174e5a48d
Initial cut on full quaternion IMU conversion (#2894)
* Initial cut on full quaternion/vector IMU conversion
* More accurate quaternion integration
* Refactor vector struct per @ledvinap suggection
* Implement rotation matrix from axis/angle; Refactor mag declination to have orientation correspond to RPY angles
* Use magnetic North vector as a reference
2018-03-15 00:19:53 +10:00
junwoo091400
523548d7fa is there any reason why it is written this way?? what if change like this... 2017-10-13 13:14:24 +09:00
Konstantin Sharlaimov (DigitalEntity)
a115a38892 Comment updates; Add channel filtering explanation 2017-09-13 21:57:50 +10:00
Martin Budden
c4270e6159 Split CRC code into separate module 2017-08-14 10:47:17 +01:00
Martin Budden
fd7d770fb1 Whitespace tidy 2017-07-05 07:42:07 +01:00
Martin Budden
b9d8f109ce Tidy blackbox code 2017-06-02 16:45:47 +01:00
Konstantin Sharlaimov (DigitalEntity)
cf73ab9a39 Surface estimation tweaks 2017-03-08 22:07:26 +10:00
Konstantin Sharlaimov (DigitalEntity)
4f250b96c4 TBS Crossfire SerialRX protocol and telemetry (grafting from Betaflight)
Inject link quality to virtual channel 17 for CRSF telemetry, change to integer arithmetic for channel value conversion
Rename USE_PWM and USE_PPM to USE_RX_PWM and USE_RX_PPM
2017-01-10 17:55:54 +10:00
Konstantin Sharlaimov
78e4b7fd3a Merge pull request #543 from iNavFlight/nav_estimator_changes
INAV position estimator changes
2016-11-21 09:41:47 +10:00
Martin Budden
1078b710fc Converted tabs to spaces 2016-11-13 09:24:00 +00:00
Konstantin Sharlaimov (DigitalEntity)
3043fd42c4 Optimise residual calculation in position estimator
GPS position reset; GPS/BARO offset calculation

Use real GPS EPH/EPV when available; Trust GPS data less if error is large; Different EPH/EPV calculation logic; Log EPH/EPV to blackbox

Increase EPH/EPV only if correction was not applied; Typo fix

Optimisations to EPH/EPV
2016-11-13 18:54:40 +10:00
Konstantin (DigitalEntity) Sharlaimov
cc8871dd4c Merge branch 'DzikuVx-inav-rates-in-dps' 2016-06-15 20:17:50 +03:00
Martin Budden
04205e2cda Split off xn297 code. 2016-06-14 12:36:23 +01:00
Pawel Spychalski (DzikuVx)
122c3f5a29 new rcCommand scaling to desired rotation rates 2016-05-25 19:32:10 +02:00
borisbstyle
591c8870cd Fix sensors saturation by converting to int32_t 2016-02-19 14:09:57 +10:00
Konstantin Sharlaimov (DigitalEntity)
03bfb70a15 Remove unused filterWithBuffer code. Not useful anymore as inertial filter alone calculate velocity with sufficient accuracy 2015-11-25 22:56:57 +10:00
digitalentity
34046169c7 An implenentaion of nav-rewrite (squashed commit, November 17th).
Automatic magnetic declination from GPS coordinates (approximate to 1-2 degrees) (disabled)
Accelerometer bias compensation
Quaternion-based Mahony's DCM IMU (implementation by S. Madgwick)
Ability to lock heading to GPS cource for airplanes
Faster acquisition by initial attitude by using higher DCM kP gain on powerup
Changes to mag calibration algorithm (@HaukeRa's code). Compass calibration now independent from align_mag.
Changed acc calibration to proper 3-axis offset calculation code (same code as for mag). Changed board alignment angles to decidegrees (configurator incompatibility). Removed accelerometer trims (values passed thru MSP are ignored). Accel trim stick combo now adjusts board alignment directly (real-time, without reboot). Removed inflight acc calibration.
FIR filter implementation for different looptimes. Option gyro_cut_hz replaced with gyro_fir_enable (default gyro_soft_filter=3 preset - a very pessimistic filter with fairly large delay but low cutoff frequency for large or very noisy copters)
iNav-related PIDs renamed in CLI to avoid re-usage of old values when restoring config dumps.
PID with back-calculation and I-term anti-windup. Smarter max acceleration and jerk limiting
Initial support for airplane navigation. ALTHOLD, POSHOLD (circular loiter around the waypoint) and RTH should work. UNTESTED! RTH altitude probably needs some work. Autolanding will NOT function at the moment - the AUTOLAND phase will never complete. Absolutely no throttle control at the moment (fully manual control).
Increase delay for bmp085 baro detection. Resolves an issue with bmp085 not being detected sometimes on powerup
Fixed the missing checks for MIXER_CUSTOM_AIRPLANE
Lots of small fixes
2015-11-17 15:19:46 +10:00
Nicholas Sherlock
0c4604eeef Blackbox code size savings by factoring common loops out into fuctions 2015-07-31 15:53:22 +09:00
Konstantin Sharlaimov
082ac22eb0 Typo fix for quickMedianFilter implementation 2015-07-10 22:44:40 +10:00
Konstantin Sharlaimov (DigitalEntity)
eb5fc7c0eb Refactored code 2015-07-10 09:07:28 +10:00
digitalentity
a3b57386c2 Ported fast trigonometry functions over from @Crashpilot1000 Harakiri code
Fixed maths_unittest.cc to correctly handle float-point numbers
2015-07-09 22:38:17 +10:00
Dominic Clifton
4fcecbd667 De-duplicate vector matrix calculation code.
Saves 248 bytes of flash space when using -O0.
2015-06-24 22:33:36 +01:00
digitalentity
6e041c57dd Added median filter implementation. Added 3-point median filter to generic barometer code. 2015-04-07 19:58:20 +01:00
Pierre Hugo
be03ed95fa Renamed min, max and abs macros to MIN MAX and ABS. 2015-01-23 22:40:00 -08:00
Pierre Hugo
29c5630957 Moved vectors, euler angles, rotation and normalization from imu to maths. 2015-01-21 19:42:06 -08:00
Dominic Clifton
daa823ddba AltHold cleanup.
* Renamed several methods and variables so they make more sense.
* Move more altitude hold related code out of imu.c/h into
altitudehold.c/h.
* Fixed a unsigned integer being using instead of an signed integer in
the throttle calculation code.
2014-09-29 01:34:15 +01:00
Goebish
b83e7b42b7 Add throttle level indicator led mode 2014-09-19 01:09:59 +02:00
Dominic Clifton
d60183d91d Normalize all the line endings 2014-09-15 23:40:17 +01:00
Dominic Clifton
e867af8c4b Correct project name in GPL notices. 2014-06-05 00:47:47 +01:00
Dominic Clifton
0bbcd6570f Updated source files to include the GPL v3 notices. Include a copy of
the GPL v3.
2014-06-04 16:48:23 +01:00
Dominic Clifton
d19a5e7046 Cleanup project structure. Update unit test Makefile to place object
files in obj/test
2014-05-31 22:43:06 +01:00
Renamed from src/common/maths.c (Browse further)