Commit Graph

594 Commits

Author SHA1 Message Date
Beat Küng d3dd5e9da1 i2c_spi_buses: improve info output for external buses 2020-04-24 12:59:50 +02:00
JaeyoungLim 75054f11df
Add px4vision sitl target
- Use px4vision parameters
2020-04-20 18:08:41 -04:00
Beat Küng 3177b8d763 fix nuttx submodule: point to px4_firmware_nuttx-8.2 branch 2020-04-20 10:07:45 +02:00
JaeyoungLim 6e18cb85b1 Add plane lidar model
Add model that can test terrain estimated landing
2020-04-19 17:09:42 -04:00
Daniel Agar a3ad710623
restore UAVCAN bootloader support
- essentially reverting #7878 minus the obsolete board support
2020-04-19 16:10:09 -04:00
Beat Küng 4817e299f1 nuttx: update submodule 2020-04-16 14:39:16 -04:00
mcsauder 6548fde024 Whitespace cleanup to quiet new blank line at EOF git hook. 2020-04-15 23:00:39 -04:00
Daniel Agar 66eacd24bc
px4_fmu-v5_stackcheck: update stack sizes and add to Jenkins
- increase stack sizes to run cleanly under stackcheck
     - this is likely overkill for most boards, but using stackcheck to set our minimum ensures we have a very safe margin on regular builds and it's something we can currently afford
 - remove holybro_durandal-v1_stackcheck from test rack (there's only one unit)
2020-04-11 21:16:10 -04:00
Julian Oes 474c3c45f0 platforms: don't catch floating point errors
When this triggered it actually just kept printing
"floating point exception" and never recovered. By removing this we can
at least catch it with a core dump, in CI as well as locally.
2020-04-10 14:55:18 +02:00
Daniel Agar b64a5783bb
Update submodule NuttX-apps to latest Thu Apr 9 20:22:38 UTC 2020
- NuttX-apps in PX4/Firmware (cf2b0a47ce64ea50e9539689b1b704cd536b9558): 91b6ad6a0d
    - NuttX-apps current upstream: 95e105548a
    - Changes: 91b6ad6a0d...95e105548a

95e10554 2020-03-30 Peter van der Perk - [Backport] Add CONFIG_NET_CAN support to netinit.c
e17eeb31 2020-03-28 Peter van der Perk - [Backport] netutils SocketCAN suport & candump, cansend tool
2020-04-09 17:18:33 -04:00
PX4 BuildBot 3d27c7313c Update submodule nuttx to latest Tue Apr 7 03:33:04 UTC 2020
- nuttx in PX4/Firmware (3cee71918ad35d155fcdd5f32770dad98619eb84): 09f0aee352
    - nuttx current upstream: ec417d7466
    - Changes: 09f0aee352...ec417d7466

    ec417d7466 2020-04-06 Peter van der Perk - [Backport] FMUK66 SocketCAN driver & Configurable Bitrate support
a3132cf3b7 2020-03-30 Peter van der Perk - [Backport] SocketCAN support
2020-04-07 00:16:52 -04:00
Jacob Dahl d682ddb510
UAVCAN differential pressure sensor support
* added airspeed handling (differential pressure) to uavcan and uavcannode

Co-authored-by: Jacob Crabill <jacob@flyvoly.com>
2020-04-07 00:15:31 -04:00
Daniel Agar da383064c6 NuttX update with STM32H7 SPI DMA support
- holybro durdandal enable SPI DMA
2020-04-06 22:08:45 -04:00
AlexKlimaj d8c140be04
UAVCAN Smart Battery Improvements 2020-04-06 21:09:02 -04:00
Daniel Agar ad559a66a1 examples: add simple work_item example module 2020-04-06 09:43:55 -04:00
Daniel Agar 1d164c0dbd px4_work_queue: sem_wait add loop as the wait may be interrupted by a signal 2020-04-06 10:30:35 +02:00
Beat Küng a556a44a57 i2c_spi_buses: print an error if a driver does not pass the I2C address 2020-03-30 15:55:24 -04:00
JaeyoungLim a938410c15 Add world targets and update submodules
Add world names as make targets and include the worlds by updating the submodules
2020-03-29 13:29:07 +01:00
Matthias Grob 6602e8d16b Support python3 only systems
Ubuntu 20.04 and latest Cygwin come with no Python 2 and no link
from python to python3. To not mess with the system we detect
python3 for seamless support.
2020-03-28 17:02:24 +00:00
Peter van der Perk 9490f41f85 rddrone-uavcan146 removed shared clock between hrt & rtc
Removed non-existing SW2 button
Fixed SW3 button pinmux
Added FlexCAN pin definition
hrt use external sirc clock
rtc use 32khz lpo clock
2020-03-28 06:31:11 -07:00
Peter van der Perk a4e6f96365
rddrone-uavcan146: HRT & RTC timer support 2020-03-25 16:37:28 -04:00
Hyon Lim 0b3624ab5f To make UVify device compatible with upload script, we changed device name to be more generalized. 2020-03-25 16:16:45 -04:00
Daniel Agar efceccd91d posix: micro_hal.h add empty px4_arch_gpiosetevent to build new Invensense drivers on linux 2020-03-25 01:05:38 -04:00
Daniel Agar 404e781cd9 px4_work_queue: increase SPI stack uniformly to silence warnings 2020-03-25 01:05:38 -04:00
JaeyoungLim e2d2ae29a9 Add sonoma raceway world 2020-03-24 19:32:12 +00:00
Beat Küng 7ea8dff8db spi: do not deselect other chip-selects
And make sure on reset & init everything is deselected.

Reduces CPU load on a pixhawk cube by almost 1%.
2020-03-24 09:46:20 -04:00
Beat Küng 1612f4c2ed SPI: disable SPI locking where possible
It's not possible for buses that run both NuttX and PX4 drivers, e.g.
Pixracer.

Reduces CPU load:
- v5x: 2.5%
- v3 (pixhawk cube): 4.4%
2020-03-24 09:46:20 -04:00
Beat Küng 6ad5357d1a SPI+I2C: remove unused defines and printf's 2020-03-24 09:46:20 -04:00
JaeyoungLim 2ef37cd065 Spawn models separately from gazebo models
Detach model spawning process from the world description file, so that the same model can be used with different worlds
2020-03-23 10:55:13 +01:00
Daniel Agar 8738c26426
boards: enable NuttX SPI DMA buffers
- update to NuttX with stm32f4 and stm32f7 SPI DMA internal buffers
 - remove explicit DMA buffer allocations from new IMU drivers
 - restore original BOARD_DMA_ALLOC_POOL_SIZE
 - decrease SPI DMA thresholds based on fmu-v2/v3/v4/v5 bench testing
2020-03-22 19:24:26 -04:00
Daniel Agar b73ec18abb
boards: add px4_fmu-v4 and px4_fmu-v5 optimized (-O3) build variants 2020-03-22 17:50:17 -04:00
SalimTerryLi dc8e775d8f
ADC: replace ioctl with uorb message (#14087) 2020-03-20 11:23:32 +01:00
Beat Küng d6bb5b3b9e i2c spi buses: enforce drivers to set default SPI/I2C bus frequency
Not a lot of drivers use the global default, which is somewhat arbitrary.
2020-03-17 23:31:17 -04:00
Beat Küng a6ddf0e4b9 refactor sf1xx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng dbb53044ce refactor ms5611: use driver base class
Also: remove device type auto-detection as it will not work with
together with the new SPI board config (which specifies a specific
device type)
2020-03-17 23:31:17 -04:00
Beat Küng 83b6f6456b refactor I2CSPIInstance: store running instances in a global linked list
instead of a static per-driver array.

Reduces BSS RAM usage by a couple of 100 Bytes (linear increase with num
drivers).

Downsides:
- a bit more runtime overhead
- less isolation, locking required
- a bit more complex
2020-03-17 23:31:17 -04:00
Beat Küng e7f04109d9 i2c spi init + custom methods: use WorkItemSingleShot
Use it for custom methods as well (like reset), and run by default on the
work queue, since they typically access the bus.
2020-03-17 23:31:17 -04:00
Beat Küng 8c41025565 px4_work_queue: add WorkItemSingleShot
To run a specific method on a work queue and wait for it to return.
2020-03-17 23:31:17 -04:00
Beat Küng 134413233a i2c spi: extend BusCLIArguments to handle common driver arguments 2020-03-17 23:31:17 -04:00
Beat Küng d1f5b23a5a module docs: add PRINT_MODULE_USAGE_PARAMS_I2C_{SPI_DRIVER,ADDRESS}
For SPI/I2C driver default options
2020-03-17 23:31:17 -04:00
Beat Küng f851f65f8d i2c spi: add type to I2CSPIInstance
Needed to distinguish runtime instance types of the same driver (e.g.
bmi055 accel vs gyro).
2020-03-17 23:31:17 -04:00
SalimTerryLi b70289c536 move __PX4_LINUX out of px4_impl_os.cmake 2020-03-17 13:20:32 -04:00
PX4 BuildBot 20a8a0231b Update submodule nuttx to latest Sun Mar 15 12:39:29 UTC 2020
- nuttx in PX4/Firmware (048c47d7e2cc686fdd4037cb33bb86ca0ac62c17): db7fb6b6c0
    - nuttx current upstream: befe53e7f1
    - Changes: db7fb6b6c0...befe53e7f1

    befe53e7f1 2020-03-12 Jari van Ewijk - [BACKPORT] NXP RDDRONE-UAVCAN boards (S32K1XX) - Clean up clock config (#557)
09a23ebf7f 2020-03-12 Jari van Ewijk - [BACKPORT] NXP S32K1XX EVB boards - clock config cleanup (#556)
6c95d5fc33 2020-03-12 Jari van Ewijk - [BACKPORT] NXP S32K1XX peripheral clock fixes (#555)
2020-03-15 13:42:45 -04:00
Lorenz Meier 8a6d444467 Enable Gazebo mock optical flow 2020-03-14 17:50:40 +01:00
Lorenz Meier 76b3c18625 Add dedicated survey camera plane model
This is to allow us to test triggering properly in SITL
2020-03-14 17:50:40 +01:00
Matthias Grob 2dccc0dcfc posix.h: remove duplicate stdint.h include 2020-03-12 17:49:37 +00:00
Daniel Agar f9794e99f8
move hover_thrust_estimator to new module (mc_hover_thrust_estimator)
* MC_HTE: unitialize with hover_thrust parameter
* MC_HTE: constrain hover thrust setter between 0.1 and 0.9
* MC_HTE: integrate with land detector and velocity controller
* MCHoverThrustEstimator: Always publish an estimate even when not fusing measurements. This is required as the land detector and the position controller need to receive a hover thrust value.

* MC_HTE: use altitude agl threshold to start the estimator
local_position.z is relative to the origin of the EKF while dist_bottom
is above ground

Co-authored-by: bresch <brescianimathieu@gmail.com>
2020-03-11 21:20:54 -04:00
David Sidrane 82ab1413fc px4_fmu-v5:Add Manifest Entries for UAVCAN interfaces 2020-03-11 20:36:58 -04:00
Daniel Agar 9cd8bb4f88
sensors: move to WQ
Running the sensors module out of the same WQ thread as the estimator, position, and attitude controllers is a bit safer and prevents potential priority and starvation issues. There is a very small increase in latency (~50 us) between sensors and ekf2 execution (on average). This also saves a little bit of memory (~ 3 kB) and cpu (~1-1.5% depending on the board).
2020-03-11 11:34:04 -04:00
PX4 BuildBot 249ad0ced1 Update submodule nuttx to latest Wed Mar 11 12:38:18 UTC 2020
- nuttx in PX4/Firmware (ac11b36e74e27ef7054d6386f0fce62108b5f614): bf646dcf46
    - nuttx current upstream: db7fb6b6c0
    - Changes: bf646dcf46...db7fb6b6c0

    db7fb6b6c0 2020-03-05 Jari van Ewijk - [BACKPORT] S32K1xx boards - Remove unused files (should have been renamed)
2020-03-11 09:45:00 -04:00