Skip to content
Snippets Groups Projects
  1. Sep 19, 2016
  2. Sep 18, 2016
    • Andreas Antener's avatar
    • Carlo Wood's avatar
      Fix the multi- target targets (#5489) (#5491) · a03441b8
      Carlo Wood authored
      On second thought, using % just isn't correct. When a make
      target looks like:
      
      foo% bar%:
      	...
      
      Then that implies that it will build BOTH foo% and bar% whenever
      that rule is triggered (by either) for any value of the pattern %.
      
      Clearly that is not what we want / intend.
      
      So, this commit goes back to using config targets without a % in it
      by generating a full list of them.
      
      It also turns sitl_deprecation into a Hidden Target.
      
      Finally, now that we have those target lists anyway, I added
      a 'help' and 'list_config_targets' targets that print the
      available targets.
      
      Note that the '%' catch-all target only works when all other targets
      either have a recipe or are marked as .PHONY, otherwise such targets
      are only interpretted as dependencies and still executre the '%'
      target afterwards, which is not what we want.
      a03441b8
  3. Sep 17, 2016
  4. Sep 16, 2016
  5. Sep 13, 2016
    • Julian Oes's avatar
      navigator/mavlink: fixes for mission item reached message (#5486) · 4453e420
      Julian Oes authored
      * navigator/mavlink: always send last reached item
      
      Since we can't rely on mavlink that every message arrives, it makes
      sense to continuously send the last reached waypoint.
      
      * navigator: don't report reached for takeoff
      
      If a takeoff waypoint has been inserted, we should not report that we
      reached a mavlink mission item because we actually have not.
      4453e420
    • Carlo Wood's avatar
      Makefile cleanup - fix merge conflict change · d2626d72
      Carlo Wood authored
      d2626d72
    • Carlo Wood's avatar
      list_vmd_make_targets and list_cmake_targets · e9332478
      Carlo Wood authored
      * This allows one to run 'make posix list_vmd_make_targets' and get output like
      
      >make posix list_vmd_make_targets
      [...]
      -- Build files have been written to:
      /usr/src/debian/px4/Firmware/Firmware.git/build_posix_sitl_default
      PX4 CONFIG: /usr/src/debian/px4/Firmware/Firmware.git/build_posix_sitl_default
      Scanning dependencies of target list_vmd_make_targets
      [100%] List of acceptable 'posix_sitl_default' <viewer_model_debugger> targets:
      none
      none_iris
      none_iris_opt_flow
      none_tailsitter
      [...]
      replay_solo_valgrind
      replay_typhoon_h480_valgrind
      [100%] Built target list_vmd_make_targets
      
      Or, run 'make list_vmd_make_targets' from the build_posix_* directory.
      
      * This adds the list_cmake_targets make target to print all
      cmake targets that one can match with PX4_NO_OPTIMIZATION.
      PX4_NO_OPTIMIZATION is ignored (do optimization as normal)
      when the CONFIG isn't posix_sitl_*.
      
      * Add comment in Makefile on how/where to find all targets.
      e9332478
    • Carlo Wood's avatar
      More Makefile cleanup. · 6f94f703
      Carlo Wood authored
      Use $(MAKE) -C build_dir ..., not (cd build_dir; make ...)
      (ie, see https://blog.flameeyes.eu/2010/10/tell-tale-signs-that-your-makefile-is-broken)
      
      Also talk about 'make targets' where appropriate, instead of 'cmake targets' %-).
      6f94f703
    • Carlo Wood's avatar
      Target specific optimization control. · 77d356d2
      Carlo Wood authored
      This allows one to set a semi-colon separated list of regular
      expressions in the environment variable PX4_NO_OPTIMIZATION
      to control which (cmake generated) targets should be compiled
      without optimization.
      
      Suppressing optimization can be necessary for debugging in
      a debugger, especially when trying to step through the code
      or needing to print variables that otherwise are optimized out.
      
      EXAMPLE
      
      export PX4_NO_OPTIMIZATION="px4;^modules__uORB;^modules__systemlib$"
      
      will result in the following messages during cmake configuration:
      
      [...]
      -- Disabling optimization for target 'platforms__posix__px4_layer'
      because it matches the regexp 'px4' in env var PX4_NO_OPTIMIZATION
      -- Disabling optimization for target 'modules__systemlib' because it
      matches the regexp '^modules__systemlib$' in env var PX4_NO_OPTIMIZATION
      -- Disabling optimization for target 'modules__uORB' because it matches
      the regexp '^modules__uORB' in env var PX4_NO_OPTIMIZATION
      -- Disabling optimization for target 'examples__px4_simple_app' because
      it matches the regexp 'px4' in env var PX4_NO_OPTIMIZATION
      -- Disabling optimization for target 'modules__uORB__uORB_tests' because
      it matches the regexp '^modules__uORB' in env var PX4_NO_OPTIMIZATION
      -- Disabling optimization for target 'px4' because it matches the regexp
      'px4' in env var PX4_NO_OPTIMIZATION
      
      Note that a list of all (currently used) target names can be printed
      with the following command line from within the required build directory:
      
      find . -wholename '*/CMakeFiles/*.dir/flags.make' | xargs dirname | xargs basename -a | sort -u | sed -e 's/.dir$//'
      77d356d2
    • Carlo Wood's avatar
      Partly cleanup and simplify cmake/configs/posix_sitl_* config files. · 541c8a06
      Carlo Wood authored
      While the config_sitl_rcS_dir is used more extensively (and actually
      only depending on the base cmake target), the variables
      config_sitl_viewer and config_sitl_debugger are just used to be
      passed on for the run_config target; config_sitl_debugger is even
      *always* 'disable'. Hence, they don't really need to be cached
      (INTERNAL or not). Before this patch FILEPATH was used instead
      of INTERNAL, but I doubt very much that that was intended. That
      only makes sense when cmake-gui would be used and then would pop-up
      a file browser to let the user pick a file (while really they
      need to pick a directory, so it's wrong either way).
      
      The ONLY reason caching would be used is when a developer edits
      the build_posix_sitl_*/CMakeCache.txt files, changes these values
      and then runs cmake in the build directory again, now overriding
      the values intended here. Nevertheless, I left in the caching.
      
      The main change in this commit (that theoretically has no real effect)
      is that I removed the duplicated maintenance of
      posix_sitl_broadcast.cmake. When that file was added, it was an
      exact copy of posix_sitl_default.cmake and is since not always
      maintained to remain the same. I don't think that difference is
      in anyway relevant for the broadcasting part though.
      
      Note that I think that something like that also holds for the
      posix_sitl_replay.cmake; it would be a lot better - maintenance-wise
      - when it was just derived from (or the same as) posix_sitl_default,
      I think.
      541c8a06
    • Carlo Wood's avatar
      Makefile cleanup. · 90002681
      Carlo Wood authored
      Doesn't really do anything, but while working on understanding
      things I did this cleanup, making the Makefile a lot shorter
      and more flexible for future changes ;).
      90002681
    • Carlo Wood's avatar
      Bug fixes, typos, indentation. · 03d176d0
      Carlo Wood authored
      Over time I made a few changes unrelated to what I'm really working on.
      These changes are hereby committed first. The bug fixes are related to
      what I'm doing in that I need them to be fixed for future commits.
      
      Tools/sitl_run.sh: rename label to rcS_dir and fix usage help.
      cmake/common/px4_base.cmake: Remove the check on OUT_UNPARSED_ARGUMENTS,
        and a few typos and indentation issues.
      cmake/configs/posix_sitl_replay.cmake: Set the correct variable
        (config_sitl_rcS_dir) to the correct directory.
      cmake/nuttx/px4_impl_nuttx.cmake: typos and indentation issues,
        and removal of a redundant FORCE (INTERNAL implies FORCE).
      cmake/posix/px4_impl_posix.cmake: typos and indentation issues.
      cmake/qurt/px4_impl_qurt.cmake: typos and indentation issues.
      src/modules/mavlink/mavlink_ftp.cpp : possible strict-aliasing breakage.
      
      NOTES
      
      The second argument passed to sitl_run.sh is the value of
      config_sitl_rcS_dir. This fact is missing from the usage help.
      I renamed 'label' to 'rcS_dir' to better reflect this.
      Also, for the 'replay' config the wrong variable was set causing
      the call to sitl_run.sh to skip an argument and fail (ie the
      debugger was passed as rcS_dir and so on).
      
      The check on OUT_UNPARSED_ARGUMENTS in px4_parse_function_args
      basically causes every passed IN variable to be REQUIRED and is
      therefore a bug. The test for the presence of the REQUIRED arguments
      follows directly after and is sufficient for this job. This bug went
      unnoticed because currently every argument to OPTIONS, ONE_VALUE,
      and MULTI_VALUE is actually passed to the function(s) calling
      px4_parse_function_args (them being REQUIRED or not).
      
      The changes in mavlink_ftp.cpp are to avoid a possible aliasing bug
      and (mostly) to avoid the compiler warning/error: dereferencing type-
      punned pointer will break strict-aliasing rules [-Werror=strict-aliasing].
      03d176d0
    • Andreas Antener's avatar
    • Andreas Antener's avatar
      5a704602
    • Andreas Antener's avatar
    • Roman's avatar
      fw_pos_control_l1: for tailsitters we need to rotate the body acceleration · ab4731a9
      Roman authored
      vector as it has it's reference in the mc frame
      
      Signed-off-by: default avatarRoman <bapstroman@gmail.com>
      ab4731a9
    • Andreas Antener's avatar
    • Andreas Antener's avatar
    • Andreas Antener's avatar
Loading