Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support parallel builds #3261

Closed
elitak opened this issue May 22, 2018 · 6 comments
Closed

Support parallel builds #3261

elitak opened this issue May 22, 2018 · 6 comments
Milestone

Comments

@elitak
Copy link

elitak commented May 22, 2018

I would like to be able to compile with make -j32 all. This works in betaflight. The regression here is caused by src/utils/build_stamp.rb being run simultaneously for each target in the Makefile, clobbering the same obj/build-stamp/object.cc (iirc) file, creating a race condition for each target's build.

I think this should be fairly trivial to fix: simply create a distinct stamp for each target, so they can be created and used in parallel without interference. I'm not familiar enough with the tooling and the purpose of the stamp to do it myself.

@digitalentity
Copy link
Member

There's another issue to parallel builds. fc/settings.c is autogenerated by a script. This file also needs to be compiled per-target. @fiam do you think it would be possible to make parallel builds possible?

@digitalentity digitalentity changed the title Parallel building broken Support parallel builds May 23, 2018
fiam added a commit that referenced this issue May 25, 2018
This allows target level parallel builds, since now there are no
shared files between targets.

Fixes #3261
@fiam fiam added this to the 2.0 milestone May 25, 2018
@fiam fiam closed this as completed Jun 2, 2018
@elitak
Copy link
Author

elitak commented Jun 2, 2018

Thanks for addressing this, but the HEAD of master doesn't seem to parallel build anymore:

$ nix-build -A inav
these derivations will be built:
  /nix/store/cwpshhnh24y9l9yfrhcxkl2l06abrn9w-inav-1.9.1.drv
building '/nix/store/cwpshhnh24y9l9yfrhcxkl2l06abrn9w-inav-1.9.1.drv'...
unpacking sources
unpacking source archive /nix/store/q8vv6jysb058rdcbwh4x9mvq8k1zljkp-source
source root is source
patching sources
configuring
no configure script, doing nothing
building
build flags: -j32 -l32 SHELL=/nix/store/m47apl3hq3i52fzy2cz24378p0xn4lyx-bash-4.4-p19/bin/bash all
echo "" && \
echo "Building AIRBOTF4" && \
make -j 8 TARGET=AIRBOTF4 && \
echo "Building AIRBOTF4 succeeded."

Building AIRBOTF4
make[1]: warning: -jN forced in submake: disabling jobserver mode.
make[1]: Entering directory '/tmp/nix-build-inav-1.9.1.drv-0/source'
settings.yaml -> settings_generated.h, settings_generated.c
%% startup_stm32f40xx.s
%% inverter.c
%% serial_softserial.c
%% serial_uart_stm32f4xx.c
%% system_stm32f4xx.c
%% timer_stm32f4xx.c
...

For some reason the -j option is no longer honored?

@elitak
Copy link
Author

elitak commented Jun 2, 2018

Sorry, nevermind. I wasn't in the development branch.

(may still have the problem stated above; investigating)

Even after building on the development branch with the -j8 args excised, the build targets are processed serially. Any advice?

@fiam
Copy link
Member

fiam commented Jun 3, 2018

@elitak Seems to be working fine here using GNU Make 3.81:

muk:inav fiam$ make -j32 all
echo "" && \
	echo "Building AIRBOTF4" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=AIRBOTF4 && \
	echo "Building AIRBOTF4 succeeded."
echo "" && \
	echo "Building AIRHEROF3" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=AIRHEROF3 && \
	echo "Building AIRHEROF3 succeeded."
echo "" && \
	echo "Building AIRHEROF3_QUAD" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=AIRHEROF3_QUAD && \
	echo "Building AIRHEROF3_QUAD succeeded."
echo "" && \
	echo "Building ALIENFLIGHTF3" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=ALIENFLIGHTF3 && \
	echo "Building ALIENFLIGHTF3 succeeded."
echo "" && \
	echo "Building ALIENFLIGHTF4" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=ALIENFLIGHTF4 && \
	echo "Building ALIENFLIGHTF4 succeeded."
echo "" && \
	echo "Building ALIENFLIGHTNGF7" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=ALIENFLIGHTNGF7 && \
	echo "Building ALIENFLIGHTNGF7 succeeded."
echo "" && \
	echo "Building ANYFC" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=ANYFC && \
	echo "Building ANYFC succeeded."
echo "" && \
	echo "Building ANYFCF7" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=ANYFCF7 && \
	echo "Building ANYFCF7 succeeded."
echo "" && \
	echo "Building ANYFCF7_EXTERNAL_BARO" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=ANYFCF7_EXTERNAL_BARO && \
	echo "Building ANYFCF7_EXTERNAL_BARO succeeded."

Building AIRBOTF4

Building AIRHEROF3

Building AIRHEROF3_QUAD
echo "" && \
	echo "Building ANYFCM7" && \
	/Applications/Xcode.app/Contents/Developer/usr/bin/make -j 8 TARGET=ANYFCM7 && \
	echo "Building ANYFCM7 succeeded."

Building ALIENFLIGHTF3

Building ALIENFLIGHTNGF7
...

@elitak
Copy link
Author

elitak commented Jun 3, 2018

Oh, the -l flag was preventing more than one job from starting, my bad. Everything works as expected now. Thanks again for fixing the issue.

@fiam
Copy link
Member

fiam commented Jun 3, 2018

You’re welcome :-)

shellixyz added a commit to shellixyz/inav that referenced this issue Jun 4, 2018
commit 7d11ae4fcb908dc97e454a6819c352755472a9c6
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Sun Jun 3 04:02:50 2018 +0200

    Simplify applyFixedWingNavigationController()

commit 2c80e641050af8b513fe655ba28987f8ae78cfb4
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Sun Jun 3 04:00:38 2018 +0200

    Disable ALTHOLD on user motor stop request

commit 4374471
Merge: 59864b8 dd86a0b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:24:00 2018 +0200

    Merge pull request iNavFlight#3296 from shellixyz/restore_osd_sw

    Restore OSD SW

commit 59864b8
Merge: ff60ce8 25697c0
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:23:40 2018 +0200

    Merge pull request iNavFlight#3265 from teckel12/te_make-current-meter-feature-work

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type

commit ff60ce8
Merge: e28f7fa 680bf8b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:22:51 2018 +0200

    Merge pull request iNavFlight#3304 from giacomo892/arming_checks_rework

    Disable arming in AH for FW unless launch mode is enabled

commit e28f7fa
Merge: a2a60d4 05c5f0f
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:56 2018 +0200

    Merge pull request iNavFlight#3303 from giacomo892/nav_launch_safety_fix

    NAV_LAUNCH extra safety

commit a2a60d4
Merge: 4d5cc76 bf0f05a
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:08 2018 +0200

    Merge pull request iNavFlight#3275 from iNavFlight/agh_parallel_build

    Move build-stamp and generated files to obj/main/$(TARGET)

commit 680bf8b
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 17:19:01 2018 +0200

    Disable arming in AH for FW unless launch mode is enabled

commit 05c5f0f
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 16:29:21 2018 +0200

    Extra safety for NAV_LAUNCH if enabled via BOX

commit dd86a0b
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Thu May 31 01:12:44 2018 +0200

    Restore OSD SW

    It is nice to be able to be able to hide the OSD without wasting an OSD
    layout

commit bf0f05a
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Fri May 25 11:00:12 2018 +0100

    Move build-stamp and generatic files to obj/main/$(TARGET)

    This allows target level parallel builds, since now there are no
    shared files between targets.

    Fixes iNavFlight#3261

commit 25697c0
Author: Tim Eckel <tim@leethost.com>
Date:   Tue May 22 22:35:37 2018 -0400

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type
shellixyz added a commit to shellixyz/inav that referenced this issue Jun 8, 2018
commit 1801d9b
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Wed Jun 6 01:08:57 2018 +0200

    Fix ALTHOLD initial climb when enabled

    Makes the transition to ALTHOLD seamless. Tested on fixed wing.

commit 50847b9
Merge: 4374471 a63049d
Author: Alberto García Hierro <fiam@rm-fr.net>
Date:   Mon Jun 4 21:47:12 2018 +0100

    Merge pull request iNavFlight#3320 from iNavFlight/agh_update_gitignore

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

commit a63049d
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Mon Jun 4 18:46:33 2018 +0100

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

    The generated files are now in obj/, so there's no need to ignore
    the ones in the old location. Also, having the old generated files
    in place can make the compiler use the old outdated files if someone
    built the firmware before, so it's better to make them easily noticeable
    via git status.

commit 4374471
Merge: 59864b8 dd86a0b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:24:00 2018 +0200

    Merge pull request iNavFlight#3296 from shellixyz/restore_osd_sw

    Restore OSD SW

commit 59864b8
Merge: ff60ce8 25697c0
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:23:40 2018 +0200

    Merge pull request iNavFlight#3265 from teckel12/te_make-current-meter-feature-work

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type

commit ff60ce8
Merge: e28f7fa 680bf8b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:22:51 2018 +0200

    Merge pull request iNavFlight#3304 from giacomo892/arming_checks_rework

    Disable arming in AH for FW unless launch mode is enabled

commit e28f7fa
Merge: a2a60d4 05c5f0f
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:56 2018 +0200

    Merge pull request iNavFlight#3303 from giacomo892/nav_launch_safety_fix

    NAV_LAUNCH extra safety

commit a2a60d4
Merge: 4d5cc76 bf0f05a
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:08 2018 +0200

    Merge pull request iNavFlight#3275 from iNavFlight/agh_parallel_build

    Move build-stamp and generated files to obj/main/$(TARGET)

commit 680bf8b
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 17:19:01 2018 +0200

    Disable arming in AH for FW unless launch mode is enabled

commit 05c5f0f
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 16:29:21 2018 +0200

    Extra safety for NAV_LAUNCH if enabled via BOX

commit dd86a0b
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Thu May 31 01:12:44 2018 +0200

    Restore OSD SW

    It is nice to be able to be able to hide the OSD without wasting an OSD
    layout

commit bf0f05a
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Fri May 25 11:00:12 2018 +0100

    Move build-stamp and generatic files to obj/main/$(TARGET)

    This allows target level parallel builds, since now there are no
    shared files between targets.

    Fixes iNavFlight#3261

commit 25697c0
Author: Tim Eckel <tim@leethost.com>
Date:   Tue May 22 22:35:37 2018 -0400

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type
shellixyz added a commit to shellixyz/inav that referenced this issue Jun 8, 2018
commit 3141126
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Wed Jun 6 00:54:51 2018 +0200

    Add BB logging of FW navigation PIDs

commit 50847b9
Merge: 4374471 a63049d
Author: Alberto García Hierro <fiam@rm-fr.net>
Date:   Mon Jun 4 21:47:12 2018 +0100

    Merge pull request iNavFlight#3320 from iNavFlight/agh_update_gitignore

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

commit a63049d
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Mon Jun 4 18:46:33 2018 +0100

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

    The generated files are now in obj/, so there's no need to ignore
    the ones in the old location. Also, having the old generated files
    in place can make the compiler use the old outdated files if someone
    built the firmware before, so it's better to make them easily noticeable
    via git status.

commit 4374471
Merge: 59864b8 dd86a0b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:24:00 2018 +0200

    Merge pull request iNavFlight#3296 from shellixyz/restore_osd_sw

    Restore OSD SW

commit 59864b8
Merge: ff60ce8 25697c0
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:23:40 2018 +0200

    Merge pull request iNavFlight#3265 from teckel12/te_make-current-meter-feature-work

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type

commit ff60ce8
Merge: e28f7fa 680bf8b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:22:51 2018 +0200

    Merge pull request iNavFlight#3304 from giacomo892/arming_checks_rework

    Disable arming in AH for FW unless launch mode is enabled

commit e28f7fa
Merge: a2a60d4 05c5f0f
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:56 2018 +0200

    Merge pull request iNavFlight#3303 from giacomo892/nav_launch_safety_fix

    NAV_LAUNCH extra safety

commit a2a60d4
Merge: 4d5cc76 bf0f05a
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:08 2018 +0200

    Merge pull request iNavFlight#3275 from iNavFlight/agh_parallel_build

    Move build-stamp and generated files to obj/main/$(TARGET)

commit 680bf8b
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 17:19:01 2018 +0200

    Disable arming in AH for FW unless launch mode is enabled

commit 05c5f0f
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 16:29:21 2018 +0200

    Extra safety for NAV_LAUNCH if enabled via BOX

commit dd86a0b
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Thu May 31 01:12:44 2018 +0200

    Restore OSD SW

    It is nice to be able to be able to hide the OSD without wasting an OSD
    layout

commit bf0f05a
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Fri May 25 11:00:12 2018 +0100

    Move build-stamp and generatic files to obj/main/$(TARGET)

    This allows target level parallel builds, since now there are no
    shared files between targets.

    Fixes iNavFlight#3261

commit 25697c0
Author: Tim Eckel <tim@leethost.com>
Date:   Tue May 22 22:35:37 2018 -0400

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type
shellixyz added a commit to shellixyz/inav that referenced this issue Jun 8, 2018
commit 4e8f9cd
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Wed Jun 6 17:27:25 2018 +0200

    Fix RTH hover above home

    The state machine was switching to NAV_STATE_RTH_LANDING even when landing was not allowed which made the throttle during hover unable to go over cruise throttle impeding the ability of the craft to stay at the target altitude.

commit 50847b9
Merge: 4374471 a63049d
Author: Alberto García Hierro <fiam@rm-fr.net>
Date:   Mon Jun 4 21:47:12 2018 +0100

    Merge pull request iNavFlight#3320 from iNavFlight/agh_update_gitignore

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

commit a63049d
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Mon Jun 4 18:46:33 2018 +0100

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

    The generated files are now in obj/, so there's no need to ignore
    the ones in the old location. Also, having the old generated files
    in place can make the compiler use the old outdated files if someone
    built the firmware before, so it's better to make them easily noticeable
    via git status.

commit 4374471
Merge: 59864b8 dd86a0b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:24:00 2018 +0200

    Merge pull request iNavFlight#3296 from shellixyz/restore_osd_sw

    Restore OSD SW

commit 59864b8
Merge: ff60ce8 25697c0
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:23:40 2018 +0200

    Merge pull request iNavFlight#3265 from teckel12/te_make-current-meter-feature-work

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type

commit ff60ce8
Merge: e28f7fa 680bf8b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:22:51 2018 +0200

    Merge pull request iNavFlight#3304 from giacomo892/arming_checks_rework

    Disable arming in AH for FW unless launch mode is enabled

commit e28f7fa
Merge: a2a60d4 05c5f0f
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:56 2018 +0200

    Merge pull request iNavFlight#3303 from giacomo892/nav_launch_safety_fix

    NAV_LAUNCH extra safety

commit a2a60d4
Merge: 4d5cc76 bf0f05a
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:08 2018 +0200

    Merge pull request iNavFlight#3275 from iNavFlight/agh_parallel_build

    Move build-stamp and generated files to obj/main/$(TARGET)

commit 680bf8b
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 17:19:01 2018 +0200

    Disable arming in AH for FW unless launch mode is enabled

commit 05c5f0f
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 16:29:21 2018 +0200

    Extra safety for NAV_LAUNCH if enabled via BOX

commit dd86a0b
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Thu May 31 01:12:44 2018 +0200

    Restore OSD SW

    It is nice to be able to be able to hide the OSD without wasting an OSD
    layout

commit bf0f05a
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Fri May 25 11:00:12 2018 +0100

    Move build-stamp and generatic files to obj/main/$(TARGET)

    This allows target level parallel builds, since now there are no
    shared files between targets.

    Fixes iNavFlight#3261

commit 25697c0
Author: Tim Eckel <tim@leethost.com>
Date:   Tue May 22 22:35:37 2018 -0400

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type
shellixyz added a commit to shellixyz/inav that referenced this issue Jun 8, 2018
commit 8e419c6
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Thu Jun 7 16:34:16 2018 +0100

    Round rather than truncate when updating GPS_directionToHome

    Makes taking off in straight line north produce a home direction
    of 180º rather than 179º.

commit 002ebbd
Merge: ec31f99 e4b99ba
Author: Alberto García Hierro <fiam@rm-fr.net>
Date:   Thu Jun 7 16:32:56 2018 +0100

    Merge pull request iNavFlight#3330 from iNavFlight/agh_maps_draw_over_center

    When drawing a POI over the map center, alternate

commit ec31f99
Merge: 4b95c2e c8b26b4
Author: Paweł Spychalski <pspychalski@gmail.com>
Date:   Thu Jun 7 15:03:59 2018 +0200

    Merge pull request iNavFlight#3331 from iNavFlight/dzikuvx-rangefinder-cleanup

    Cleanup of unused functions

commit 4b95c2e
Merge: f7c2824 d452344
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Wed Jun 6 20:03:43 2018 +0200

    Merge pull request iNavFlight#3314 from iNavFlight/de_remove_midrc

    Remove mid_rc setting

commit c8b26b4
Author: Pawel Spychalski (DzikuVx) <pspychalski@gmail.com>
Date:   Wed Jun 6 15:16:11 2018 +0200

    Cleanup of unused functions

commit e4b99ba
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Wed Jun 6 12:58:43 2018 +0100

    When drawing a POI over the map center, alternate

    Draw the map center symbol for 1s, then the POI symbol for 1s.
    This feels more natural than not drawing the POI when both are
    very close, since flying over the home location would make the
    craft disappear from the map.

commit f7c2824
Merge: 544e03b d624f65
Author: Alberto García Hierro <fiam@rm-fr.net>
Date:   Wed Jun 6 12:33:18 2018 +0100

    Merge pull request iNavFlight#3247 from iNavFlight/agh_home_heading_correction

    Correct home yaw when a valid heading is acquired

commit 544e03b
Merge: 0e0dba5 616ccaa
Author: Alberto García Hierro <fiam@rm-fr.net>
Date:   Wed Jun 6 12:32:56 2018 +0100

    Merge pull request iNavFlight#3305 from iNavFlight/agh_fix_map_radar_directions

    Fix directions of drawing for symbols in map and radar mode

commit 0e0dba5
Merge: 50847b9 85c690a
Author: Paweł Spychalski <pspychalski@gmail.com>
Date:   Wed Jun 6 09:50:44 2018 +0200

    Merge pull request iNavFlight#3328 from iNavFlight/dzikuvx-rangefinder-rename

    I2C rangefinder rename and docs update

commit 85c690a
Author: Pawel Spychalski (DzikuVx) <pspychalski@gmail.com>
Date:   Wed Jun 6 08:50:54 2018 +0200

    Fixed build

commit 2b7b47e
Author: Pawel Spychalski (DzikuVx) <pspychalski@gmail.com>
Date:   Wed Jun 6 08:43:45 2018 +0200

    I2C rangefinder rename

commit 50847b9
Merge: 4374471 a63049d
Author: Alberto García Hierro <fiam@rm-fr.net>
Date:   Mon Jun 4 21:47:12 2018 +0100

    Merge pull request iNavFlight#3320 from iNavFlight/agh_update_gitignore

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

commit a63049d
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Mon Jun 4 18:46:33 2018 +0100

    Remove /src/main/fc/settings_generated.{h, c} from .gitignore

    The generated files are now in obj/, so there's no need to ignore
    the ones in the old location. Also, having the old generated files
    in place can make the compiler use the old outdated files if someone
    built the firmware before, so it's better to make them easily noticeable
    via git status.

commit d452344
Author: Konstantin (DigitalEntity) Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sun Jun 3 20:15:57 2018 +0200

    Remove MIDRC setting

commit 4374471
Merge: 59864b8 dd86a0b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:24:00 2018 +0200

    Merge pull request iNavFlight#3296 from shellixyz/restore_osd_sw

    Restore OSD SW

commit 59864b8
Merge: ff60ce8 25697c0
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:23:40 2018 +0200

    Merge pull request iNavFlight#3265 from teckel12/te_make-current-meter-feature-work

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type

commit ff60ce8
Merge: e28f7fa 680bf8b
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:22:51 2018 +0200

    Merge pull request iNavFlight#3304 from giacomo892/arming_checks_rework

    Disable arming in AH for FW unless launch mode is enabled

commit e28f7fa
Merge: a2a60d4 05c5f0f
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:56 2018 +0200

    Merge pull request iNavFlight#3303 from giacomo892/nav_launch_safety_fix

    NAV_LAUNCH extra safety

commit a2a60d4
Merge: 4d5cc76 bf0f05a
Author: Konstantin Sharlaimov <konstantin.sharlaimov@gmail.com>
Date:   Sat Jun 2 19:21:08 2018 +0200

    Merge pull request iNavFlight#3275 from iNavFlight/agh_parallel_build

    Move build-stamp and generated files to obj/main/$(TARGET)

commit 616ccaa
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Thu May 31 21:38:27 2018 +0100

    Fix directions of drawing for symbols in map and radar mode

    - X axis was reversed in map mode
    - Home direction rotation was not corrected for the current heading
    in radar mode

commit 680bf8b
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 17:19:01 2018 +0200

    Disable arming in AH for FW unless launch mode is enabled

commit 05c5f0f
Author: giacomo892 <giacomo892@users.noreply.github.com>
Date:   Thu May 31 16:29:21 2018 +0200

    Extra safety for NAV_LAUNCH if enabled via BOX

commit dd86a0b
Author: Michel Pastor <shellixyz@gmail.com>
Date:   Thu May 31 01:12:44 2018 +0200

    Restore OSD SW

    It is nice to be able to be able to hide the OSD without wasting an OSD
    layout

commit bf0f05a
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Fri May 25 11:00:12 2018 +0100

    Move build-stamp and generatic files to obj/main/$(TARGET)

    This allows target level parallel builds, since now there are no
    shared files between targets.

    Fixes iNavFlight#3261

commit 25697c0
Author: Tim Eckel <tim@leethost.com>
Date:   Tue May 22 22:35:37 2018 -0400

    make isAmperageConfigured respect FEATURE_CURRENT_METER and not just current_meter_type

commit d624f65
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Tue May 22 11:05:00 2018 +0100

    Rename yawRotation to fakeToRealYawOffset

    Also, add a small comment explaining the logic behind the home
    yaw adjustment.

commit 200a85a
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Tue May 22 11:01:34 2018 +0100

    Make setHomePosition() accept a new argument indicating the home flags

    Callers can specify wether XY, Z and HEADING are valid for the new
    home position.

commit 3e0ae8b
Author: Alberto García Hierro <alberto@garciahierro.com>
Date:   Sun May 20 16:04:19 2018 +0100

    Correct home yaw when a valid heading is acquired

    This is specially relevant in FW without compass, since the home
    location will typically be stored while the craft hasn't yet moved
    and a CoG derived heading is not determined yet.

    The navigation code checks when the heading transitions from invalid
    to valid in updateActualHeading(), calculates the rotation from the old
    invalid heading (using bootup heading as 0º) to the real one and
    applies to posControl.homePosition.yaw.

    In order to save a bit of memory, isHomeValid has been replaced
    with a bitmask which stored several flags relative to the home
    location.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants