Commit Graph

697 Commits

Author SHA1 Message Date
Daniel Agar 21a8d7db7f WorkItem modules: Run() shouldn't be public 2020-01-22 12:03:03 -05:00
Daniel Agar b47eaa6061
update C++ standard (c++11 -> c++14)
- temporarily disable snapdragon builds until toolchain is updated
2020-01-21 21:49:10 -05:00
Daniel Agar fcbf8b6bcd platforms/nuttx: fix fmu-v4pro jlink debug device helper 2020-01-21 22:24:58 +01:00
Daniel Agar dc05ceaad2
create temperature_compensation module
- this is a new module for temperature compensation that consolidates the functionality previously handled in the sensors module (calculating runtime thermal corrections) and the events module (online thermal calibration)
 - by collecting this functionality into a single module we can optionally disable it on systems where it's not used and save some flash (if disabled at build time) or memory (disabled at run time)
2020-01-20 21:42:42 -05:00
Daniel Agar de4f594937 DriverFramework purge
The bulk of this change was tightly coupled and needed to be deleted in one pass. Some of the smaller changes were things that broke as a result of the initial purge and subsequently fixed by further eradicating unnecessary platform differences. Finally, I deleted any dead code I came across in the related files I touched while going through everything.

 - DriverFramework (src/lib/DriverFramework submodule) completely removed
 - added dspal submodule in qurt platform (was brought in via DriverFramework)
 - all df wrapper drivers removed
 - all boards using df wrapper drivers updated to use in tree equivalents
 - unused empty arch/board.h on posix and qurt removed
 - unused IOCTLs removed (pub block, priv, etc)
 - Integrator delete methods only used from df wrapper drivers
 - commander: sensor calibration use "NuttX version" everywhere for now
 - sensors: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - battery_status: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - cdev cleanup conflicting typedefs and names with actual OS (pollevent_t, etc)
 - load_mon and top remove from linux boards (unused)
 - delete unused PX4_MAIN_FUNCTION
 - delete unused getreg32 macro
 - delete unused SIOCDEVPRIVATE define
 - named each platform tasks consistently
 - posix list_devices and list_topics removed (list_files now shows all virtual files)
2020-01-13 14:07:03 -05:00
Daniel Agar 756b0148d6
platforms: split posix hrt for qurt
- this keeps the per platform libraries contained to their respective directories and minimizes the ifdef mess
2020-01-12 22:09:34 -05:00
Daniel Agar 98c5c31aa1
Update submodule nuttx to latest Mon Jan 13 00:39:44 UTC 2020
- nuttx in PX4/Firmware (3459f0a99de671e03a894e5bb44f615c9184d702): 4c2da29353
    - nuttx current upstream: c6ba2c13c7
    - Changes: 4c2da29353...c6ba2c13c7

c6ba2c13c7 2019-12-24 David Sidrane - [BACKPORT] STM32F7 and STM32H7 SDMMC internal pull up usage fixed
a14d2cec3b 2019-12-22 David Sidrane - [REJECTED] Add check_format tooling
30e1808bc3 2019-12-22 David Sidrane - [REJECTED] nxstyle - output compiler like error format
2020-01-12 21:20:41 -05:00
Daniel Agar d1e3ff553b platforms: remove unnecessary i2c platform abstraction 2020-01-11 11:55:06 -05:00
Daniel Agar bd111c9f42
px4_work_queue: revert inherited sched attr and run wq:manager and max priority
Setting PTHREAD_EXPLICIT_SCHED was necessary on linux to create WQ threads with priorities relative to max, but unfortunately we can't rely pthread_attr_setinheritsched as it's dependent on system ulimit configuration or running privileged. Instead we can create the wq:manager at the maximum desired priority and allow each WQ thread to have a relative priority.
2020-01-10 17:57:51 -05:00
Daniel Agar a08b54b8e1
px4_work_queue: don't inherit pthread attributes from creating thread
- this is necessary on linux so that the WQ threads priorities are set relative to max, and not relative to the wq:manager thread
2020-01-10 11:02:49 -05:00
Daniel Agar 23e17aec42
atlflight/eagle: minor fixes to get it running again
- fixed df_ltc2946_wrapper battery dependency
 - fixed px4::atomic fetch_add for QuRT
 - updated PX4 QuRT SPI wrapper to set bus frequency
 - renamed "qurt-default" configs to just "qurt"
2020-01-09 18:09:06 -05:00
David Sidrane 9c1543c33f Nuttx with PX4 Contrib for SDIO PU fix 2020-01-08 12:23:01 -05:00
Daniel Agar d19f18d40b linux boards (ocpoc, bbblue, navio2) replace custom adc drivers with simple px4_arch implementation 2020-01-07 14:04:13 -05:00
Julian Oes fc9df31653 platforms: link libatomic only on emlid navio2 (raspberry pi)
Linking to libatomic is only required for targets such as Raspberry Pi but not on for normal x86/x86_64 Linux builds.
2020-01-06 20:15:39 -05:00
Daniel Agar 7166b867e1
NuttX stackcheck exclude PX4 Matrix and Param
- instrumenting PX4 Matrix and Param methods is too burdensome
 - partially restore px4_fmu-v5_stackcheck and holybro_durandal-v1_stackcheck to match default configs
2020-01-06 18:15:55 -05:00
Daniel Agar e29acea509 posix hrt add latency buckets 2020-01-06 16:26:56 +01:00
Daniel Agar 738b57c945 pxh: initialize all fields
- fixes Coverity CID 309151
2020-01-05 22:59:49 -05:00
Daniel Agar 44f9de5e37
delete parrot bebop board support
This target was never fully supported and is heavily dependent on a number of DriverFramework drivers that have no in tree equivalents (bebop bus, flow, rangefinder, etc). Deleting this will make it easier to fully drop DriverFramework shortly.
2020-01-05 19:46:51 -05:00
Daniel Agar aaf5670e7d
deprecate df_bmp280_wrapper and replace with in tree bmp280
- deprecate DriverFramework bmp280 driver (df_bmp280_wrapper)
 - update beaglebone blue and snapdragon flight eagle boards to use in tree bmp280
 - update posix (really just linux) and qurt I2C wrappers
 - tested on beaglebone blue
2020-01-05 13:33:12 -05:00
Daniel Agar b292b04ac1 platforms posix link atomic 2020-01-04 22:03:43 -05:00
Daniel Agar 1edfee4fdd mavsdk_tests: build should be independant of px4 2020-01-01 22:05:29 -05:00
Daniel Agar 9df06ffdea posix main wait_to_exit() fix and catch SIGTERM
- wait_to_exist() shouldn't depend on lockstep (px4_usleep)
2020-01-01 21:55:42 +01:00
Daniel Agar cc7a0cd69d beaglebone blue: build librobotcontrol with cmake 2019-12-29 17:32:06 -05:00
Daniel Agar 30a73416dc mavsdk SITL testing code coverage and upload to codecov.io 2019-12-26 14:31:33 -05:00
Lorenz Meier 742b1839d5 Simulation: Set scheduling policy RR for lockstep
This should ensure that all processes do still run at full load.
2019-12-26 10:16:58 +01:00
Julian Oes 16da8466e3 posix: exit if the startup script is not ok
In general, if anything goes wrong in the startup script, we
should fail entirely because things might not work as expected.

In particular, this prevents that we have to press Ctrl+C twice if the
simulator start call is hung waiting for the simulator to appear and
start communicating. We now press Ctrl+C once and exit straightaway
whereas before we would press it once to get the warning:
"Startup script returned with return value: 2",
and then finally exit on the second press.
2019-12-26 10:16:58 +01:00
Julian Oes a9ca16cafe
Fix a couple of flake8 Python warnings (#13763)
* Tools: fix flake8 error

* platforms: fix flake8 error

This is just guessed.
2019-12-19 07:36:16 -08:00
Christian Clauss 6dc55f97d4 More fixes for Python 3 compatibility (#13008)
* More fixes for Python 3 compatibility

* Workaround if the six module is not pip installed

* Lose the semicolons
2019-12-19 02:05:55 -08:00
Chris Lovett 01818b505f posix server: switch from fcntl(..., F_SETLK, ...) to flock(...) (#13718)
- Required for Windows
- Add better diagnostic output in some places.
- close the lock file descriptor where we don't need to keep it open
2019-12-18 09:53:07 +01:00
Daniel Agar 3d56f37606 vscode debug and ekf2 replay improvements
- create new px4_sitl_replay config specifically for replay
 - ekf2 replay don't launch gazebo
 - add px4_sitl_test cmake variant
 - px4_sitl_test bring into sync with px4_sitl_default
 - vscode replace hard coded build path with cmake setting
2019-12-17 10:19:56 -08:00
kamilritz 2a707cf669 Debug log replays with gdb in vscode 2019-12-15 10:28:04 -05:00
PX4 BuildBot 6f4b9f93fd Update submodule nuttx to latest Thu Dec 12 14:57:56 UTC 2019
- nuttx in PX4/Firmware (327c7f3672ee5f066ec53dfe1554a02d1aa610da): 2e55ce8ec9
    - nuttx current upstream: 9331fda0d7
    - Changes: 2e55ce8ec9...9331fda0d7

    9331fda0d7 2019-12-10 David Sidrane - [BACKPORT] IMXRT106x USDHC: Support regular GPIO for CD and inversion.
91c80c708b 2019-12-05 David Sidrane - [BACKPORT] imxrt106x:pinout add ALT 8 GPIO_GPT1_CAPTURE[1|2]
32f758f0e9 2019-12-03 David Sidrane - [BACKPORT] stm32f7:Add Serial Tx DMA
2019-12-12 10:23:29 -05:00
David Sidrane 74b6cc5bce px4_fmu-v5:Use Serial TX DMA on Telem 2 2019-12-09 16:23:16 -05:00
Daniel Agar 1d3f722201
px4_work_queue: increase hp_default stack 1800 -> 1900 bytes 2019-12-09 12:41:11 -05:00
Matthias Grob 904ab16558 Fix trailing whitespace, EOF newline, indentation 2019-12-09 13:22:19 +01:00
David Sidrane cada41f027 WorkQueueManager:Fix low stack warning introduced by stism330 2019-12-03 16:16:49 -05:00
Daniel Agar 1a395fb6d9 ST ISM330DLC IMU driver 2019-12-03 16:16:49 -05:00
Daniel Agar a859a6b57c
VSCode SITL debug improvements
- added gazebo VTOL tailsitter debug target
 - improved jmavsim debug target and helper tasks to work properly (build and launch directly instead of through the jmavsim_run.sh script)
 - improved output console handling for helper tasks (eg gazebo and jmavsim build and run, followed by cleanup after debug)
 - added miniterm.py as a task
2019-12-01 15:47:29 -05:00
PX4 BuildBot 5e95820e14 Update submodule nuttx to latest Sun Dec 1 00:38:57 UTC 2019
- nuttx in PX4/Firmware (22a005c9f4): 2d7920055f
    - nuttx current upstream: 398a59aaa4
    - Changes: 2d7920055f...398a59aaa4

    398a59aaa4 2019-11-29 David Sidrane - [BACKPORT] stm32f7:ethernet: Add some delays so that ifup() does not hog the CPU.
2019-11-30 21:16:33 -05:00
David Sidrane 44c7b90a7b stm32h7:Bootloader fix assertion caused by USB running
USB was still running in transition to Firmware. This
   resets the USB
2019-11-30 19:05:22 +01:00
Beat Küng 0f42ecc5c7 durandal-v1: enable dshot 2019-11-29 07:39:08 +01:00
Daniel Agar 071f159794 PX4 work queue: extend to UARTs 2019-11-27 20:44:32 -05:00
Daniel Agar a7fbaefd83 NuttX cmake small debug helper improvements 2019-11-26 15:39:02 -05:00
Daniel Agar a8ea55d9b6
remove all <cmath> usage
* the NuttX c++ library is incomplete, let's avoid including it until we have a real standard library in place
2019-11-25 10:04:04 -05:00
Daniel Agar bc182e94e6
sensors split rc_update into new standalone module 2019-11-24 13:25:11 -05:00
Daniel Agar 2811307293 px4_work_queue: increase wq:hp_default stack 1500->1800 bytes (found by stackcheck) 2019-11-23 17:23:30 -05:00
David Sidrane bbd37ada41 holybro_durandal-v1: update cdcacm product id 2019-11-22 09:39:15 -05:00
David Sidrane 7ca8a8dbaa durandal-v1:Bootloader
Change PID to 0x4b:
     Holybro obtained their own PID and VID but APM did not follow
     the PX4 convention of makeing the board_id (0x8b) match the PID)

   Incorporated the Upstream Bootloader state sequencing checking change.

   Change the usb cout to send all chars in 1 write.
2019-11-22 14:32:56 +01:00
Beat Küng 1371887578 board config: add define for adc voltage scaling 2019-11-21 08:19:59 +01:00
Beat Küng 4b290c4903 voltage & current scaling: use px4_arch_adc_dn_fullcount() instead of 4096
Fixes the scaling on h7 boards (the ADC has 16 bits resolution).
2019-11-21 08:19:59 +01:00
Daniel Agar 84fe64b1c2
create new multicopter rate controller module (mc_rate_control) split out of mc_att_control 2019-11-19 17:03:11 -05:00
Daniel Agar 1c4a8e7c11 cmake NuttX fix generated launch.json (vscode debug) 2019-11-18 13:21:33 -05:00
Daniel Agar 82fac4a0a7 cmake NuttX linker print memory usage 2019-11-18 12:36:29 -05:00
David Sidrane 67f27eb26c NuttX @ Offical release of 8.2 2019-11-17 04:06:49 -08:00
Daniel Agar 8ce2f30aa6
NuttX cmake improve dependencies between configure and runtime
- attempting to make the build slightly more robust to incomplete configures or other bad states.
2019-11-16 18:30:52 -05:00
Daniel Agar df73a6667d NuttX cmake improvements
- fix temporary Make.defs copy
 - implement custom macros for COMPILE, COMPILEXX, ASSEMBLE, ARCHIVE to enable ccache properly (if available and enabled)
 - fix NuttX mkdeps
 - fix libapps race condition with context
2019-11-16 15:42:19 -05:00
David Sidrane 850821f47f [REVISIT] Support upstream DSHOT Revist!
The Addition of PX4_ARCH_DCACHE_LINESIZE is fundamentally wrong.
   It asserst that an STM32F4 has a cache and it does not.
   This should be #if defined() on CONFIG_ARMV7M_DCACHE
2019-11-16 11:43:42 +01:00
Daniel Agar 2af262ed1d NuttX cmake build wrapper thorough dependencies 2019-11-16 11:43:42 +01:00
Daniel Agar 99aae8b891 NuttX use toolchain math.h and avoid empty drivers/Kconfig 2019-11-16 11:43:42 +01:00
David Sidrane b2f28c977d durandal-v1 Nuttx Based PX4 bootloader
durandal bootloader:Run at 480 Mhz

durandal-v1:bootloader use VBUS detection

Add Durandal bootloader to build
2019-11-16 11:43:42 +01:00
David Sidrane 65a26ec060 nxp_fmuk66-v1:Port to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane e847698c9f PX4 System changes Supporting STM32H7
stm32:ToneAlarmInterfacePWM TIM15-TIM17 have a BDTR Register

common:board_crashdump Add H7 support

stm32/board_mcu_version:Support H7

PX4 ADC:Use 32 interface and resoution abstraction

Added PX4 stm32h7 ADC driver

stm32h7:adc fix ADC ready check

fmu: handle BOARD_HAS_PWM==5

cmake: improve error handling for NuttX olddefconfig failures

WorkQueueManager:Quiet loadmon stack warning

camera_trigger:GPIO support < 6 GPIO

Adjust stack sizes (under hw stack check)

PX4 System changes Supporting STM32H7 PX4IO Driver

aerotenna_ocpoc:ADC add px4_arch_adc_dn_fullcount

init.cmake:Track Upstream change needing Make.def at config time

PX4 System changes Supporting STM32H7

NuttX CMakeLists.txt Track upstream changes

Common board_crashdump add header and px4 config

NuttX simplify callinb make libapps

Use UINT32_MAX for error return

drivers:uavcannode NuttX chip is now hardware

drivers:uavcanesc NuttX chip is now hardware

px4io:Avoid Race on AP to PX4 IO upgrade
2019-11-16 11:43:42 +01:00
David Sidrane 36a75b79a4 uavcan:Changes to support Nuttx 7.31+
libuavcan:Update with Kinetis NuttX 8.1+ support

Traking master uavcan changes
2019-11-16 11:43:42 +01:00
David Sidrane 522ed2d99b NuttX based PX4 bootloader
stm32h7 booloader:Obey VBUS input

stm32h7 booloader:Fully deinit systic
2019-11-16 11:43:42 +01:00
Beat Küng 78944a70c3 Upgrade NuttX to 8.2
Nuttx with PX4 contrib of bbsram fix

Nuttx 8.31+ with BBSRAM disable dcache

Nuttx 8.2-
2019-11-16 11:43:42 +01:00
TSC21 d4ddabdf52 SITL: adds 'iris_rtps' target 2019-11-13 18:24:11 +00:00
Daniel Agar c5520cbaca mpu9250: start building "NuttX" driver for Linux and QuRT 2019-11-13 09:21:02 -05:00
Daniel Agar 1c4e854f93 cmake don't build param "c" files and remove param defines
- these aren't actual source code
2019-11-11 10:25:42 -05:00
Beat Küng 5dff065ec5 uavcan: move to work queue and use MixingOutput
Main UAVCAN protocol handling and ESC updates run on the same thread/wq as
before. There are 2 WorkItems for separate scheduling of the 2, so that
ESC updates run in sync with actuator_control updates. UAVCAN is scheduled
at a fixed rate of 3ms (previously the poll timeout) and on each UAVCAN
bus event.
This leads to roughly the same behavior as before. CPU & RAM usage are
pretty much the same (tested on Pixhawk 4).

Testing done: Motors still work (with feedback), param changes and a
UAVCAN optical flow sensor.
2019-11-07 10:40:03 +01:00
Beat Küng a203475489 BlockingList: fix unsafe getLockGuard() API
getLockGuard relies on copy elision to work correctly, which the compiler
is not required to do (only with C++17).
If no copy elision happens, the mutex ends up being unlocked twice, and the
CS is executed with the mutex unlocked.

The patch also ensures that the same pattern cannot be used again.
2019-11-05 12:14:20 +01:00
Daniel Agar 7f930f875e Jenkins store SITL unit test results 2019-11-04 14:04:40 -05:00
Daniel Agar 69bec3ee62
defines.h delete obsolete PRIu64, PRId64, and offsetof 2019-11-03 11:50:15 -05:00
Daniel Agar 7bf9700426
NuttX: math.h drop extra math defines carried in PX4 defines.h 2019-11-03 10:30:00 -05:00
FlavioTonelli 7984c0c910 px4_work_queue: stack size rounded to page size on posix 2019-11-03 09:04:04 -05:00
Matthias Grob 933ff8d480 Remove duplicate EOF trailing newlines
because they can screw up git when merging branches.
2019-11-02 09:49:46 -04:00
David Sidrane a3e2777208 NuttX/nuttx with SDIO fixes (#13311)
* NuttX/nuttx with SDIO fixes
2019-10-31 16:55:16 +01:00
Beat Küng 1dd6b6a505 stm32f3: add libs and stubs for F3 build (thiemar_s2740vc-v1) 2019-10-30 11:48:47 +01:00
Beat Küng 3b7c1b4ff1 src/drivers/boards: move to platforms/nuttx/src/px4/common 2019-10-30 11:48:47 +01:00
Beat Küng be7ed5e388 src/drivers/boards/common/{stm32,kinetis}: move under platforms/nuttx/src/px4 2019-10-30 11:48:47 +01:00
Beat Küng 58e161347b board_mcu_version: move to platforms/nuttx/src/px4 2019-10-30 11:48:47 +01:00
Beat Küng e7519c9fa0 board_identity: move to platforms/nuttx/src
And fix a potential alignment issue in board_get_mfguid and
board_get_px4_guid.
2019-10-30 11:48:47 +01:00
Beat Küng b30171ba8d board_common.h: move under platforms/common
Also move board_determine_hw_info and board_gpio_init under platforms/nuttx
2019-10-30 11:48:47 +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
Daniel Agar 6f1f5e0325 clang-tidy: partially fix readability-redundant-declaration 2019-10-28 10:50:31 -04:00
Daniel Agar a7f330075a clang-tidy: enable hicpp-braces-around-statements and fix 2019-10-28 10:50:31 -04:00
Daniel Agar 4192414576 clang-tidy: partially fix cppcoreguidelines-pro-type-reinterpret-cast 2019-10-28 10:50:31 -04:00
Daniel Agar 967446af4c clang-tidy: enable readability-simplify-boolean-expr and fix 2019-10-27 19:19:07 -04:00
Daniel Agar 279df3b1b8 clang-tidy: partially fix hicpp-use-equals-delete 2019-10-27 19:19:07 -04:00
Daniel Agar ae27dd60a6
Jenkins re-enable clang-tidy and update .clang-tidy
- device/Device: fix explicit constructor and uninitialized fields
 - systemcmds/motor_test: update NULL to nullptr
2019-10-27 17:19:11 -04:00
Igor Mišić f4ee9141cb DShot: updated driver to use NuttX DMA functions (#13233) 2019-10-25 09:49:03 +02:00
Matthias Grob d60e1e2774 ControlMath: switch to gtest for unit tessting 2019-10-23 17:33:47 +02:00
Julian Oes 8e625285fc platforms: initialize strings
This might fix a warning about argv being a TAINTED_SCALAR further down.
2019-10-17 08:44:53 -04:00
Beat Küng 25aded36ec WorkQueue: avoid potential semaphore counter overflow
This could happen in the following cases:
- IRQ/publisher rate is faster than the processing rate, and therefore
  WorkQueue::Add is called at a higher rate
- a long-running or stuck task that blocks the work queue a long time

Both cases are not expected to happen under 'normal' circumstances (if the
system runs as expected).
2019-10-16 18:29:26 +02:00
Beat Küng 17551a99f8 io_timer: fix potential invalid memory access 2019-10-16 13:13:17 +02:00
Matthias Grob e843090383 Replace a lot of memset with {} initializers 2019-10-15 10:01:03 -04:00
Beat Küng 8a9744d05a dshot: allow boards to enable dshot only on a subset of the timers 2019-10-11 08:14:17 +02:00
Beat Küng d0a7490222 dshot: update timer generation before DMA request
This reloads the timer configuration before triggering DMA. Without that,
in rare cases, there were 17 bits sent instead of 16.
The 1. bit (1. pulse) was always wrong (too much), the rest of the bits
were the correct DShot packet that was meant to be sent.
2019-10-11 08:14:17 +02:00
Beat Küng 7445c25fcc dshot: check if DMA still in progress
No other functional change, just restructuring.
2019-10-11 08:14:17 +02:00
Beat Küng 182efaa757 dshot: reduce static buffer size
And handle failures of up_dshot_init().

On Omnibus: reduces memory usage if dshot is enabled by ~1.0KB.
The buffer is roughly 1KB in size.
2019-10-11 08:14:17 +02:00
Beat Küng 69c10dcaac dshot: move implementation to a separate directory & library
So that the static memory overhead is not added to targets w/o dshot
2019-10-11 08:14:17 +02:00
Beat Küng 23dbd9426a dshot: handle dcache, flush cache before DMA transfer 2019-10-11 08:14:17 +02:00
Beat Küng 3234aca53b px4_micro_hal: add PX4_ARCH_DCACHE_LINESIZE definition 2019-10-11 08:14:17 +02:00
Igor Mišić 5bd9659301 stm32 timers: add dshot implementation 2019-10-11 08:14:17 +02:00
Daniel Agar 3c623af903 ekf2: move to WQ with uORB callback scheduling 2019-10-02 19:44:46 -04:00
Daniel Agar 26364d44c9
px4_work_queue: command line status output and shutdown empty queues
* adds a work_queue systemcmd that will bring a tree view of all active work queues and work items
 * WorkQueues now track attached WorkItems and will shutdown when the last WorkItem is detached
2019-10-02 12:23:17 -04:00
Daniel Agar 3687677095 cmake: show sitl_gazebo build output and improve rebuild 2019-10-01 14:22:30 -04:00
Kjkinney 3f9b3fb4da px4_log: publish all PX4_INFO messages as well (#12954) 2019-09-27 14:04:30 -04:00
Daniel Agar 86dc4c5a00 cmake generate vscode launch.json 2019-09-21 13:06:49 -04:00
Daniel Agar fb7521eb5e cmake px4_base -> px4_parse_function_args 2019-09-15 14:36:38 -04:00
Daniel Agar d27dfcd921 NuttX CMakeLists.txt extract helpers (jlink, upload, etc) 2019-09-15 14:36:38 -04:00
Julian Oes 78d3986013 platforms: fix main function signature 2019-09-03 11:52:54 -05:00
Beat Küng d3fb610fde mixer_module: create MixingOutput library and use in fmu
This should be a pure refactoring, no functional change.
2019-08-31 10:05:00 -04:00
Beat Küng 43fdcd7876 px4_middleware: remove that header and move px4::init to px4_init.h
delete include:
for i in $(grep -rl 'px4_middleware.h' src platforms); do sed -i '/#include <px4_middleware.h/d' $i; done
2019-08-30 07:59:44 +02:00
Beat Küng f32abe8534 src/platforms: move remaining source files to platforms/common 2019-08-30 07:59:44 +02:00
Beat Küng f8e0441e7b src/platforms/common: move to platforms/common
Script to update include paths:
for i in $(grep -rl 'include <px4_work_queue' src platforms); do sed -i 's/#include <px4_work_queue/#include <px4_platform_common\/px4_work_queue/' $i; done
2019-08-30 07:59:44 +02:00
Beat Küng 5d0e72040c src/platforms/posix: move to platforms/posix/src/px4/common and src/drivers/driver_framework_wrapper 2019-08-30 07:59:44 +02:00
Beat Küng fa8165a1c3 platforms/posix/src: move to platforms/posix/src/px4/common 2019-08-30 07:59:44 +02:00
Beat Küng 3bdfd8ce8d ToneAlarmInterface: move to drivers/drv_tone_alarm
It belongs there since it's not a library providing the implementation, but
just declaring the interface.
2019-08-30 07:59:44 +02:00
Beat Küng f3fccf53f6 src/drivers/{kinetis,stm32}: move to arch-specific directories 2019-08-30 07:59:44 +02:00
Beat Küng 3003e7d0fc drv_led_pwm: move to arch-specific directory 2019-08-30 07:59:44 +02:00
Beat Küng bd1b267baa NuttX hrt: move into arch-specific directory 2019-08-30 07:59:44 +02:00
Beat Küng 1cb6c36a00 adc: refactor into arch-specific directories 2019-08-30 07:59:44 +02:00
Beat Küng ab43a83bed platform: restructure (NuttX) architecture-specific code
updated: tone_alarm, px4io_serial, px4_micro_hal
2019-08-30 07:59:44 +02:00
Daniel Agar e8dcd8c2fc cmake nuttx ignore linking target warning 2019-08-28 22:50:23 -04:00
roangel e50dd7c364 replay: close replay log file after replay is finished, then exit (#11264) 2019-08-28 08:13:50 +02:00
Hyon Lim 0262a699c1 UVify Core board support and airframes (Draco, Draco-R, IFO) (#12337)
* also includes minor changes to make it easy to keep in sync with px4_fmu-v4
2019-08-23 17:02:25 -04:00
Julian Oes dd2d5c029f platforms: match usb-Hex_ProfiCNC device (#12772)
This means that we are able to detect and flash the Pixhawk Cube Black.
2019-08-22 01:32:39 -07:00
Julian Kent d70b024ec7
GTest functional tests that include parameters and uORB messaging (#12521)
* Add kdevelop to gitignore

* Add test stubs

* Rename px4_add_gtest to px4_add_unit_gtest

* Add infrastructure to run functional tests

* Add example tests with parameters and uorb messages

* Fix memory issues in destructors in uORB manager and CDev

* Add a more real-world test of the collision prevention
2019-08-09 15:10:09 +02:00
David Sidrane 21782603b3 px4_fmu-v5x: add networking
* fixed dropped CONFIG_LIBC_FLOATINGPOINT=y
* fix RMII TX pinning
* update platforms/nuttx/NuttX/nuttx w/ f7 eth
2019-08-08 20:38:56 -04:00
Daniel Agar 64f105b530 Update submodule nuttx to latest Mon Aug 5 20:30:34 UTC 2019 (#12636)
- nuttx in PX4/Firmware (be76f909beadfe80415b733c020695efb042adef): b4013dcd4a
    - nuttx current upstream: 14f4dc735a
    - Changes: b4013dcd4a...14f4dc735a

    14f4dc7 2019-08-05 David Sidrane - [BACKPORT] kinetis:i2c transfer ensure correct result returned
2019-08-05 13:32:46 -07:00
Daniel Agar 030508a71d cmake make bloaty available everywhere and improve output 2019-08-05 00:19:18 -04:00
Daniel Agar f7c9acbdab Update submodule nuttx to latest Thu Aug 1 18:09:20 EDT 2019 (#12603)
- nuttx in PX4/Firmware (210dbb5b8365eb003453695aa4711044bb6d49be): 257e1730dc
    - nuttx current upstream: b4013dcd4a
    - Changes: 257e1730dc...b4013dcd4a

    b4013dc 2019-08-01 David Sidrane - [BACKPORT] stm32l4:serial add HW HS on UART 4 & 5
4380c12 2019-08-01 David Sidrane - [BACKPORT] stm32h7:serial add HW HS on UART 4 & 5
0ff3e6c 2019-08-01 David Sidrane - [BACKPORT] stm32:serial add HW HS on UART 4 & 5
316126f 2019-07-31 David Sidrane - [BACKPORT] stm32f7:serial add HW HS on UART 4 & 5
2019-08-01 16:14:45 -07:00
Anthony Lamping 5d986f2030 posix: add argument to change the CWD (#12482) 2019-08-01 12:25:35 -04:00
PX4 Build Bot ca74b3fef1 Update submodule nuttx to latest Mon Jul 29 12:38:24 UTC 2019
- nuttx in PX4/Firmware (0654fdcf0ec7e45cc1e1ca5cc38de6c5e36417bc): feb5b6f174
    - nuttx current upstream: 257e1730dc
    - Changes: feb5b6f174...257e1730dc

    257e173 2019-07-26 David Sidrane - [BACKPORT] stm32f7:If only one SDMMC it is slot 0
2019-07-29 10:59:28 -04:00
David Sidrane df0599913e Firmwarte master with nuttx printf backport 2019-07-25 05:28:46 -07:00
Beat Küng d95aae4619 Generic-arm-none-eabi-gcc-cortex-m7: use SP float depending on NuttX config
Not all m7 boards support double, as for example the STM32F745.
2019-07-16 08:09:22 +02:00
Daniel Agar d4cd1d0d2e
NuttX stm32f7 fully re-enable dcache with write back (#12435)
- fixes https://github.com/PX4/Firmware/issues/12216
 - includes latest PX4/NuttX and apps update 7.29+
2019-07-10 19:08:12 -04:00
Daniel Agar dc10a68539 NuttX and apps update 7.29 2019-07-10 12:58:35 -04:00
Julian Oes 35074aaffd posix: remove segfault handler
I could not get a core dump without removing the segfault handler, hence
this change.
2019-06-05 08:16:19 +02:00
Julian Oes f3620f7018 Remove all leftover PX4_BACKTRACE calls 2019-06-05 08:16:19 +02:00
Beat Küng 0d71eeccbf console buffer: write to log as 'boot_console_output' message 2019-06-04 11:57:54 +02:00
Beat Küng d947818654 console: add simple dmesg functionality (enable only on v5) 2019-06-04 11:57:54 +02:00
Beat Küng 6e2b70cbcd posix: restore original SEGV signal handler upon first entry of our handler
The current SEGV handling on posix is not useful: as soon as our handler
is left, it's triggered again, infinitely.
This patch changes to restore the original handler, so the OS can create
a core dump, etc.
2019-05-29 08:30:52 +02:00
Julian Oes 7b9562e3b1 hysteresis: move out of systemlib, move to gtest
This moves the hysteresis test out of the systemlib and makes it its own
small library. Since it still depends on hrt_absolute_time this does not
link yet. My attempt to get all link dependencies together failed.
2019-05-27 09:57:50 +02:00
Daniel Agar e9ca5d5aba PX4 general work queue 2019-05-24 12:58:55 -04:00
Beat Küng f58079bc5d pxh.cpp: fix invalid reference if words is empty
This can happen for example if 'line' is a space.
2019-05-24 11:06:41 -04:00
Julian Oes 7a768dbab3 lockstep_scheduler: always use the same code
This define was not set anyway, and in my opinion we should
not use different code for tests anyway.
2019-05-20 12:39:02 -04:00
Julian Oes 52099f5792 cmake: include lockstep_scheduler test
This makes sure we add the lockstep_scheduler_test even if the
ENABLE_LOCKSTEP_SCHEDULER is not set to yes. This means the
lockstep_scheduler is not used for SITL but the CMakeLists.txt file
still used and the test added.
2019-05-20 12:39:02 -04:00
Julian Oes 8d8799097d lockstep_scheduler: convert test to gtest 2019-05-20 12:39:02 -04:00
Daniel Agar 162405479b
device drivers lib add linux spi support 2019-05-20 12:18:56 -04:00
Matthias Grob cbd230e34e Testing: Clean up unit_test target because test_results does all tests now 2019-05-09 09:42:46 +02:00
Matthias Grob 542f61f04b testing build: add possibility to filter tests with ctest regex 2019-05-09 09:42:46 +02:00
Matthias Grob 5a90382cb8 sitl_tests: add prefix "sitl-" for regex test filtering 2019-05-09 09:42:46 +02:00
Matthias Grob 5020dfdc3d Testing: switch unit tests to BUILD_TESTING 2019-05-09 09:42:46 +02:00
Beat Küng 2448a84c36 SITL: add if750a model 2019-05-03 13:32:48 +02:00
David Sidrane 2b68076663 Update Nuttx with F7 i2C fixes 2019-04-18 08:55:50 +02:00
Julian Oes 5b3a6facfa cmake: fix races without ninja
This fixes build races which happened if "Unix Makefiles" instead of
ninja-build was used as the cmake backend.

For any dependencies of commands on files we need to create a target.
Otherwise, if "Unix Makefiles" are used as the generator the commands
are run in parallel on the different files which often can lead to
races or redundancies in our build.

A nice write-up can be found here:
https://samthursfield.wordpress.com/2015/11/21/
cmake-dependencies-between-targets-and-files-and-custom-commands/#
custom-commands-and-parallel-make
2019-04-11 10:07:00 +02:00
Daniel Agar b9516d7e38 mixer move test_mixer_multirotor into cmake 2019-04-07 16:12:17 -04:00
Daniel Agar a78ff7fe55 NuttX delete accidental tone_alarm copy 2019-04-03 23:57:51 +02:00
Daniel Agar 8541f4b0cf cmake nuttx use defconfig matching config label if available
- otherwise use default nsh
2019-04-03 16:58:39 -04:00
Daniel Agar 296d7900a0 cmake fix NuttX build dependencies 2019-04-03 12:33:12 -04:00
mcsauder e6f1a2db12 Delete trailing whitespace, extra newlines, to quiet git hooks and add an extra = so that it does not appear to git as a merge conflict marker. 2019-04-02 15:31:37 -04:00
Nico van Duijn b7784a1439 Add MAVLink stream and cmake sitl target 2019-04-02 08:17:13 +02:00
Daniel Agar b35883f5d5
cmake nuttx use wrapper script to call "make olddefconfig"
- this is a workaround for PATH variables that exceed the maximum cmake custom command length
2019-03-24 17:58:41 -04:00
Julian Oes ed3b924f97 nuttx: update submodule (#11705)
This fixes a build error due to a Scandinavian letter in the help text.
2019-03-23 11:09:35 -04:00
Daniel Agar 5e6bfe1ad8
vscode updates
* working debugging (one click build and debug)
   * SITL jmavsim
   * SITL gazebo
   * jlink px4_fmu-v{2-5}
 * improved syntax highlighting
   * GNU linker files
   * ROS message files msg/*.msg
   * jinja2 template files
 * fixed intellisense support
2019-03-22 20:55:39 -04:00
Daniel Agar 9fd0bbe30f NuttX build include and use Kconfiglib (python) 2019-03-21 08:41:01 -04:00
Daniel Agar 94cab1f9a9 update cmake NuttX helper save behaviour (oldconfig, menuconfig, etc) 2019-03-20 12:07:37 -04:00
Daniel Agar b35d048566 cmake enable -Wcast-align and disable per module 2019-03-16 11:47:15 -04:00
Julian Oes b54ca67de9 lockstep_scheduler: check if mutex is still valid
It turns out that we can fix the unit tests of the lockstep_scheduler
just by checking if `passed_lock` is not `nullptr`.

Without this check, the unit tests segfaulted.
2019-03-15 13:38:11 +01:00
Daniel Agar edad4c40c3 containers add IntrusiveQueue and testing 2019-03-14 09:22:19 +01:00
Beat Küng 505b1aca2c lockstep_scheduler: work around a potential dead-lock for canceled threads 2019-03-08 12:22:45 -05:00
Beat Küng e999075ac7 lockstep_scheduler: fix system_sleep -> system_usleep
The effect was that threads that tried to exit were unnecessarily kept
running.
This did not cause problems except for increased resource usage.
2019-03-08 12:22:45 -05:00
Beat Küng 08298ab3d0 drv_hrt: make lockstep_scheduler a pointer
This solves a potential dead-lock when trying to shutdown: a call to exit()
stops all threads and calls all destructors for static objects.
The destructor of LockstepScheduler takes a lock. However this is not
safe, as the lock could already be taken (by any thread).
2019-03-08 12:22:45 -05:00
Daniel Agar e2bf4b1894 List container improvements and testing
- support range based for loops
 - add remove() method to remove a node
 - add clear() to empty entire list and delete nodes
 - add empty() helper
2019-03-01 21:01:04 -05:00
Daniel Agar e7dfb375be
create jlink gdb upload script and use in Jenkins Hardware pipeline 2019-02-27 18:42:54 -05:00
Daniel Agar e4b3c8bcc6 tests enable bezier and search_min 2019-02-22 16:23:57 -05:00
David Sidrane 4e792b2487 Update nuttx with backport f7 i2c fix on 7.28+ 2019-02-21 16:07:58 -05:00
Daniel Agar 7a1c8ea8cb Update platforms/posix/src/lockstep_scheduler/CMakeLists.txt
Co-Authored-By: MaEtUgR <maetugr@gmail.com>
2019-02-04 21:31:06 +01:00
Matthias Grob ffb8bb6066 lockstep_scheduler: correct cmake target includes 2019-02-04 21:31:06 +01:00
Daniel Agar 40e42a677b
NuttX cmake support optional compressed defconfigs 2019-01-30 10:54:53 -05:00
Daniel Agar d02685c9f7 cmake nuttx .px4 package fix dependency location 2019-01-29 15:34:36 -05:00
mcsauder dc5f18bdcd ToneAlarm class refactoring to implement an interface for hardware specific methods and a single ToneAlarm class. 2019-01-28 18:58:04 -08:00
Matthias Grob bda60ecfd6 posix main: hotfix for px4 application not exiting anymore
Some threads do not exit and are still running when
trying to exit SITL running under Windows in Cygwin.

This problem was introduced with:
- posix shell #10173 because of strating a child process
for the startup script and mixing up the signal handling
(only Ctrl+C broken)
- lockstep #10648 because of simulator threads not
stopping gracefully anymore with timing race conditions
(no graceful exit possible anymore)

I leave the SIGINT handler on its default implementation for
Cygwin which kills the process and all its threads when pressing
Ctrl+C.

This hotfix at least allows the usage of Ctrl+C again instead
of forcing the user to use the task manager to shut down
px4.exe going crazy on CPU load instead of exiting
everytime.
2019-01-28 09:38:49 +01:00
Daniel Agar 739a02022b position_estimator_inav: move to examples (start deprecation) 2019-01-27 22:15:39 +01:00
David Sidrane dc73dd7bba px4_init:Nuttx support boards without a console 2019-01-25 06:32:37 -08:00
David Sidrane 1ef9b5ed81 Updated Nuttx 7.28+ 2019-01-25 06:32:37 -08:00
David Sidrane 8f308efa88 upstram NuttX CONFIG_EXAMPLES_NSH_CXXINITIALIZE->CONFIG_SYSTEM_NSH_CXXINITIALIZE 2019-01-25 06:32:37 -08:00
David Sidrane e7bf0e03d2 px4_nuttx_tasks:Support future removal of env.
CONFIG_DISABLE_ENVIRON can prevent task having to allocate
   memory for the env.
2019-01-25 06:32:37 -08:00
David Sidrane 91d8c31f7b Custom board naming, removed need for tools/nuttx_defconf_tool.sh 2019-01-25 06:32:37 -08:00
David Sidrane 7ba81fac4b Build copies the boards nuttx-config to build at Nuttx level 2019-01-25 06:32:37 -08:00
David Sidrane d294b40fcb Changes to suport Nuttx c++ lib rename 2019-01-25 06:32:37 -08:00
David Sidrane e505fe859d Update Nuttx and NuttX-apps to 7.28+ 2019-01-25 06:32:37 -08:00
Beat Küng 74a3c378b2 drv_hrt: inline hrt_elapsed_time
GCC did not do that.
2019-01-25 07:53:37 +01:00
Daniel Agar 2ffb49b734 delete px4_includes.h header and update boards/ to use syslog 2019-01-23 18:25:18 -05:00
Lorenz Meier 3a7deefe6e IO firmware: Run critical timing operations as atomic
This is required as we might be in interrupt context on this bare-metal target.
2019-01-22 23:52:57 +01:00
Lorenz Meier c6718a5bca Posix: Add initial stub for atomic HRT
The actual implementation is not atomic, as the value on the application layer would be limited.
2019-01-22 23:52:57 +01:00
Daniel Agar 320d2e9383
create PX4 platform layer initialization helper (#11269)
- starts requirements for PX4 modules (hrt, param, etc)
2019-01-22 14:13:20 -05:00
Beat Küng 4bc59092f4 lockstep_scheduler cmake: spaces -> tabs 2019-01-14 11:08:48 +01:00
Beat Küng 2a47715385 refactor lockstep_scheduler: fix class member naming convention 2019-01-14 11:08:48 +01:00
Beat Küng 828e31d3a9 lockstep_scheduler: optimize performance
- use a linked-list instead of std::vector. Insertion and removal are now
  O(1)
- avoid malloc and use a thread_local instance of TimedWait.
  It gets destroyed when the thread exits, so we have to add protection
  in case a thread exits too quickly. This in turn requires a fix to the
  unit-tests.
2019-01-14 11:08:48 +01:00
Beat Küng ecbe2a3e0b drv_hrt posix: improve performance for hrt_absolute_time()
Previously hrt_absolute_time() was at around 5% of the total CPU usage, now
it's around 0.35%.
2019-01-14 11:08:48 +01:00
Beat Küng ccefc640ac drv_hrt posix: remove unused code and remove locking from hrt_absolute_time 2019-01-14 11:08:48 +01:00
Beat Küng 5f0e6d70c5 lockstep_scheduler: use a static lock in usleep_until
less function calls
2019-01-14 11:08:48 +01:00
Beat Küng e8cbc49f7a lockstep_scheduler: remove timed_waits_iterator_invalidated_
Not required, since the lock is held during the whole loop iteration.
2019-01-14 11:08:48 +01:00
Beat Küng 8cdb65eed9 lockstep_scheduler: simplify LockstepScheduler::cond_timedwait & reduce locking
- the loop is not needed
- we optimize for the fast case and lock only if really needed
2019-01-14 11:08:48 +01:00
Beat Küng 318499f56e lockstep_scheduler: inline get_absolute_time()
This is a small method that is used a lot.
2019-01-14 11:08:48 +01:00
Daniel Agar 195dbf4ab6 NuttX platform remove system (toolchain) stdc++ include path 2019-01-06 19:20:57 -05:00
karliss 6a33b797ac drv_hrt restore dsp_offset and remove unused qurt code (#11139)
- Fixes #11134
2019-01-03 14:58:53 -05:00
Julian Oes 032e64aaf2 px4_sem: set errno, return -1 on any error
- Don't duplicate the ret variable to err.
- Return -1 on any error, 0 otherwise.
- Set errno to return value of pthread_cond_timedwait.
2019-01-01 20:35:42 +01:00
Julian Oes 23653f9f39 lockstep_scheduler: fix return value, remove errno
The API of cond_timedwait was wrong. It used return -1 and set errno
instead of returning the error as specified for pthread_cond_timedwait
which it tries to mock.
2019-01-01 20:35:42 +01:00
Lorenz Meier 0d0a556847 Fix usage of errno in POSIX semaphore error handling
Previous commit 98ae0186e9 changed the err variable to errno, which is not the return value we are looking for.
2019-01-01 20:35:42 +01:00
PX4 Build Bot 0636aff5d5 Update submodule nuttx to latest Sun Dec 23 21:16:39 UTC 2018
- nuttx in PX4/Firmware (faf082fa1876b3f96ff9c07fc91ab8211d274c60): c225d4a691
    - nuttx current upstream: c225d4a691
    - Changes: c225d4a691...c225d4a691
2018-12-23 16:20:30 -05:00
David Sidrane d676325ea5 Update Nuttx with env out of memory fix 2018-12-22 19:09:49 +01:00
Julian Oes 8486b2b917 tests: properly disable shutdown test for Cygwin 2018-12-22 10:32:18 +01:00
Julian 0601214806 tests: disable shutdown and hysteresis for Cygwin
It seems that the hysteresis test fails every now and then, presumably
due to timing issues. The tests needs some improvements, e.g. isolating
it from the system time.
2018-12-22 10:32:18 +01:00
Julian Oes ffb73f6496 platforms: fix redefinition for QURT 2018-12-22 10:32:18 +01:00
Julian Oes 14e5ebbbbc platforms: fix clock build for macOS (yet again) 2018-12-22 10:32:18 +01:00
Julian Oes 06c5037025 platforms: use CLOCK_MONOTONIC
For the non-lockstep case we want to use CLOCK_MONOTONIC if possible.
2018-12-22 10:32:18 +01:00
Julian Oes 547dd8511b platforms: use define for lockstep scheduler
Instead of using the define __PX4_POSIX_SITL it makes more sense to have
a define just to determine if the lockstep scheduler should be used.
2018-12-22 10:32:18 +01:00
Julian Oes 5280a4aba1 platforms: prevent wrap-arounds in px4_sleep
@bkueng found that the old implementation was likely to wrap-around
given seconds is only a uint32_t. We now cast it directly to uint64_t
and therefore should fix this problem.
2018-12-22 10:32:18 +01:00
Julian Oes 4efe4b0d15 platforms: reorg after rebase on new board config
The new board config changed everything, so I needed to move the
lockstep_scheduler repo.
2018-12-22 10:32:18 +01:00
Julian Oes 6d273f3bd8 px4_layer: modernize warnings 2018-12-22 10:32:18 +01:00
Julian Oes c24f6ef943 platforms: lockstep_scheduler ain't no submodule 2018-12-22 10:32:18 +01:00
Julian Oes 357870377a platforms: try to get submodule checked out 2018-12-22 10:32:18 +01:00
Julian Oes e41518a08b platforms: clean up various build/linking issues
This makes sure lockstep is only built for SITL builds and fixes the
existing builds.
2018-12-22 10:32:18 +01:00
Julian Oes d75389b2e4 platforms: consolidate latency_buckets
These symbols were duplicated all over the place.
2018-12-22 10:32:18 +01:00
Julian Oes 843033d530 platforms: remove unused function 2018-12-22 10:32:18 +01:00
Julian Oes 98ae0186e9 px4_sem: use px4_sem on all POSIX system
This uses the "fake" px4_sem based on mutex and condition_variable on
all POSIX system, not just macOS and Cygwin. This means that we can
change px4_sem_timedwait under the hood and inject the simulated time.
2018-12-22 10:32:18 +01:00
Julian Oes 3e6e1f5c2b POSIX: use lockstep_scheduler to fake time
This integrates the lockstep_scheduler, so that the system time is set
by the mavlink HIL_SENSOR message.

This means that the speed factor is removed and the speed is entirely
given by the simulator.
2018-12-22 10:32:18 +01:00
Julian Oes f0ce300744 platforms: move latency_buckets to perf.c 2018-12-22 10:32:18 +01:00
Julian Oes fa8ac612ab POSIX: use C++ for drv_hrt (file was renamed) 2018-12-22 10:32:18 +01:00
Julian Oes 5df333fa96 POSIX: include lockstep_scheduler in build 2018-12-22 10:32:18 +01:00
Julian Oes fa31d95fd8 Renamed drv_hrt.c to drv_hrt.cpp 2018-12-22 10:32:18 +01:00
Julian Oes db6de38b19 Work in progress to support a speed factor in SITL
These contains some rough changes trying to get SITL to speed up by a
SPEED_FACTOR.

This platform time code probably requires some more thought and refactor
but this gets a demo at 4x working.
2018-12-22 10:32:18 +01:00
Julian Oes 5b9dea5604 Replacing usleep with px4_usleep
This is a step towards isolating time from the system.
2018-12-22 10:32:18 +01:00
TSC21 870c513aad readd CMAKE_RUNTIME_OUTPUT_DIRECTORY install for the posix build 2018-12-13 02:09:31 +00:00
TSC21 a6121e1655 Cmake build: do not change CMAKE_RUNTIME_OUTPUT_DIRECTORY if building with catkin 2018-12-13 02:09:31 +00:00
James Goppert c7eb21be86 Fix catkin/ROS build paths. 2018-12-13 02:09:31 +00:00
Kārlis Seņko c1d50d35d3 Move common shmem parameter declarations to shmem.h. 2018-12-11 09:21:15 -05:00
Kārlis Seņko 859b242cb8 Fix some dynamic linking errors.
_Stof, bsearch, param_find_changed
2018-12-11 09:21:15 -05:00
Daniel Agar fd8fe29ef3 vscode update targets and gdb debugging 2018-12-05 15:58:41 -05:00
PX4 Build Bot a922d4e70e Update submodule nuttx to latest Wed Dec 5 00:37:51 UTC 2018
- nuttx in PX4/Firmware (eddfa7421c4ca2eb0969498093e09fa834e920bd): 166d898c70
    - nuttx current upstream: d07a1d459e
    - Changes: 166d898c70...d07a1d459e

    d07a1d4 2018-12-04 Beat Küng - [REJECTED] arm/include/math.h: remove _PARAMS macro (#42)
2018-12-04 22:57:01 -05:00
Daniel Agar 1f8c0e79e8 cmake toolchains force cache cpu flags and don't append
- these flags were accumlating on top of each other anytime cmake had to reconfigure
2018-12-04 19:45:46 -05:00
Daniel Agar dbee6380ee cmake move custom upload helpers to boards/ 2018-12-04 19:45:46 -05:00
Daniel Agar 1efad64f0c bebop move flow driver to board directory 2018-12-04 01:06:54 -05:00
Daniel Agar d4e06e517a delete drv_gpio.h, modules/gpio_led, and fmu GPIO ioctls 2018-12-03 16:30:39 +01:00
Daniel Agar 91721f2060 cmake update NuttX bloaty_compare_master helper to use new paths 2018-11-28 16:40:12 -05:00
Daniel Agar 48df19c8df move dyn_hello to examples and restore testing 2018-11-26 14:40:14 -08:00
Daniel Agar e45e7aa8a6 move posix/tests/hello to examples/hello and include everywhere 2018-11-26 14:40:14 -08:00