264 Commits

Author SHA1 Message Date
Jaeyoung-Lim
4f30037980 Add yosemite world as SITL target for gazebo
This commit adds yosemite world as a SITL target for gazebo
2020-12-27 12:53:25 -05:00
Daniel Agar
092060cde2
posix: improve error out for mlockall() and pthread_create
- add strerror
 - mlockall skipped in lockstep builds (ENABLE_LOCKSTEP_SCHEDULER)
2020-12-27 12:43:32 -05:00
Dan George
051bcf75b3
Fix PX4_CMAKE_BUILD_TYPE=Debug configuration
Set CMAKE_RUNTIME_OUTPUT_DIR_DEBUG & _RELEASE to match
CMAKE_RUNTIME_OUTPUT_DIR as is already done in top level CMakeLists.txt.

Fixes Issue 16445 - px4-alias.sh: not found

Co-authored-by: Dan George <dgeorge@anduril.com>
2020-12-24 19:02:07 -05:00
Daniel Agar
43b4cf39bd
sitl_gazebo build single threaded
- building sitl_gazebo in parallel within a parallel PX4 build isn't load balanced
2020-12-16 19:45:08 -05:00
Julian Oes
dba3c642d2 posix: set task name as argv[0] to match Nuttx
This changes px4_task_spawn_cmd to match the NuttX task_spawn. It adds
the task name as argv[0]. See example below:

px4_task_spawn_cmd("task_name",
		   SCHED_DEFAULT,
		   SCHED_PRIORITY_DEFAULT,
		   1024,
		   (px4_main_t)&Something::start_helper,
		   (char *const *)argv);

with:

argv[0]: "something"
argv[1]: "start"
argv[2]: nullptr

becomes in Something::start_helper:

argv[0]: "task_name"
argv[1]: "something"
argv[2]: "start"
argv[3]: nullptr
2020-12-14 09:26:18 +01:00
Julian Oes
5be2066e1a posix: small cleanup 2020-12-14 09:26:18 +01:00
SalimTerryLi
ad4068f472
platforms/posix: mlockall() support
* add basic mlock support to increase stability when system is under high load and RAM is almost full
 * mainly about minimizing or completely eliminating RAM page swap time
2020-11-15 23:53:10 -05:00
SalimTerryLi
6728a3a05a
boards: rename AirPi2 to PilotPi, add arm64 support, add to CI
* rename all
* add arm64 support
* change internal ist8310 onto I2C-1
2020-11-10 11:04:47 -05:00
Daniel Agar
38fbb452da vscode add navio2 variant and native debug launch 2020-11-10 10:38:46 -05:00
Thies Lennart Alff
82988b1912
airframes: added BlueROV2 (heavy configuration) airframe (#16004) 2020-10-28 11:07:31 +01:00
Beat Küng
d2644a3bf7 distance_sensor/sf0x: rename to lightware_laser_serial 2020-10-22 11:30:50 -04:00
Jaeyoung-Lim
3c20580533 Add support for malolo flying wing in JSBSim SITL
This commit adds SITL target for malolo flying wing and updates the jsbsim_bridge submodule to include the necessary changes.
2020-10-16 13:31:09 +02:00
David Sidrane
d4ae3985b3 px4-alias.sh_in:Remove source and add R=${pwd}
px4-alias.sh_in:Remove sh alias
2020-10-15 17:11:08 -04:00
JaeyoungLim
85e8c4801b
Add techpod SITL Gazebo target (#15919)
* Add techpod SITL target

This adds a SITL target forthe techpod fixedwing model

* Update sitl_gazebo submoudle

This submodule update includes the techpod UAV model
2020-10-09 16:20:01 +02:00
Daniel Agar
08bf71b73d
drivers/tone_alarm and tune_control small improvements/cleanup
- drivers/tone_alarm: move to ModuleBase and purge CDev (/dev/tone_alarm0)
 - drivers/tone_alarm: only run on tune_control publication (or scheduled note) rather than continuously
 - drivers/tone_alarm: use HRT to schedule tone stop (prevents potential disruption)
 - msg/tune_control: add tune_id numbering
 - systemcmds/tune_control: add "error" special case tune_id
 - move all tune_control publication to new uORB::PublicationQueued<>
 - start tone_alarm immediately after board defaults are loaded to fix potential startup issues
 - for SITL (or other boards with no TONE output) print common messages (startup, error, etc)
2020-10-05 21:39:26 -04:00
Daniel Agar
bbdc57a662 cmake: remove sitl_gazebo build -j2
- allow ninja build to automatically determine parallelism
2020-09-24 15:56:57 -04:00
JaeyoungLim
458420f9cb
Add jsbsim bridge to enable jsbsim for px4 SITL on jsbsim (#15748)
* Add jsbsim bridge to enable jsbsim for px4 SITL/HIL on jsbsim

This is a PX4 HIL/SITL integration into JSBSim. JSBSim is an open source flight dynamics model (http://jsbsim.sourceforge.net/)

Currently there are three models available which is the rascal, quadrotor_x, hexarotor_x integrated into the bridge.

The simulation can be run with the firmware with the following command for example
```
make px4_sitl jsbsim_rascal
```

The visualization is done flightgear and is done by the bridge sending UDP packets to flightgear. To disable the visualization `HEADLESS=1` when running the make command.

The simulation can be configured through the configuration files under the `config` directory through a xml file. Senor configurations,  The xml file name should match the name of the model.

* Update Tools/sitl_run.sh

Co-authored-by: Beat Küng <beat-kueng@gmx.net>

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-09-17 20:32:42 +02:00
David Sidrane
6e1078c96e NuttX-Posix least bad LGD
Nuttx now supports sh and source (.)
   sh will open a new process for each invocation.
   This means the child can not modify the parent
   env. So we must use . to matain how nuttx worked.

   Since rc.vehicle_setup is used in both we use
   source and alis as we did with sh.
2020-09-16 21:32:04 -04:00
Daniel Agar
2b18b05a8a
vscode updates and improvements
- fix gazebo SITL debug
     - now prompts you to select vehicle
 - devcontainer.json container support https://code.visualstudio.com/docs/remote/containers
     - this allows you to jump straight into working within a container (px4-dev-nuttx) on a fresh machine
     - also helps with Codespaces https://github.com/features/codespaces
 - plugin updates
    - cpp extension pack, spell checking, CTest support
 - cleanup intellisense
     - the backup tag parser was a resource hog and didn't work very well
 - fix problemMatcher support so that you can click on a build failure
2020-09-16 09:07:54 -04:00
Daniel Agar
0e9a4cc65f boards: px4/sitl sync all build variants and fix none default package 2020-09-15 21:13:04 -04:00
Beat Küng
809d05053b posix: add support for ROMFSROOT
- add missing ROMFS files to CMakeLists.txt
- rename genromfs to etc, so that it's clearer for SITL use
2020-09-15 09:30:16 +02:00
Daniel Agar
023f6d3983
NuttX cpuload monitoring optimization
- Nuttx only process all suspend & resume scheduling notes when top is running, otherwise only track IDLE
 - convert cpuload and print load to c++
 - delete unused fields from print_load struct
 - update hrt_store_absolute_time (previous unused)
2020-09-05 14:35:50 -04:00
oneWayOut
71f381ada9 add gazebo VTOL tiltrotor debug target for VSCode SITL 2020-09-02 11:41:01 -04:00
Daniel Leonard Robinson
fa4818e467
vehicles: add new vehicle type: Airship (#14862)
Co-authored-by: Anton Erasmus <anton@flycloudline.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-08-10 08:52:51 +02:00
Daniel Agar
b6a17a6538
new IntrusiveSortedList container used for uORB, WorkQueues, and WorkItems
- new intrusive linked list container (c++ template) that sorts on insertion
 - primarily for convenience inspecting things in the system like uORB or WorkQueues
 - uorb status or top sorted alphabetically 
 - work_queue status threads sorted by priority, then items sorted alphabetically within each
2020-08-04 11:09:41 -04:00
Daniel Agar
6bdcca6a85 systemcmds/tests: add simple atomic microbenchmark 2020-07-10 10:59:50 -04:00
JaeyoungLim
692cb717b7
Add windy world target (#14737) 2020-07-02 15:49:09 +02:00
Beat Küng
5378d1468f lockstep_scheduler: add generic lockstep component API
allows components to register and ensure the lockstep cycle waits for
all components to be updated.
2020-06-23 11:53:55 -04:00
Beat Küng
55d06241b3 fix unit tests: do not stub pthread_cond_wait
and fix the tests instead.
Some unit tests depend on pthread_cond_wait to work as expected.
2020-06-23 11:53:55 -04:00
Beat Küng
283453b3a5 px4-alias.sh_in: allow for spaces in 'set' alias
Required for expressions like:
set LOGGER_ARGS "${LOGGER_ARGS} -f"
2020-06-23 11:53:55 -04:00
Daniel Agar
32887193d6
systemcmds/tests: remove autodeclination test (moving to PX4/ecl) 2020-06-23 10:34:25 -04:00
Daniel Agar
6b343c1f5e
cmake: sitl_gazebo build limit to 2 cores (-j2) 2020-06-18 20:10:25 -04:00
TSC21
6add0fff7f add iris_dual_gps config and the possibility of testing GPS blending through simulation 2020-06-16 09:57:05 +01:00
Daniel Agar
746a8f5cf9 commander: reboot/shutdown usability fixes
- always check with state machine before reboot/shutdown
 - respect BOARD_HAS_POWER_CONTROL (shutdown from command, low battery, power button)
 - px4_shutdown_request add optional delay and always execute from HPWORK
 - px4_shutdown_request split out px4_reboot_request
2020-05-06 13:53:54 -04:00
kritz
33dc0fd146
Add vision velocity integration test (#14818) 2020-05-05 11:14:30 +02:00
JaeyoungLim
cae28cd59a
Add aion robotics r1 rover sitl target (#14652)
This adds a sitl target and aiframe configs for the r1_rover, which is a differential rover example for SITL rover. The model is based on the aion robotics r1 rover
2020-05-05 11:07:02 +02:00
Jakub Kákona
dfa5ca1710
FlightGear simulator support (#14539)
- Add flightgear_bridge submodule.
- Add traget px4_sitl_nolockstep with disabled  LOCKSTEP simulation.
- Add flightgear viewer targets and startup scripts
- Add a few possible vehicles plane (rascal), autogyro (tf-g1), and rover (tf-r1))

Co-authored-by: Vit Hanousek <vithanousek@seznam.cz>
2020-04-29 08:46:59 +02:00
JaeyoungLim
75054f11df
Add px4vision sitl target
- Use px4vision parameters
2020-04-20 18:08:41 -04:00
JaeyoungLim
6e18cb85b1 Add plane lidar model
Add model that can test terrain estimated landing
2020-04-19 17:09:42 -04:00
mcsauder
6548fde024 Whitespace cleanup to quiet new blank line at EOF git hook. 2020-04-15 23:00:39 -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
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
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
JaeyoungLim
e2d2ae29a9 Add sonoma raceway world 2020-03-24 19:32:12 +00: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
SalimTerryLi
b70289c536 move __PX4_LINUX out of px4_impl_os.cmake 2020-03-17 13:20:32 -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
Daniel Agar
9585055e9e
uORB: add bitset for faster orb_exists check and remove uORB::Subscription lazy subscribe hack/optimization
- add PX4 bitset and atomic_bitset with testing
 - add uORB::Subscription constructor to take ORB_ID enum
 - move orb test messages into msg/
2020-03-11 09:06:33 -04:00
Beat Küng
af15c7d945 i2c+spi: extend hw_description for I2C + SPI 2020-03-10 10:11:43 -04:00