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

254 commits

Author SHA1 Message Date
Martin Budden
944adb06f8 Minor changes to directory structure to reflect changes in Cleanflight and betaflight 2016-08-09 08:19:15 +01:00
Konstantin Sharlaimov
43eaf10db2 Turn assistant - turn on parallel to ground plane (#384)
* Turn assistant - turn on parallel to ground plane
2016-08-02 15:30:56 +03:00
Konstantin Sharlaimov
688e75c82d SPRACINGF3EVO board support (#266)
* Initial SPRACINGF3EVO support
* General SD-Card support; enable SD-Card for EVO
2016-07-27 05:46:32 +03:00
Martin Budden
cdb8cd75ef Used build #defines for some minor ROM saving. (#388)
* Used build #defines for some minor ROM saving.
* ROM saving in serial_cli.c
2016-07-25 01:52:05 +03:00
Martin Budden
c2417bcc26 MSP and feature changes for NRF24 2016-07-24 21:32:43 +01:00
Gaël James
53e872cee8 LED strip rework (#362)
* Implement new LED strip functions from CF and BF.
* Warnings: blink to black instead of function color
2016-07-24 10:49:37 +03:00
Paweł Spychalski
cfd8f7ed82 Flaperon flight mode (#307)
* basic flaperon functionality
* flaperon configuration
* FLAPERON can be activated only on MIXER_AIRPLANE and MIXER_CUSTOM_AIRPLANE
* state FLAPERON_AVAILABLE added
2016-07-21 14:53:09 +03:00
Martin Budden
405cd00ebc Moved nrf24 protocol to end of MSP RX_CONFIG data. 2016-06-23 20:09:50 +01:00
Konstantin (DigitalEntity) Sharlaimov
cc8871dd4c Merge branch 'DzikuVx-inav-rates-in-dps' 2016-06-15 20:17:50 +03:00
Konstantin (DigitalEntity) Sharlaimov
6bf5c147b6 Refactor MSP_SET_RC_TUNING for better readability 2016-06-15 20:16:07 +03:00
Konstantin (DigitalEntity) Sharlaimov
f77eb4788d Merge branch 'inav-rates-in-dps' of https://github.com/DzikuVx/cleanflight into DzikuVx-inav-rates-in-dps 2016-06-15 20:11:29 +03:00
Martin Budden
918e2ffd3d NRF24 support for iNav. 2016-06-14 12:36:10 +01:00
Martin Budden
533d272845 Sonar initialisation cleanup - part 3 2016-06-12 09:04:25 +01:00
Pawel Spychalski (DzikuVx)
0f19dcc70f rc_rate setting removed 2016-05-25 19:32:10 +02:00
Pawel Spychalski (DzikuVx)
d534f99fb3 rates constrained to new min and max 2016-05-25 19:32:10 +02:00
Martin Budden
941b72b36f Allow max motors to be set in target.h 2016-05-24 19:37:40 +01:00
Martin Budden
acdd0077a6 Added support for CC3D OPBL build 2016-05-19 23:05:03 +01:00
Paweł Spychalski
dd8a8aead5 MAG_HOLD diff limiting and MAG controller refactoring (#195)
* MAGHOLD constrained to 30 degrees
* mag_hold_heading_diff_limit CLI setting added to allow custom MAG_HOLD diff limit
* magHeading moved to pid.c and real interface created to inject data into it
* mag hold controller with current logic moved to pid.c
* 2Hz LPF filter added to magHold error to smoothen controller response
* variable name changed to clearly state its purpose
* LPF filter in MAG_HOLD controller moved after error limiting
* yaw_control_direction passed to pidController as argument, mag_hold_heading_diff_limit moved to pidProfile
* yaw_control_direction setting removed
* pidMagHold translates directly to rotation rate in dps
* pidMagHold refactored to the new principles and limiting
* name of filter changed to reflect its purpose
* HEADING_LOCK mode can be used only when MAG_HOLD is not enabled
* compiler warning supressed
* new MAG_HOLD defaults, RATE_LIMIT increased to 80dps, MAG_HOLD P to 60
* mag_rate_limit 90dps
2016-05-15 22:46:55 +10:00
Konstantin Sharlaimov
8f49814985 Merge pull request #179 from iNavFlight/cleanup-4way
Cleanup 4way interface
2016-05-13 09:49:02 +10:00
Konstantin Sharlaimov (DigitalEntity)
cf46cf6098 ACC/GYRO: Cleanups. Thanks to @martinbudden for the idea and most of the code 2016-05-09 10:50:47 +10:00
Konstantin Sharlaimov (DigitalEntity)
a2c791a811 GPS: Report proper fix type to MSP_RAW_GPS 2016-05-05 20:06:04 +10:00
Petr Ledvina
aedeed0c36 Cleanup 4way interface
- implement cleaner interface into Cleanfligh
- separate initialization and start
- allow direct access to command processing, skipping BLHeli serial
   framing
- remove mspPort_t dependency
- refactor naming to CF style
- use serial_4way_impl.h for internal interface to bootloader
    implementation
- use uint16_t instead of hi/lo bytes ; use integer lengths
    instead of 0=256 encoding
- fix buffer overflow in stkv2 code
2016-05-02 11:36:37 +10:00
4712
5b2bb41406 4way-interface 2016-04-28 11:42:18 +10:00
Konstantin Sharlaimov (DigitalEntity)
dc55a19803 Post-merge fixup. Enable LED_STRIP 2016-04-08 17:05:22 +10:00
Konstantin Sharlaimov (DigitalEntity)
e7c058beb3 Merge branch 'surface-tracking-mod' 2016-04-08 17:02:31 +10:00
Konstantin Sharlaimov (DigitalEntity)
8b452ee5ef PID: Heading lock mode for mode locked-in yaw 2016-04-07 18:44:41 +10:00
Konstantin Sharlaimov (DigitalEntity)
f1aa9e6f44 PID: LuxFloat rewritten from scratch. New I-term back-tracking for anti-windup prevention
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
2016-04-07 18:44:03 +10:00
Konstantin Sharlaimov (DigitalEntity)
0eb7139f78 MSP: Fix for incorrect length for MSP_GPSSTATISTICS message 2016-04-03 22:22:29 +10:00
Konstantin Sharlaimov (DigitalEntity)
b90d13ac30 SURFACE: New flight mode behavour fixed. Surface tracking can be enabled at any time during ALTHOLD and POSHOLD_3D modes 2016-03-28 14:13:26 +10:00
Konstantin Sharlaimov (DigitalEntity)
37bd01a186 NAV: Surface tracking 2016-03-28 12:35:52 +10:00
Konstantin Sharlaimov (DigitalEntity)
989f9e2085 GPS: Better GPS fix reporting: 0=none, 1=2D, 2=3D 2016-03-18 11:25:01 +10:00
Konstantin Sharlaimov (DigitalEntity)
1d55aeb125 GPS: Reinstate HDOP in gpsSol. Report HDOP as an extra field in MSP_RAW_GPS and as a first satellite signal quality in MSP_GPSSVINFO until Configurator fully support HDOP display 2016-03-18 11:25:00 +10:00
Konstantin Sharlaimov (DigitalEntity)
68073458c4 GPS: Remove satellites in view data; GPS baud rate defaulted to 38400; Added MSP_GPSSTATISTICS message to report GPS performance data (accuracy, rate, error count) 2016-03-18 11:24:59 +10:00
Konstantin Sharlaimov (DigitalEntity)
ddc75033ef Merge branch 'scheduler-queue' 2016-03-18 10:50:00 +10:00
Michael Hope
a7e2e2c7b2 serial: add writeBuf() and implement for USB.
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
2016-03-18 10:40:58 +10:00
Konstantin Sharlaimov (DigitalEntity)
f063c46e9c MSP: Fixed incorrect assumption about BOX ordering. Fixes #116 2016-03-18 10:16:55 +10:00
Konstantin Sharlaimov (DigitalEntity)
324711ddda SCHEDULER: Move scheduler code to a separate directory 2016-03-17 15:55:04 +10:00
Konstantin (DigitalEntity) Sharlaimov
fbeff0a1be NAV: Allow position control from EzGUI (follow me etc) only if new 'GCS NAV' mode is enabled 2016-03-08 19:35:20 +02:00
Konstantin (DigitalEntity) Sharlaimov
ed5730fc63 NAV: New mode 'HOME RESET' to reset home position to current drone position 2016-03-06 07:31:49 +02:00
Konstantin (DigitalEntity) Sharlaimov
60dc42360a MSP: Fix MSP_STATUS_EX size 2016-03-02 08:35:29 +02:00
Konstantin Sharlaimov (DigitalEntity)
949340a0bf MSP: Box mode allowance bug fixed 2016-01-24 18:12:03 +10:00
Konstantin Sharlaimov (DigitalEntity)
8b8060bae1 GPS: Switched from HDOP/VDOP to EPH/EPV values - absolute accuracy; Add logging of GPS EPH/EPV to blackbox; EPH/EPV values for NMEA and I2C-NAV boards are marked as invalid as they are not real accuracy values; GPS data processing code refactoring for simplicity 2016-01-22 23:24:52 +10:00
Sami Korhonen
8d980b2a56 Fix outputted GPS altitude 2016-01-22 23:24:47 +10:00
Konstantin Sharlaimov (DigitalEntity)
69cfbb04d2 GPS: Protocol-independent stack. UBLOX binary driver implementation. Autoconfig works. Autobaud works.
GPS: Native MAG support (for future NAZA GPS support), bugfixes

GPS: Supported GPS protocols on a per-target basis
2016-01-22 23:24:42 +10:00
Konstantin Sharlaimov (DigitalEntity)
c81be6e687 Cooperative task scheduler
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
2015-12-30 23:21:56 +10:00
Konstantin Sharlaimov (DigitalEntity)
f026603d8b NAV: Fixed an option to compile out navigation while still having GPS for telemetry and OSD (home position, distance and bearing is calculated correctly) 2015-12-23 20:06:47 +10:00
Konstantin Sharlaimov (DigitalEntity)
dc3e84ea5b Merge branch 'master' into inav-dev
Conflicts:
	Makefile
	src/main/common/filter.c
	src/main/common/filter.h
	src/main/config/config.c
	src/main/config/config_master.h
	src/main/config/config_profile.h
	src/main/drivers/sonar_hcsr04.c
	src/main/flight/altitudehold.c
	src/main/flight/failsafe.c
	src/main/flight/failsafe.h
	src/main/flight/imu.c
	src/main/flight/imu.h
	src/main/flight/navigation.c
	src/main/flight/pid.c
	src/main/flight/pid.h
	src/main/io/rc_controls.c
	src/main/io/serial.c
	src/main/io/serial.h
	src/main/io/serial_cli.c
	src/main/mw.c
	src/main/sensors/sonar.c
	src/main/sensors/sonar.h
	src/main/target/NAZE/target.h
	src/main/telemetry/ltm.c
	src/test/Makefile
	src/test/unit/flight_imu_unittest.cc
	src/test/unit/navigation_unittest.cc
2015-12-23 14:19:33 +10:00
NightHawk32
c1407a7bcb MSP support for sensor alignment 2015-12-18 12:58:10 +01:00
Dominic Clifton
534b79236f Replace MSP_SET_RC_CONTROLS with MSP_SET_RC_DEADBAND. The former was
too generic.
2015-12-18 12:57:59 +01:00
NightHawk32
25f7511e6b added new MSP command for deadband, yaw deadband, .... content of rcControlsConfig_s 2015-12-18 12:57:49 +01:00