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

114 commits

Author SHA1 Message Date
Jonathan Hudson
ab734d9991 document target format 2020-09-06 19:23:47 +01:00
Alberto García Hierro
728769b5bd [DOC] Update build instructions for macOS to use cmake 2020-09-06 16:58:25 +01:00
Pawel Spychalski (DzikuVx)
edf94ce7e3 Update WSL for cmake 2020-09-05 13:10:35 +02:00
Jonathan Hudson
bbf994991b add "Building in FreeBSD Guide" 2020-09-05 10:52:50 +01:00
Jonathan Hudson
1cd4b09696 add dependencies but otherwise disclaim information about unit tests 2020-08-30 10:24:44 +01:00
Jonathan Hudson
75ea5cd210 remove obsolete / erroneous / historic dependency requirements 2020-08-30 09:53:27 +01:00
Jonathan Hudson
6e94916cc4 remove curl from installation requirements 2020-08-28 16:09:51 +01:00
Jonathan Hudson
a0636eb9f8 refine Linux build document 2020-08-28 11:42:56 +01:00
Jonathan Hudson
f216c11b6e update Linux build documentation for cmake 2020-08-28 11:29:10 +01:00
Jonathan Hudson
7ac4afc46e rename Linux build documentation 2020-08-28 11:28:21 +01:00
Cullen Jennings
8dda60b6c1 fix formatting for MD to dsiplay correctly in github 2020-07-16 18:20:21 -07:00
Paweł Spychalski
508380b5e2
Merge pull request #5689 from ShikOfTheRa/patch-1
Update Building in Windows 10 with Linux Subsystem.md
2020-07-07 16:20:30 +02:00
ShikOfTheRa
5a48f994c1 Update Building in Windows 10 with Linux Subsystem.md 2020-07-07 14:19:53 +01:00
stronnag
060a6b10bc
[DOC] update Generic Linux dev guide (#5848) 2020-06-23 15:34:15 +01:00
Konstantin (DigitalEntity) Sharlaimov
310883f3ab Outline the release/development process 2020-06-08 13:57:34 +02:00
Konstantin Sharlaimov
8eae2a9d0f
Update development docs along with deprecation of development branch. 2020-06-08 13:01:18 +02:00
stronnag
ea853f29b3
[DOC] add curl to base dependencies in generic linux development guide (#5794) 2020-05-30 16:26:23 +01:00
ShikOfTheRa
6aec1d7d92
Update Building in Windows 10 with Linux Subsystem.md
Added a bit more detail.
2020-05-07 12:51:33 +01:00
stronnag
878503c2fd
fix minor errors in document (#5667) 2020-05-03 07:31:40 +01:00
Niccolò Maggioni
e9a88332a6
Use non-root user in Docker build and update docs (#5355)
* Use non-root user in Docker build and update docs

* Exclude cruft from Docker build context
2020-04-27 16:20:10 +02:00
stronnag
a8aa53ec6d
remove obsolete docs/development/Building in Ubuntu.md which was previously replaced by docs/development/Generic_Linux_development.md, addressing the embedded SDK (#5547) 2020-03-30 18:42:22 +01:00
stronnag
19f8a7bd56
serial logging documentation : fix trivial omissions / errors (#5409)
* [doc] serial logging: fix trivial omissions / errors
2020-02-19 12:13:14 +00:00
stronnag
aaa598263d
[developer] document serial printf logging / debugging function (#5376)
* add developer documentation for serial log / debug

* minor clean up [skip ci]

* remove ? around configurator [ci skip]

* pointless commit so travis rebuilds the whole project
2020-02-04 07:11:22 +00:00
Alberto García Hierro
48b921be0e [DOC] Document hardware debugging procedure with stlink, openocd and gdb 2019-12-09 11:23:52 +00:00
Pawel Spychalski (DzikuVx)
328bc4fb23 Drop cygwin development docs 2019-11-16 19:34:53 +01:00
Niccolò Maggioni
c2c337ec57
Use local Docker image 2019-09-03 18:55:26 +02:00
Jonathan Hudson
4b1d216eb5 provide a generic Linux guide referencing the iNav embedded toolchain 2019-07-21 19:10:33 +01:00
Jonathan Hudson
72740d0e56 update Ubuntu dev document to use the PPA compiler for all instances 2018-08-04 12:29:53 +01:00
MDM63
ceebc22d9a Add Building in Vagrant.md 2018-05-07 00:22:17 +03:00
Pawel Spychalski (DzikuVx)
a9902a37cd Olimexino removed 2018-04-24 08:45:17 +02:00
Pawel Spychalski (DzikuVx)
dad24ac7f5 CC3D and all its traces removed 2018-04-24 08:40:32 +02:00
Pawel Spychalski (DzikuVx)
bf3d4ac3d0 Naze and all it traces removed 2018-04-23 16:21:23 +02:00
Jonathan Hudson
9b81633017 if you're going to quote version numbers, you might at least get them right! 2018-04-01 17:56:39 +01:00
Jonathan Hudson
d8a6f7bbf6 minor version clarification to Ubuntu doc 2018-03-30 12:48:25 +01:00
Jonathan Hudson
cc28299e8d Update the Ubuntu build doc to reflect comtemporary tools 2018-03-30 11:16:20 +01:00
Pawel Spychalski (DzikuVx)
60ba40aa44 Build docs for Windows10 WSL 2018-01-28 16:44:26 +01:00
Konstantin Sharlaimov
e282ca6d63
Merge pull request #2641 from YuxinPan/patch-1
Update documentation for building in Mac OS X
2018-01-07 09:57:13 +10:00
Yuxin Pan
18b90ec11e
Update documentation to newest compiler version
An update to https://github.com/iNavFlight/inav/pull/2641, the documentation now refers to newest compiler version.
2018-01-06 18:36:11 +11:00
Yuxin Pan
d42e19ab6b
Update documentation for building in Mac OS X
As all new binary and source packages for GNU ARM Embedded Toolchain will not be released on Launchpad henceforth, a change is required for this documentation to be up to date. The compiler version is also too old (was 2015 release) and need to be updated. The example featuring 'NAZE' is also updated to 'SPRACINGF3'. The expired information in this documentation caused confusion in https://github.com/iNavFlight/inav/issues/2543
2018-01-06 16:54:28 +11:00
Pawel Spychalski (DzikuVx)
9819b37503 Updated docs for Docker on Windows 10 2017-12-28 11:43:59 +01:00
Paweł Spychalski
3dd26ad23f
Merge pull request #2280 from Schalonsus/patch-3
Update Building in Windows light / link to latest GCC
2017-12-22 10:09:28 +01:00
Schalonsus
bc02a06da0 Update Building in Windows / link to latest GCC
added link to the latest GCC and removed advise to use GCC 4.9
2017-10-07 21:24:54 +02:00
Schalonsus
cea385a24c Update Building in Windows light / link to latest GCC
added link to the latest GCC and removed advise to use GCC 4.9
2017-10-07 21:19:09 +02:00
Paweł Spychalski
51158ba863 Imprved docs for installinh ruby on Ubuntu 2017-08-30 18:53:55 +02: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
Aleksandr Kuzmitsky
907e82acdb Try to simplify build target with docker 2017-04-29 00:29:09 +03:00
Stefan Haubold
125d176ac8 using development branch instead of master branch for development 2017-04-19 17:20:15 +02:00
Stefan Haubold
9202603d8d replaced "cleanflight" with "inav" in documentation where it make sense 2017-04-19 17:20:15 +02:00
Sami Korhonen
63c06e9869 doc windows light environment 2016-10-05 16:41:07 +03:00
Konstantin Sharlaimov (DigitalEntity)
7fedfb1b2f Merge branch 'master' into master-to-development 2016-10-05 10:46:25 +10:00