1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-24 00:35:34 +03:00
Commit graph

263 commits

Author SHA1 Message Date
Konstantin Sharlaimov (DigitalEntity)
d731486235 Remove dead reckoning possibility. Removed throttle_tilt_compensation option. Added extra arming safety - disable arming if no GPS fix 2015-11-27 15:25:41 +10:00
Konstantin Sharlaimov (DigitalEntity)
472ab7694c CLI fixes, emergency landing controller fixes 2015-11-26 17:32:58 +10:00
Konstantin Sharlaimov (DigitalEntity)
68e60f5c37 Added a configurable mc_hover_throttle parameter to be used when calculating altitude controller 2015-11-26 10:20:52 +10:00
Konstantin Sharlaimov (DigitalEntity)
6850fe324f RTH on failsafe can now be set via CLI. Disabled RC input when executing failsafe RTH. 2015-11-25 16:28:43 +10:00
Konstantin Sharlaimov (DigitalEntity)
ed0f85c41b Fix CLI parameter declaration for baro and PIDs 2015-11-25 15:03:54 +10:00
Konstantin Sharlaimov (DigitalEntity)
68abea6a04 Allow I2C GPS to be selected in CLI 2015-11-25 15:00:26 +10:00
Konstantin Sharlaimov (DigitalEntity)
0fa3a4d18f Setting magzero_* variables from CLI now sets the MAG_CALIBRATION_DONE persistent flag 2015-11-21 23:10:25 +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
Dominic Clifton
df7d4be263 Ignore leading whitespace when setting values by name,
Previously this didn't work:
`set blackbox_device = SPIFLASH`
Users had to type in:
`set blackbox_device =SPIFLASH`
2015-11-14 16:35:42 +00:00
Dominic Clifton
f67cb01e65 Configure blackbox device via named valie (SERIAL / SPIFLASH) 2015-11-14 16:15:39 +00:00
Dominic Clifton
f66094ed51 Restore yaw_p_limit which was removed in error in
e347e7d4bf
2015-11-14 02:51:34 +00:00
Dominic Clifton
bf8daea1b9 Cleanup names of pid controllers. 2015-11-14 00:30:41 +00:00
Dominic Clifton
ecbc0cd915 Merge branch 'cli-named-values'
Conflicts:
	src/main/io/serial_cli.c
2015-11-13 23:54:32 +00:00
Dominic Clifton
e58595fcb8 Remove configuration of pid controller via name.
Makes merging of #1488 easier.
2015-11-13 23:44:25 +00:00
Dominic Clifton
fb85e7f08a Merge pull request #1012 from borisbstyle/pidCleanup
PID controllers cleanup (less pid controllers)
2015-11-13 23:30:40 +00:00
Dominic Clifton
238b3c3cea Support get/set configuration values by name.
e.g. ON/OFF instead of 1/0.
2015-11-13 22:30:37 +00:00
borisbstyle
e347e7d4bf PID Controller Cleanup
Documentation Draft

add cli names

Cli name adaption

cli set numeric and string

correct names

change

Only PID1 and PID2

Add PID3
2015-11-13 21:31:18 +01:00
borisbstyle
9da66d5005 I2C Overclock Feature
This speeds up IMU speed significantly.
F1 Targets like NAZE Looptime of ~900 is possible
F3 Targets like  SPRACINGF3 looptime of 370 is posible
2015-11-10 01:02:32 +01:00
Dominic Clifton
c4a670b56a Merge branch 'serial1wire-blheli-multiesc' of https://github.com/nathantsoi/cleanflight into nathantsoi-serial1wire-blheli-multiesc
Conflicts:
	src/main/target/CC3D/target.h
2015-10-30 00:44:23 +00:00
Petr Ledvina
fcc9556610 Remove unused pointes if SKIP_CLI_COMMAND_HELP is defiend 2015-10-15 23:37:21 +01:00
Dominic Clifton
a319394f6b Merge branch 'blackbox-serial-budget' of https://github.com/sherlockflight/cleanflight-dev into sherlockflight-blackbox-serial-budget
Conflicts:
	src/main/blackbox/blackbox.c
2015-10-12 20:14:20 +01:00
Dominic Clifton
123a4ccfc5 Merge branch 'GTune' of https://github.com/MJ666/cleanflight into
MJ666-Harakiri_PID_update

Conflicts:
	Makefile
	src/main/blackbox/blackbox_fielddefs.h
	src/main/flight/pid.c
	src/main/io/serial_msp.c
	src/main/mw.c
	src/main/target/ALIENWIIF3/target.h
	src/main/target/CC3D/target.h
	src/main/target/NAZE/target.h
	src/main/target/NAZE32PRO/target.h
	src/main/target/SPARKY/target.h
2015-10-06 20:16:37 +01:00
Michael Jakob
e42ed1ad70 Update to integrate with BorisB filters after rebase.
Documentation update
2015-10-04 18:37:23 +02:00
Michael Jakob
53531224be Make G-Tune more configurable
- add two new CLI paramaters "gtune_settle_time" and
"gtune_average_cycles"
- the settle time is not depending on looptime anymore
- updated default setting to cover e wider range of copters
- remove lower limit for P value for CLI (Zero P is now posible, but
schould be used with care)
- Documentation updates
2015-10-04 18:37:21 +02:00
Michael Jakob
43f5792a61 G-Tune port from Harakiri
Enabled for NAZE, ALIENWWIIF1 and ALIENWIIF3 targets
Implement G-Tune for all PID controllers
The G-Tune tuning results will be save if G-Tune mode will be disabled
during copter is disarmed.
Update PID controller and G-Tune documentation
2015-10-04 18:37:18 +02:00
Michael Jakob
b20dc77a74 Harakiri PID controller make hardcoded parameters configurable 2015-10-04 18:37:17 +02:00
Richard Lehey
501c83f851 Add support for new BMP280 barometer 2015-10-02 15:43:44 +01:00
Nicholas Sherlock
6e504ca52a Ability to see how many Tx bytes are free in serial port buffer 2015-10-01 16:48:56 +13:00
nathan
e466ed2618 Merge branch 'master' into serial1wire-blheli-multiesc 2015-09-30 08:52:09 -07:00
Dominic Clifton
36a3ee4e59 Merge branch 'rcFilter' of https://github.com/borisbstyle/cleanflight into borisbstyle-rcFilter 2015-09-29 10:36:41 +01:00
borisbstyle
26f89b74bd Configurable Baro Type
We can disable/configure mag, acc, but why not baro?

ident
2015-09-10 02:22:50 +01:00
Dominic Clifton
9208b8701a Merge pull request #1255 from ProDrone/pr1233_rxfail_mode_changes_1
Changed behavior of PR #1233 - solves issue #1254
2015-09-05 23:01:11 +01:00
Dominic Clifton
b6c504dc88 Merge pull request #1263 from ProDrone/prevent_arming_when_in_cli
Prevent arming when in CLI mode
2015-09-05 22:55:06 +01:00
Dominic Clifton
0caf8a65ba Merge pull request #852 from ProDrone/Failsafe_features_1
Failsafe - New failsafe functionality (Phase 1)
2015-09-05 22:50:34 +01:00
Dominic Clifton
cb147ec85e Fix CJMCU build, broken by df92691410 2015-09-05 20:34:40 +01:00
Dominic Clifton
564c131db5 Merge pull request #1283 from sppnk/patch-4
Fixing servo command parsing of "rate" field
2015-09-05 18:53:33 +01:00
Dominic Clifton
df92691410 update dump command to show per-profile servo reverse settings. See
#1140.
2015-09-05 18:01:36 +01:00
ProDrone
f0681de53d Updates and feature additions to failsafe system.
- Added failsafe flightmode and rc control box.

To make failsafe procedure a separate flight mode and make it possible
to trigger failsafe with an AUX switch.

- Failsafe mode is activated when failsafe is active.

RC link lost is simulated with the failsafe AUX switch.
When NOT armed: failsafe switch to failsafe mode is shown in GUI (mode
tab).

- Activate failsafe mode with AUX switch.

- Prevent arming when failsafe via AUX switch is active (safety issue).

- Make failsafe disarm if motors armed and throttle was LOW (2D & 3D)
for `failsafe_throttle_low_delay` time (__JustDisarmEvent__).

Applied code changes to effectively add pull request: Make failsafe
disarm if motors armed and throttle low #717.

- Use failsafeIsMonitoring() to actually start monitoring.

- Added `failsafe_kill_switch` to code.

When set to 1 (0 is default), the failsafe switch will instantly disarm
(__KillswitchEvent__) instead of executing the landings procedure.
Arming is NOT locked after
this, so the craft could be re-armed if needed.
This is intended for racing quads where damage and danger must be
minimized in case of a pilot error.

- Added `failsafe_throttle_low_delay`, adapted documentation.

Used to adjust the time throttle level must have been LOW
to _only disarm_ instead of _full failsafe procedure_
(__JustDisarmEvent__).

- Updated the failsafe documentation.

- Re-enable arming at end of failsafe procedure.

At the end of a handled failsafe event, that means: auto-landing,
__JustDisarmEvent__ or __KillswitchEvent__, the RX link is monitored for
valid data.
Monitoring is a part of the failsafe handling, which means the craft is
still in failsafe mode while this is done.
Arming is re-enabled (allowed) when there is a valid RX link for more
then XX seconds, where XX depends on the handled event like this:
1. XX = 30 seconds after auto landing.
2. XX = 3 seconds after __JustDisarmEvent__.
3. XX = 0 seconds after __KillswitchEvent__.

NOTE: When armed via an AUX switch, you will have to switch to the
disarmed position at the very end to be able to re-arm.
The failsafe mode will not end until you do.

- __KillswitchEvent__ has now priority over __JustDisarmEvent__

- Apply rxfail values instantly when failsafe switch is ON

- Added missing cases to display.c

Show M when failsafe is monitoring for RX recovery (AND disarming when
armed with a switch).

===

Reworked the code from counter-based to time-based.

- AUX failsafe switch now has identical behavior to RX loss.

- Added RX failure and RX recovery timing.

- __KillswitchEvent__ skips RX failure detection delay (direct disarm).

===

[UNIT TESTS]

Adapted failsafe related unittests from counter-based to time-based

- Added failsafeOnValidDataFailed() to some tests

- Removed duplicate test setup from rc_controls_unittest.cc

- Removed magic numbers from rx_ranges_unittest.cc and rx_rx_unittest.cc

- Reworked all test-cases for flight_failsafe_unittest.cc
2015-09-04 16:55:40 +02:00
ProDrone
a46832fd85 Changed behavior of PR #1233 and doc update
Stick channels only have AUTO and HOLD mode.
AUX channels only have SET and HOLD mode.
Added check to parameter in CLI.
Modified rx.md to reflect changes (and more).

+1 squashed commit:

- A cleaner approach for the same functionality

Basically addressing all comments from Hydra
2015-09-04 16:51:19 +02:00
ProDrone
3b9cd37a57 Prevent arming when in CLI mode 2015-09-04 16:46:03 +02:00
sppnk
45d31f2290 Fixing servo command bug
The limits for RATE were bad, so we had a "Parse error" when changing rate values other than 100.
2015-09-03 16:47:00 +02:00
borisbstyle
b69bab33b2 Configurable RC Smoothing 2015-09-01 23:41:56 +02:00
nathan
6d66aecf6d serial1wire cleanup per @4712 and @Echelon9 2015-08-24 20:17:10 -07:00
nathan
67f74121d6 serial 1wire passthrough for blheli 14.0.0.3.2+
tested on NAZE and CC3D (OPBL)
2015-08-22 23:16:21 -07:00
Dominic Clifton
718729504e Allow FC to reverse input channels by using rxrange.
Just reverse the min/max arguments.

Unit tested.

Fixes #1132.
2015-08-20 02:46:03 +01:00
Dominic Clifton
a030d4dd9e Failsafe - Add rxfail auto mode. Allow rxfail to be used for all
channels, not just aux channel.
2015-08-20 01:37:29 +01:00
Dominic Clifton
cb92878fd0 Merge pull request #1172 from digitalentity/magzero-cli
Add ability to get/set mag calibration data
2015-08-11 22:16:45 +01:00
Dominic Clifton
463437fb45 Ensure battery status strings are stored in the flash. 2015-08-04 03:10:34 +01:00
DarkVegetableMatter
942c89237e Battery auto-detect and LPF for battery monitoring 2015-08-04 03:04:12 +01:00
Dominic Clifton
9d3276b222 Code and documentation cleanup of rc calibration.
Note: since it didn't actually calibrate anything it has been renamed to
rxrange.

Added ability to reset rxranges using `rxrange reset` - this follows the
same pattern as other cli commands.
2015-08-04 01:13:28 +01:00