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

50 commits

Author SHA1 Message Date
giacomo892
5b1bd3324b Add MATEKF765 to release 2019-11-16 14:42:09 +01:00
Konstantin (DigitalEntity) Sharlaimov
e9c0eb7846 [TOOL] Port Betaflight's toolchain installer 2019-07-08 22:24:04 +02:00
Michel Pastor
7eb8f5aba8 Fix .travis.yml (missing groups) 2019-05-27 17:01:32 +02:00
giacomo892
1542e381ce split builds 2019-03-10 07:37:28 +01:00
giacomo892
98ea5580de Update travis GCC version 2019-03-09 19:07:26 +01:00
Konstantin Sharlaimov (DigitalEntity)
b17146fea5 Update Travis CI gcc version 2018-08-07 22:12:01 +02:00
Konstantin Sharlaimov (DigitalEntity)
c1bb69fbc1 Split Travis CI builds 2017-10-09 19:31:51 +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
Konstantin Sharlaimov (DigitalEntity)
3e2cccecb7 Update travis GCC toolchain 2017-08-04 00:13:14 +10:00
Konstantin Sharlaimov (DigitalEntity)
7486a2b156 Run unittests each travis build 2017-01-29 18:39:08 +10:00
Konstantin Sharlaimov (DigitalEntity)
0bec98b489 Travis update to GCC 6.2 2017-01-24 20:20:55 +10:00
Konstantin Sharlaimov
5dda5c0597 Travis and makefile optimisations (#890)
Travis and makefile optimisations
2016-12-12 11:18:56 +10:00
Martin Budden
d181ea86e0 Added CJMCU to travis build 2016-10-11 17:35:08 +01:00
Konstantin Sharlaimov
3a4f07244d Update travis with REVO target (#654) 2016-10-05 00:35:47 +10:00
Konstantin Sharlaimov
ce430f6771 Use GCC 5.4 for travis builds (#518) 2016-09-08 02:27:59 +03:00
Martin Budden
dfdc77ee73 Maximised hardware for STM32F3DISCOVERY target (#480) 2016-08-19 12:11:47 +03:00
lkaino
5b8b9781da New target: RCEXPLORERF3 (#439)
New target: RCEXPLORERF3
F3FC board from RCExplorer.se.
Supports both tricopter integrated and standalone boards.
2016-08-18 14:05:44 +03:00
Konstantin Sharlaimov
dd6f6cd7eb Update gitter/Travis integration (#468) 2016-08-16 10:14:07 +03:00
Konstantin Sharlaimov (DigitalEntity)
a74a606b9c Enable Gitter notifications for Travis CI 2016-08-15 01:12:34 +10:00
Konstantin Sharlaimov (DigitalEntity)
d797ec0e38 Travis disable email notifications 2016-08-15 01:08:58 +10:00
Konstantin Sharlaimov (DigitalEntity)
48c5708238 Travis CI preparations 2016-08-15 00:50:20 +10:00
Read Error
455a358591 Lux Commit 2016-03-15 21:33:39 +10:00
Dominic Clifton
4a78aa96da MOTOLAB - Update travis and documentation build scripts 2015-10-30 02:12:02 +00:00
Dominic Clifton
0150abf1bc Remove OpenPilot bootloader support.
This can be added back at a later date if required if enough code-size
savings can be found, for instance, the removal of the CLI.
2015-10-12 20:44:51 +01:00
Dominic Clifton
ba2e22ab89 Add RMDO target. 2015-10-06 19:00:53 +01:00
Dominic Clifton
0061457811 Add COLIBRI_RACE to automated build system. 2015-09-05 16:09:39 +01:00
Paul Rogalinski
f27be21076 travis docker environment compatibility 2015-07-10 22:33:53 +02:00
Paul Rogalinski
2340bdaadb updated to latest (4.9-2015q2) arm-gcc version 2015-07-01 22:50:43 +02:00
Paul Rogalinski
c4141d5f3c using curl instead of wget in .travis.yml
added retry option to all remaining curl requests
2015-07-01 22:50:42 +02:00
Dominic Clifton
c868d7177a Enabling travis apt cache. 2015-05-17 22:48:17 +01:00
Paul Rogalinski
1433a6e1f8 cleanup, prepare for a pr 2015-04-03 18:07:02 +02:00
pulsar
e6006232c8 using css overrides to restrict wide content resizing the pdf canvas
css overrides to restrict wide content resizing the pdf canvas

pdf manual building using ruby1.9, ci integration, cosmetics.

fixed typo

debugging travis build env

upload script bugfixes, fighting ruby env

fighting ruby env

fighting ruby env

fighting ruby env
2015-04-03 18:05:48 +02:00
Paul Rogalinski
96a8004934 introduces PUBLISHMETA build step, attempt to pass travis job id 2015-04-01 16:04:30 +02:00
Nicholas Sherlock
b740c02259 Merge remote-tracking branch 'upstream/master' into travis
Conflicts:
	.travis.yml
2015-03-03 08:58:46 +13:00
Dominic Clifton
266fe45b7e Temporarily disable autotune on the CC3D OPBL binary. 2015-03-02 11:50:15 +00:00
Dominic Clifton
bc5f48a7e9 Ensure that travis uses 4.x of GCC.
Ideally we want to use 4.8.x but the binary repository does not contain
4.8 any more, only 4.9.x.  The CC3D build will continue to fail until th
code size issue is addressed.
2015-03-02 11:31:34 +00:00
Nicholas Sherlock
12851f78d0 Download binary version of GCC 4.8 instead of Ubuntu package 2015-03-01 14:05:20 +13:00
Nicholas Sherlock
0ac1e8bd11 Use 4.8 series GCC compiler for Travis build tests
Since 4.9 is known to create broken CC3D and Sparky builds
2015-02-28 11:55:36 +13:00
Michael Jakob
396731a428 Intitial support for ALIENWIIF3 target 2015-01-26 18:33:47 +01:00
Dominic Clifton
6bf6ca4b29 Merge branch 'travis-test-two' of https://github.com/avoid3d/cleanflight into avoid3d-travis-test-two
Conflicts:
	src/test/Makefile
2015-01-25 01:35:39 +01:00
Pierre Hugo
7fd6390252 Switched to running our new script in travis. 2015-01-23 16:53:40 -08:00
Pierre Hugo
3c4fcf918c Add an extra travis run which runs the tests. 2015-01-23 16:49:44 -08:00
Pierre Hugo
861f5b6725 Switched to using cpp as the default language and specifying arm in the makefile. 2015-01-23 16:29:46 -08:00
Dominic Clifton
9eff8f1932 Adding CC3D OpenPilot bootloader build to travis. 2015-01-22 19:26:36 +01:00
Dominic Clifton
5be2b9229d Updating travis build configuration. 2015-01-21 02:03:26 +01:00
Michael Jakob
2b90f675b2 Support ALIENWIIF1 as an separate target
This will allow to build an HEX file independently to the NAZE target

An ALIENWIIF3 may also come in the future based on STM32F303. Both
likely will share the same default settings. This is why I don’t use
ALIENWII32 as target name yet.
2014-12-28 12:45:15 +01:00
Dominic Clifton
8693ccefa0 Adding IRC notifications to the TravisCI configuration. 2014-12-23 13:40:49 +00:00
Kyle Manna
334300922e travis: Use arm-none-eabi-gcc compiler
* Use the gcc-arm-none-eabi compiler.  This will cause Travis-CI to
  set the env variable `CC=gcc-arm-none-eabi` which would allow the
  Makefile to be simplified by not hardcoding `CC`
* "Travis CI VMs run on 1.5 virtual cores"
   http://docs.travis-ci.com/user/speeding-up-the-build/
   Use `-j2`
* Ask GCC to print it's version.  Travis-CI would do this automatically
  if there was a way to install gcc before `$CC --version` is
  automatically run.
2014-12-15 13:41:33 -08:00
Kyle Manna
e41ea5bec5 travis: Create build matrix for each target
* Build for each target
* Remove the `-j` flag due to each build VM only having "1.5" cores
2014-12-15 12:52:29 -08:00
Kyle Manna
f356830781 travis: Add inital support
* Initial support for travis-ci.org
2014-12-15 09:17:15 -08:00