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

3724 commits

Author SHA1 Message Date
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
Konstantin Sharlaimov
da8f1b1c74 Merge pull request #111 from iNavFlight/serial-buffering
Add serial write buffering by Michael Hope
2016-03-18 10:41:19 +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
Martin Budden
3a6a27e4bd Improved formatting of tasks statistics in CLI. 2016-03-17 15:55:04 +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
33636bb847 Scheduler fixups 2016-03-17 15:55:03 +10:00
Martin Budden
7809389707 Initial commit of run queue for scheduler.
Removed isEnabled flag, replaced by task being in queue or not.

Improvements to queue.

Minor tidy.

Unittests

Minor optimisation: only inclued queueContains if it is required.

Optimised scheduler queue iterators.

Fixed static inline declaration of queue iterators. Minor tidy of case when selectedTask == NULL

Minor optimisations to queueAdd and queueRemove

Whitespace tidy.

Removed conditional inclusion of queueContains.

More test code. Fixed bug in queueAdd.

Added test to check filling up and emptying queue.

Some rework before rebase.

Post rebase fixup.

Improved inclusion of platform.h. Improved initialization in queueClear.
2016-03-17 15:55:03 +10:00
Konstantin Sharlaimov (DigitalEntity)
1f9e743395 RTH: Implement GPS wait timeout if no GPS available on RTH activation 2016-03-17 15:54:49 +10:00
Martin Budden
afed6b02d1 Made use of WS2811_DMA_TC_FLAG consistent. 2016-03-16 11:00:28 +10:00
Martin Budden
cfa91f244e Moved function declarations out of rx.c into relevant header files. 2016-03-16 10:59:20 +10:00
Dominic Clifton
ce77e76ca5 Disallow gyro sync denominator < 2 when gyro sync and gps are enabled on
F1 targets. Also disallow looptime < 2000 when GPS enabled.

Note: Too much CPU loads prevents arming, this reduces CPU load.
2016-03-15 21:47:48 +10:00
Dominic Clifton
ae2919f652 only run git log once per build. Closes #1909 2016-03-15 21:43:29 +10:00
Dominic Clifton
41b7e8a1ca Update makefile help to show 'bin' alias. See #1857 2016-03-15 21:43:21 +10:00
Dominic Clifton
397a864d3d Support out of order ISR events for PPM. Rename previousTime to
currentCapture to better indicate it's use.

Add some PPM event debugging code (disabled by default).
2016-03-15 21:43:13 +10:00
Echelon9
b148e016ae Don't promote two equivalent user facing options in 'make help'. The two alternative commands continue to exist for scripts etc. 2016-03-15 21:39:05 +10:00
Echelon9
b884f7d29f Correct typo in 'make help' description string 2016-03-15 21:38:54 +10:00
Echelon9
51d8192d1f Clean up stray 'make help' strings that do not apply to valid options 2016-03-15 21:33:58 +10:00
Read Error
455a358591 Lux Commit 2016-03-15 21:33:39 +10:00
Petr Ledvina
d73313fe98 Add support for target as makefile goal
Recursively invoke make with TARGET set correctly.
It is possible to specify multiple targets on make command line.
Special goal `all_targets` will make all known TARGETs.
TARGET-specific goals are passed correctly.

```
make SPARKY NAZE
make all_targets binary test
make all_targets clean
```
2016-03-15 21:29:28 +10:00
Konstantin Sharlaimov (DigitalEntity)
235ebf667a NAV: Further improve handling of magless machines 2016-03-12 22:46:12 +10:00
Konstantin Sharlaimov (DigitalEntity)
526609b575 FW: Fix issue with home set on a magless airplane. Prevent navigation from doing corrections when speed is low 2016-03-12 20:26:44 +10:00
Konstantin (DigitalEntity) Sharlaimov
8f25007144 MAG: Support for Freescale MAG3110 compass chip 2016-03-09 21:21:59 +02:00
Konstantin (DigitalEntity) Sharlaimov
d424879b87 NAV: New PH defaults 2016-03-09 20:56:23 +02:00
Konstantin (DigitalEntity) Sharlaimov
d3f2df499d FW: Increase default banking angle to 30 deg, add 'nav_fw_loiter_radius' parameter (cm) to control the radius of a circle in PH/RTH modes 2016-03-08 20:36:19 +02: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
2cd83a3110 POSHOLD/WP: Support P1 as heading for Follow-Me (waypoint=255) 2016-03-08 08:16:01 +02:00
borisbstyle
694980f1c0 Disable error interrupt USB // Fixes CPU overload and arming issues on some boards. Thanks to moto moto 2016-03-08 07:38:30 +02:00
Konstantin (DigitalEntity) Sharlaimov
621c8e3bfd NAV: Change D-term scaling for NAV PIDs. Closes #94 2016-03-06 17:51:56 +02:00
Konstantin (DigitalEntity) Sharlaimov
cd4e90cee5 ALTHOLD: Surface tracking improvements 2016-03-06 08:57:03 +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
a8cc9a6be8 ALTHOLD: Remove use_midrc_for_althold. Now throttle center is always assumed as 'hover' 2016-03-05 21:00:29 +02:00
Konstantin (DigitalEntity) Sharlaimov
47b7816564 NAV: Don't allow position estimation if no valid heading. Fixes #88 2016-03-05 18:04:35 +02:00
Konstantin (DigitalEntity) Sharlaimov
60dc42360a MSP: Fix MSP_STATUS_EX size 2016-03-02 08:35:29 +02:00
3djc
ad8d88d156 Remove unecessary code
Recent OpenTX version do signal when telemetry data is updated with a blinking *, so there is no need anymore to have that misleading changing number when nothing is actually changing.

Signed-off-by: Konstantin Sharlaimov (DigitalEntity) <konstantin.sharlaimov@gmail.com>
2016-02-19 17:56:35 +10:00
borisbstyle
591c8870cd Fix sensors saturation by converting to int32_t 2016-02-19 14:09:57 +10:00
Konstantin Sharlaimov (DigitalEntity)
e78054bf60 Version bump 1.0.1, EEPROM bump 2016-02-17 22:57:24 +10:00
Konstantin Sharlaimov
7711fbbec6 Merge pull request #77 from iNavFlight/biquad-filter
Biquad filter (kudos @borisbstyle)
2016-02-17 22:40:19 +10:00
Konstantin Sharlaimov (DigitalEntity)
4ab11b6b3b SERVO: Fix servo lowpass filter initialisation 2016-02-17 22:39:08 +10:00
Konstantin Sharlaimov (DigitalEntity)
4ea49fc474 FILTER: Remove servo lowpass - replace by BiQuad; Remove battery lowpass - replace by PT1 2016-02-17 22:39:07 +10:00
Konstantin Sharlaimov (DigitalEntity)
11cc82cf41 FILTER: Replace FIR by BiQuad by @borisbstyle. First implementation. Kept PT1 filter as it's used in navigation
FILTER: BiQuad filter optimisations

FILTER: BiQuad filtering fix for REWRITE PID controller. Divide delta by dT before filtering to reduce delta noise caused by dT jitter and make things more correct from DSP point of view
2016-02-17 22:39:07 +10:00
Konstantin Sharlaimov (DigitalEntity)
852a452aca EMERG: Fix emergency landing in case when altitude sensor is unavailable 2016-02-17 17:00:44 +10:00
Konstantin Sharlaimov (DigitalEntity)
585c9ae26c GPS-UBLOX: Make sure each position frame is processed. Increase scheduling rate to reduce GPS jitter 2016-02-13 01:13:29 +10:00
Konstantin Sharlaimov (DigitalEntity)
d5df7a5f9d GPS: Fixed wrong units for EPV/EPH (were in mm, not are in cm). Remove debugging code 2016-02-01 22:40:07 +10:00
Konstantin Sharlaimov (DigitalEntity)
82905651c3 RMDO: Remove support for BMP085 and MS5611 (space issues) 2016-02-01 09:07:11 +10:00
Konstantin Sharlaimov (DigitalEntity)
754187bf8a BARO: Add support for all baros (BMP085, BMP280 and MS5611) to SPRACINGF3 and RMDO tarets 2016-01-31 21:12:07 +10:00
Konstantin Sharlaimov (DigitalEntity)
334a16ec74 MAG: Put back AK8975 for common targets 2016-01-31 20:49:13 +10:00
Konstantin Sharlaimov (DigitalEntity)
6e2bf4bbb3 LAND: Fixed the bug in sonar-assisted landing 2016-01-26 11:36:42 +10:00