72 Commits

Author SHA1 Message Date
Daniel Agar
d7b165991f
cmake: relax git tag requirements
- default to v0.0.0 if tag isn't available
 - src/lib/px_update_git_header.py use same PX4_GIT_TAG as cmake
 - update lingering master branch references to main
2024-08-23 12:05:34 -04:00
Matthias Grob
f2bca92221 Fix duplicate newlines at the end of files 2024-07-19 14:33:36 +02:00
David Sidrane
136e08652f PX4:comon Support BOARD_HAS_HW_SPLIT_VERSIONING 2024-01-30 11:15:03 -05:00
oneWayOut
6ee2d796ea delete unused ECL_LIB_GIT_VERSION
Since 'ecl' is nomore a git submodule, code lines related to
'ECL_LIB_GIT_VERSION' could be deleted
2023-06-06 11:24:49 -04:00
Hamish Willee
30e2490d5b
Docs are now in user guide and main (#19977)
* Fix links to docs in source to point to docs on main not master

* More docs and scripts that need to point to main
2022-08-01 11:39:39 +10:00
David Sidrane
d6db06faf3 px_update_git_header:Extract latest release tag 2022-03-30 11:19:02 -04:00
Jukka Laitinen
714df398eb lib/version: Don't link to drivers_board
The needed version specific things come from px4 layer. Since version
is used both in kernel an user sides in protected build, it can't directly
link to drivers_board

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-01-27 12:42:40 -05:00
Daniel Agar
f5d9b01f5c
NuttX build in place
- cmake NuttX build wrapper compile in place instead of copying source tree to build directory
    - slightly faster skipping necessary copying (depending on system)
    - allows debugging in place
    - easier to work directly in NuttX following official documentation
    - simplifies overall build which should make it easier to resolve any remaining NuttX dependency issues in the build system
 - the downside is switching back and forth between different builds always require rebuilding NuttX, but I think this is worth the improved developer experience
 - also no longer builds px4io and bootloader in every single build, for most users these rarely change and we're wasting a lot of build time
2021-11-15 18:47:38 -05:00
Beat Küng
fdf8461452 ver: print PX4_BOARD_LABEL for 'ver all' 2021-11-11 08:38:42 -05:00
Jacob Crabill
5969508fa7
mavlink: cmake generate mavlink headers at build time
- mavlink/mavlink is now directly included as a submodule instead of the generated mavlink/c_library_v2
 - this also switches to mavlink development.xml by default
2021-11-05 23:01:38 -04:00
Beat Küng
f528c5d206 github ci: push parameter metadata to s3 2021-03-24 10:08:41 -04:00
Beat Küng
c3985709e4 version: add optional oem version tag (ext/oem-<version>) and log it 2021-03-24 10:08:41 -04:00
Beat Küng
bac2a02a65 git: ignore git tags starting with 'ext/' when getting the version tag
Allows for external/extra tags
2021-03-24 10:08:41 -04:00
Julian Kent
d7fa5c68aa
Add support for alpha/beta/rc on the vendor version (#16112)
* Add support for versioning the vendor version

* Make regex only allow either alpha/beta/rc, or vendor versions
2020-11-04 13:48:19 +01:00
Beat Küng
3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
Julian Oes
3fa3cbd28a version: add beta tag
This adds the "beta" tag and adds a dash before "rc" or "beta".
2019-08-23 13:18:52 +02:00
Julian Oes
68078795c0 px_update_git_header.py: allow -beta/-rc in tag
This changes two things:
- This adds "-beta" as a valid tag suffix.
- This changes "rc" without "-" to "-rc". "rc" without is now described
  as deprecated and with "-rc" is preferred.
2019-08-22 18:45:50 +02:00
Beat Küng
05ff7bb731 version: validate format of the git tag
This fails the build if a wrong version tag is used.
A wrong tag leads to wrong reporting in QGC, and incorrect error messages
about minimum required PX4 version.
It also leads to wrong statistics on Flight Review.
2019-07-23 13:16:43 +02:00
Daniel Agar
3e0a3559a9 cmake use standard mechanisms for settings flags 2018-11-26 14:40:14 -08:00
Daniel Agar
ec4c9da253 remove BOARD_NAME from board_config.h and set automatically 2018-11-26 14:40:14 -08:00
Beat Küng
6c34407d57 version: rebase fixes & add bbblue 2018-10-03 10:30:10 +02:00
Daniel Agar
56a7c63789 version lib fix BUILD_URI properly 2018-07-30 09:30:23 +02:00
Daniel Agar
50b5e124d5 cmake fix BUILD_URI 2018-07-17 21:03:27 -04:00
Daniel Agar
d21cf7123e version library add ECL 2018-06-22 08:46:30 +02:00
Daniel Agar
ea3acb7121 cmake remove circular linking and reorganize
- px4_add_module now requires MAIN
 - px4_add_library doesn't automatically link
2018-04-29 21:48:54 -04:00
Matthias Grob
70de169f15 Cygwin: Enable build of SITL jMAVsim under Windows using the Cygwin Unix-like environment
Most of the incompatitbilities are luckily similar to the darwin build.
- New target OS __PX4_CYGWIN added because in other build environments on Windows defines will very likely be completely different
- added all necessary exeptions to the defines
- disabled priorities completely because on Windows they are defined 1-32 and with all the arbitrary +40 -40 priority settings there were a lot of problems
  not only did some threads/"virtual tasks" not start because of out of bound priorities but also the resulting scheduling was totally random and inadequate
  with default priorities it ran toally fine during my first tests, should be rethought when windows is used onboard in the future
2018-01-05 14:47:33 -05:00
Daniel Agar
7a5a497725 version lib find correct directory when used as a submodule 2017-11-23 00:22:45 -05:00
garfieldG
cddea6f4b3 Fixed version firmware type (#8250)
* Fixed the version tag to number and version tag to vendor version number to return dev version in case of any local modifications or in case there's a dash before firmware type in tags that support vendor  version.
2017-11-11 20:04:16 -05:00
Dario Röthlisberger
3edc5942e4 versioning: fix style 2017-10-09 14:41:58 +02:00
Dario Röthlisberger
6abe198226 versioning: tag must contain patch, minor & major 2017-10-09 14:41:58 +02:00
Dario Röthlisberger
3dd4454a87 version: include FIRMWARE_TYPE in vendor version 2017-10-09 14:41:58 +02:00
Dario Röthlisberger
28ca3b8d4c version: add support for vendor version
This adds support for parsing git tags which include a vendor version.
E.g. vX.Y.Z-A.B.Crc1, whereas X.Y.Z are numbers defining the upstream
version and A.B.C is the vendor version.
2017-10-09 14:41:58 +02:00
Daniel Agar
123a0b584a cmake fix posix upload targets 2017-10-05 11:28:10 -10:00
Daniel Agar
01b3e6fd25 NuttX upgrade cmake wrapper (#7873)
* NuttX cmake

* px4_macros:Pass the stringified predicate as second arg to static assert

   CC_ASSERT mapes to the c++ static_assert or provides the same
   funtionality for c via the other macros. The c++ static assert
   takes 2 argumants the prdicate and a message. This fixes the
   lacking second argument.

* Updated nuttx and apps submodule to upstream nuttx 7.21+==master

   This is the latest uptake of upstream nuttx and apps.

* ROMFS generate with xxd instead of objcopy

* delete nuttx-patches

* NuttX update submodules to latest px4_nuttx-master

* fix nuttx apps and board dependency

* docker_run update to latest container 2017-08-29

* cmake ROMFS portable sed usage

* NuttX update submodules to latest px4_nuttx-master
2017-09-29 10:13:51 -04:00
David Sidrane
4832ad3191 ver:Add support for HW versioning
1) Add hwtypecmp command to allow rc to further enumerate PX4FMU_V2
      for sub types of 'V2' -FMUv2  'V2M' PixhawkMini, 'V30' Cube

   2) Extend hw to report to display
      HW type
      HW version
      HW revision
2017-08-05 19:26:20 +02:00
garfieldG
a9750f7ccb Fixed formatting 2017-07-09 13:08:49 +02:00
garfieldG
be41cf8ba1 Fixed parameters naming and type and added comments 2017-07-09 13:08:49 +02:00
garfieldG
44e148151b Fixed the version naming 2017-07-09 13:08:49 +02:00
Beat Küng
18ea5ec1f8 logger: add git branch name to the log 2017-07-07 17:06:48 +02:00
Lorenz Meier
990ae93cae Version: Add MAVLink git hash to available versions 2017-06-04 16:14:00 +08:00
David Sidrane
95fd2cd184 Create NuttX git hash and tag 2017-05-03 08:18:47 +02:00
David Sidrane
f66f024e3a ver:Print vMM.mm.pp format 2017-05-03 08:18:47 +02:00
David Sidrane
1abd629461 Move common macros to systemlib/px4_macros.h 2017-01-24 21:18:28 +01:00
David Sidrane
78eb02e480 Remove the posix based #ifdef from version.h
Use the BOARD_NAME distributed to the board_config.h files
 for posix derived targets
2017-01-21 11:45:36 +01:00
BharathR
8c7f810cc2 Fixed build error in eagle_legacy_default mode (px4muorb.h generation issue) 2017-01-11 17:12:27 -08:00
bharathr
ee0b0f2a3e Fixed build error in Snapdragon Flight legacy driver mode (partially) 2017-01-11 17:12:27 -08:00
Beat Küng
0c7e9b0e6d version CMakeLists.txt: add ver_gen dependency
Necessary so that build_git_version.h is generated before version.c is
compiled.

Error before:
../src/lib/version/version.c:152:31: error: 'PX4_GIT_TAG_STR' undeclared (first use in this function)
  return version_tag_to_number(PX4_GIT_TAG_STR);
2016-12-21 16:59:32 +01:00
Beat Küng
5e9bdff205 version: remove FW_GIT & FW_BUILD_URI, use the correct methods instead
This is cleanup after rebasing
2016-12-21 11:35:10 +01:00
Beat Küng
41dc34204c version cleanup: move all version information into version.c and use a common API
The provided versioning information is the same, except for some additions,
like OS version (which still need to be implemented on NuttX).
2016-12-21 11:35:10 +01:00
Beat Küng
c662113527 board_name.c: remove the file and HW_ARCH macro, use px4_board_name() instead
boards define BOARD_NAME, so board_name() is not necessary. HW_ARCH was
just a wrapper around board_name().

This patch simplifies to having only one common method px4_board_name().
2016-12-21 11:35:10 +01:00