- the purpose is to ensure that every WorkItem (and WorkItems scheduled
by WorkItems) is allowed to run to completion every step
- per workqueue register a lockstep component whenever a work item is
added (if not already registered)
- once the work queue is empty unregister component
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>
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
* 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
On boot, if board_hardfault_init finds a hardfault stored in BBSRAM, it
checks if there is any data available on stdin to see if there is
somebody there to respond to a prompt. But on boards such as cubeorange
where there is not a serial console by default, the ioctl fails and
bytesWaiting is uninitialized. So it will non-deterministally hang the
boot process with no outside feedback if that value is not zero.
Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
There is a platform, NixOS Linux, on which '/bin/bash' is not available.
This commit changes the interpreter to '/usr/bin/env bash' in some
scripts essential to firmware building.
- ekf2 can now run in multi-instance mode (currently up to 9 instances)
- in multi mode all estimates are published to alternate topics (eg estimator_attitude instead of vehicle_attitude)
- new ekf2 selector runs in multi-instance mode to monitor and compare all instances, selecting a primary (eg N x estimator_attitude => vehicle_attitude)
- sensors module accel & gyro inconsistency checks are now relative to the mean of all instances, rather than the current primary (when active ekf2 selector is responsible for choosing primary accel & gyro)
- existing consumers of estimator_status must check estimator_selector_status to select current primary instance status
- ekf2 single instance mode is still fully supported and the default
Co-authored-by: Paul Riseborough <gncsolns@gmail.com>
S32K1XX HRT: Allow any channel of any FTM timer to be used
NXP UCANS32K: Enable additional FlexTimers and use FTM5 for HRT
NXP UCANS32K - Change FTM clocksource to system oscillator
NXP UCANS32K - Only need one FlexTimer and channel for PWM output
NXP UCANS32K will have only one PWM header by default
S32K1XX support FlexTimers beyond FTM3
S32K1XX io_timer.c - replace references to Kinetis
S32K1XX io_timer.c correct register names
S32K1XX input_capture.c and pwm_servo.c replace references to Kinetis
* 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
BOARD_INDICATE_ARMED_STATE was only set during arming, so an external
component might have reset the board during param save, leading to param
loss.
This extends the API to trigger the arming state also while the shutdown
lock is taken.
- 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)