1
0
Fork 0
mirror of https://github.com/iNavFlight/inav.git synced 2025-07-13 11:29:56 +03:00
Commit graph

940 commits

Author SHA1 Message Date
hali9
28a8fd0981 IBUS telemetry new features (#1495)
* ibus_telemetry_type 3,4,5

* Measure value

* Update ibus_shared.c

* Update ibus.c

* Update barometer.h

* Update barometer.c

* Update ibus_shared.c

* Missing LAUNCH in getFlightModeForTelemetry

* Update barometer.c

* Speed is in mph - change to km/h

* Climb rate signed and no divide

* Reorder values and support new oficial version

* Add Gps alt 4 byte and capacity (fuel)

* support new oficial version

* Update doc

* Update barometer.h

* Update ibus.c

* Update ibus_shared.c

* Update ibus_shared.h
2017-10-14 09:35:21 +10:00
Konstantin Sharlaimov
a62b073aa6 Merge pull request #2294 from fiam/osd_metric
Make OSD default to OSD_UNIT_METRIC
2017-10-14 09:30:17 +10:00
Stewart Loving-Gibbard
46814602dc Changing from Meters to Centimeters. Increasing allowed range of input values, which will get us to about 650 meters for max range of this feature. This will work for all the use cases I intended, but maybe not for ones I haven't thought of. 2017-10-09 19:20:16 -07:00
Stewart Loving-Gibbard
12ced110d7 Another batch of cherry picks 2017-10-09 11:35:57 -07:00
Stewart Loving-Gibbard
6062411740 This adds a minimum failsafe distance behavior that only operates when the craft is below the Minimum Failsafe Distance. The distance is configurable, as well as the behavior that will be taken. It defaults to off (0 distance). 2017-10-09 11:28:53 -07:00
Alberto García Hierro
12e8a1ce3a Update Cli.md to show the default value for osd_units 2017-10-08 16:47:58 +01:00
stronnag
1ff938017b Update Board - MatekF405.md
clarified LED usage
2017-10-07 12:00:05 +01:00
Jonathan Hudson
fb2518632c Matek F405 : add PWM and Servo section 2017-10-07 08:02:20 +01:00
Paweł Spychalski
78d85c9cb7 Merge pull request #2219 from randyoo/patch-1
Update Inflight Adjustments.md
2017-09-27 13:26:06 +02:00
randyoo
90c85cc25b Update Inflight Adjustments.md
fix minor typos
2017-09-26 20:57:01 -04:00
Paweł Spychalski
e66f98e56d Merge pull request #2187 from Schalonsus/patch-2
deleted unused values
2017-09-22 07:59:36 +02:00
Schalonsus
0efec46a29 deleted unused values
changed all mixes to # Rule / Servo / Source / Rate / Speed
changed flaps input on last custom mix example
2017-09-21 08:07:08 +02:00
Jonathan Hudson
832bea4cfb updated documentation for Matek F405 (soft-I2C on F405-OSD) 2017-09-16 20:10:56 +01:00
Konstantin Sharlaimov
343bb4173d Merge pull request #2082 from fiam/frsky_unit_doc
Fix default value for frsky_unit in Cli.md
2017-09-08 22:51:50 +10:00
Alberto García Hierro
782b4820a9 Fix default value for frsky_unit in Cli.md
Its default value was always metric, but due to a bug it would be
displayed as IMPERIAL in the CLI and dumps.
2017-09-08 13:19:35 +01:00
Konstantin Sharlaimov (DigitalEntity)
eaeb24fd23 Underclocking for F3 targets
De underclock f3 (#2004)

Underclocking for F1

Don't trust SystemCoreClock variable when initializing SysTick; Fix bug for F1 underclock

Fixups
2017-09-07 17:53:10 +10:00
Paweł Spychalski
51158ba863 Imprved docs for installinh ruby on Ubuntu 2017-08-30 18:53:55 +02:00
Konstantin Sharlaimov
d47b188c4c SmartPort (S.Port) telemetry enhancements, cleanup, and documentation (#2050)
* Fuel telemetry shows as a percentage of battery capacity if set, new telemetry identifier for GPS signal strength, telemetry timeout lengthened to 3ms

* Prevent divide by zero, remove duplicate identifier FSSP_DATAID_CAP_USED

* Prevent divide by zero

* Remove GPS accuracy

* Remove GPS accuracy

* Reset timeouts to default

* Added smartport_fuel_percent boolean variable to send Smartport telemetry fuel as available battery percentage based on battery_capacity variable

* Prevent rollover of FSSP_DATAID_T1 telemetry to next digit if PASSTHRU_MODE and other flight modes are true

* Added GPS accuracy to unused hundreds position on FSSP_DATAID_T2 (0=lowest to 9=highest accuracy), constrained number of satellites to 0-99 range to avoid rollover into hundreds position

* Updated readme to detail SmartPort (S.Port) available telemetry sensors

* Readme tweaks

* Readme formatting/spelling

* Smartport S.Port telemetry moved to top to avoid confusion with older FrSky telemetry

* Added Taranis Q X7 as a new Smartport receiver

* Readme clarification

* Increased timeout which seems to cause fewer telemetry sensor lost errors when using software serial port for SmartPort telemetry

* Changes to follow coding style guidelines are per iNAV documentation

* SmartPort telemetry doc changes

* Better SmartPort telemetry  definition

* Documentation additions/corrections

* Testing to verify port names

* Confirmed telemetry names in OpenTX

* Rearranged telemetry IDs to better match order of discovery

* Removed test ASpd for GPS only

* Distance to home has the ID 0420 not 420 in OpenTX

* Test to see if idle telemetry causes sensor lost

* Folded Cleanflight SmartPort telemetry logic with iNav SmartPort telemetry info for proper function on all ports including software serial

* Cleaned up and streamlined code, rock solid even when using soft serial

* Added home reset and failsafe mode telemetry indicators, updated docs, code reformatting

* Slight code clarification

* Oops! Don't call GPS functions if GPS isn't defined

* Compiles fine here with the same target, but Travis doesn't like it for some reason, so I added some seemingly unneeded pre-compile logic, go figure...

* Finishing touches, everything seems to be good
2017-08-29 15:47:35 +10:00
Alberto García Hierro
a5607bc54c Generate CLI settings at build time (#2028)
* Initial commit for the CLI settings compiler

Not very useful for now, only generates settings.c in the same
way the settings were manually written in cli.c

* Move all settings to a YAML file

This will eventually let us compile and pack the settings saving
a lot of memory. For now, the code compiles but it doesn't work
since it uses a byte to index into the word array which has more
than 256 entries.

* Use varint encoding for cli name word indexing

This makes the CLI work again.

* Make clivalue_name_* funcs return bool

Makes more sense than returning uint8_t, even when the compiler will
probably generate exactly the same assembly in both cases.

* Fix invalid field name

Missing a closing ]

* Initial attempt at generating the settings files at build time

Optimize the generator to call into the compiler only once, so
we can afford to call it for each build and, eventually, generate
build-optimized settings.

* Fix build error due to generated files

Due to make's expansion rules, the generated implementation file
wasn't correctly compiled if the build was started when the
generated files didn't exist.

Althogh there's probably a better solution, this should work for
now.

* Generate a per-build settings_generated.{h,c}

This allows us to save a bit more space, since this way the words
array doesn't include words which are not used by the build.

* Remove pgn_t field from cliValueConfig_t

Use a couple of arrays to find the pgn_t for a setting from its
offset in the table. This saves another 384 bytes on NAZE.

* Use only a byte for the field offset in clivalue_t when possible

While compiling the settings, determine if any offset requires a
number bigger than 255. If that's not the case, use a uint8_t
rather than an uint16_t for storing the field offset.

* Add missing header to PG_MODE_ACTIVATION_OPERATOR_CONFIG group

* Fix unbalanced #endif

Introduced when deleting the hardcoded settings from cli.c

* Don't ignore the return value from g.CanUseByteOffsetoff()

CLIVALUE_USE_BYTE_OFFSETOF was always defined regardless of the
maximum offsetof() value found in the settings.

* clivalue_name_*() functions now take a buffer

Requires only CLIVALUE_MAX_NAME_LENGTH bytes in the stack rather
than 2*CLIVALUE_MAX_NAME_LENGTH, since those functions were called
from functions which already had a buffer for the name allocated
but had to allocate their own.

* Remove unneeded clivalue_get_name() call

clivalue_name_exact_match() will already fill the buffer with
the value name.

* Fix off-by-one error in the settings generator

The generated C code wasn't allocating enough space for the '\0'
terminator for setting names

* Fix off-by-one error in the name decoder

CLIVALUE_ENCODED_NAME_MAX_BYTES represents the maximum number of
bytes in an encoded name, not the maximum word index.

* Add missing headers to PG_STATS_CONFIG group

* Make sure the settings are always up to date

* Initial attempt at encoding constants used for min/max settings

Pretty naive approach for now. Saves ~400 bytes on F1 targets.

* Move tool for generating settings to tools/

Also, rename it from settings_gen to just settings.
Delete the .gitignore in src/main/fc and just add all ignored
files in the root .gitignore, since that speeds up git.

* Only print setting stats when the env var V=1

This way we get quiet output unless the Makefile has been invoked
with verbose output.

* Make setting generation rules compatible with gmake 4

Rules were working fine on gmake 3, but failing with gmake 4. These
new rules should work with both of them.

* Fix constant value detection with GCC 7.1

GCC 6.3 emits errors with <42type-suffix> while GCC 7.1
emits the errors with only <42>

* Format uint8_t arrays a bit better

Don't add a comma after the last element

* Sort words and values determiniscally

This will help while checking the upcoming Ruby implementation
of the generator against the previous one using Go.

* Add missing headers for some groups in settings.yaml

* Replace the Go settings generator with a Ruby implementation

This makes it easier to install the required dependencies to
build INAV, since Ruby is installed by default on macOS and
installing it in Linux should be easier than installing Go
and a 3rd party package (for YAML parsing).

* Don't hardcode the value type for each parameter group

Instead, add a value_type field to each group with a default
value of MASTER_VALUE

* Simplify code for adding custom methods to StringIO

* Only resolve types for enabled fields

This fixes issues with some types which are only defined
if the feature for them is enabled (e.g. STATS or NAV).

* Implement print_stats() in the Ruby settings generator

* Rename constant in generated settings

CLIVALUE_ENCODED_NAME_USES_DIRECT_INDEXING =>
CLIVALUE_ENCODED_NAME_USES_BYTE_INDEXING

* Remove old settings generator binary from .gitignore

* Enable DEBUG while generating settings

Travis build is failing, this should help determine why

* Add $TOOLCHAINPATH to $PATH on Travis builds

* Disable DEBUG in settings.rb

Travis build is now failing because the log is too big

* Fix warning when running settings.rb on RB >= 2.4

* Don't print message when generating settings with V=0

* Use a relative path for the temporary dir

Absolute paths cause issues calling out to g++ on Windows

* Add INAV license header to settings.rb

* Add missing header to settings.c

Required since last rebase, it was compiling fine previously

* Remove unneeded extern variable decl from settings.c

Not needed anymore since we're now including settings_generated.c
directly in settings.c to simplify the Makefile.

* Use obj/tmp rather than just tmp for temporary files

* Update devdocs to mention Ruby installation

* Update Dockerfile and Vagrantfile to install Ruby

Required by the settings generator

Fixes #1997
2017-08-29 00:08:38 +10:00
Paweł Spychalski
99c1939d68 Merge pull request #2009 from sincoder/patch-1
Update Navigation.md
2017-08-18 23:28:45 +02:00
sincoder
937ace54d6 Update Navigation.md
NAX_RTH_EXTRA_ALT  -> NAV_RTH_EXTRA_ALT
2017-08-19 00:32:34 +08:00
Konstantin Sharlaimov (DigitalEntity)
3c7ef550db Docs update 2017-08-04 00:13:39 +10:00
Paweł Spychalski
a47296d81a Merge pull request #1947 from iNavFlight/jh_pid_doc_update
remove obsolete / misleading information from 'PID tuning.md'
2017-08-01 07:54:15 +02:00
giacomo
1d8b7ea884 20Hz is the default servo_lpf not 0 2017-07-31 20:12:59 +02:00
Jonathan Hudson
f86e605c44 further clarify 'PID tuning.md' 2017-07-30 09:57:02 +01:00
Jonathan Hudson
74ab5656e8 remove obsolete / misleading information from 'PID tuning.md' 2017-07-30 09:51:39 +01:00
Paweł Spychalski
d5570d2a09 Merge pull request #1945 from paulo-sousa/patch-2
Update Board - Omnibus F4.md
2017-07-29 08:28:08 +02:00
paulo-sousa
f36d314461 Update Board - Omnibus F4.md
Fixed small typos in the Omnibus F4 board description
2017-07-28 22:25:44 +01:00
Paweł Spychalski
174b52667a Merge pull request #1897 from iNavFlight/dzikuvx-target-omnibus-f7
Target Omnibus F7
2017-07-26 20:51:41 +02:00
Pawel Spychalski (DzikuVx)
67430fccc3 Omnibud F7 docs update 2017-07-26 20:27:30 +02:00
Jonathan Hudson
fdf049ca42 update matek F405 doc 2017-07-22 21:00:40 +01:00
Jonathan Hudson
d5b69600a6 add board documentation for matek f405 family 2017-07-22 20:56:12 +01:00
Pawel Spychalski (DzikuVx)
ee227b513f docs update 2017-07-19 09:57:11 +02:00
Martin Budden
ab01337e1c Merge pull request #1738 from giacomo892/blackbox_doc_fixes
Blackbox doc fixes
2017-07-15 10:57:57 +01:00
Pawel Spychalski (DzikuVx)
14fe0e0663 docs update 2017-07-13 19:08:56 +02:00
Martin Budden
db6c7031c9 Merge pull request #1846 from iNavFlight/dzikuvx-anyfcf7-buzzer-on-motor-output
AnyFC F7 buzzer on motor output #9
2017-07-05 10:25:46 +01:00
Konstantin Sharlaimov
05da1ef121 Merge pull request #1852 from iNavFlight/dzikuvx-sonar-rangefinder-overhaul
Sonar/Rangefinder/Surface renaming and rangefinder code improvements
2017-07-04 17:19:32 +10:00
Pawel Spychalski (DzikuVx)
48c2c256ea Docs updated 2017-07-02 20:49:51 +02:00
Pawel Spychalski (DzikuVx)
bdba06aac1 overhaul - step1 2017-07-01 22:01:10 +02:00
Pawel Spychalski (DzikuVx)
272879608b docs update 2017-07-01 15:21:36 +02:00
Pawel Spychalski (DzikuVx)
3621739cbe Servo speed rework 2017-07-01 15:21:34 +02:00
Pawel Spychalski (DzikuVx)
1b20f238ef Adds sdcard_detect_inverted setting to make detection configurable 2017-06-29 22:10:37 +02:00
Pawel Spychalski (DzikuVx)
e84850a810 Buzzer on M9 and docs update 2017-06-29 20:40:42 +02:00
Konstantin Sharlaimov
d530e5e867 Initial cut on user-definable ADC channel mapping (#1836)
* Initial cut on user-definable ADC channel mapping. Enable PITOT for REVO
* Some refactoring; Fix PITOT_ADC; Fix CLI output
* Docs update
* Remove IBUS RX from NAZE
2017-06-29 15:08:29 +10:00
Konstantin Sharlaimov
d307703974 Merge pull request #1732 from iNavFlight/dzikuvx-fw-land-improvements
RTH Landing improvements
2017-06-10 19:49:32 +03:00
Pawel Spychalski (DzikuVx)
40e9428f76 docs update 2017-06-10 18:23:45 +02:00
Krzysztof Matula
670282e0a1 stats: don't record for flioghts < 10s
+stats doc in Cli.md
2017-06-09 23:29:04 +02:00
Giacomo
93ec773349 updated Blackbox.md 2017-06-05 11:21:28 +02:00
Giacomo
471741f9bf changed blackbox viewer URL 2017-06-05 11:21:28 +02:00
Konstantin Sharlaimov
05cee111ff Merge pull request #1621 from iNavFlight/de_adc_rework
Allow usage of multiple ADC instances
2017-05-30 14:10:57 +03:00