- 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)
- this relative path was incorrect for the px4io when using the Makefile generator and built for inclusion within another build (eg px4_fmu-v5_default)
* 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>
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.
- 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
- 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)