1109 Commits

Author SHA1 Message Date
Daniel Agar
b8fb5dfa51
merge px4_sitl_ign into px4_sitl_default (#20188)
- for convenience merge px4_sitl_ign into px4_sitl_default, but allow simulator_ignition_bridge to quietly skip inclusion if ignition-transport isn't available
 - simulator_ignition_bridge only try setting the system clock in
lockstep builds
 - this simplifies usage and CI system dependencies
2022-09-10 16:18:02 -04:00
Daniel Agar
9d1aeb6aa7 platforms/posix: cleanup macos legacy 2022-09-09 13:05:06 -04:00
Daniel Agar
ce337a3d80 delete unused PWM IOCTLs 2022-09-09 09:14:09 -04:00
Daniel Agar
5dd1e5a018 delete systemcmds/mixer 2022-09-09 09:14:09 -04:00
Julian Oes
6bd020e848 platforms: decrease flash usage by type for bus id
My assumption is that the bus are numbered < 127.
This saves about 100 bytes of flash.
2022-09-08 20:54:19 -04:00
Ville Juven
9c204774f1 px4_userspace_init: Fix NULL dereference for px4_spi_buses in user space
For targets that define the SPI buses via px4_spi_buses_all_hw, a call
to px4_set_spi_buses_from_hw_version() is needed. Otherwise a NULL
de-reference will occur when trying to access px4_spi_buses.

Fixes a system crash in px4_fmu-v5_protected:
up_assert: Assertion failed at file:armv7-m/arm_memfault.c line: 101 task: wq:lp_default
2022-09-08 07:05:11 +02:00
Ville Juven
9ed35debec board_ctrl: Clean up usage of VBUS, nARMED from user/kernelspace
Move logic implemented in the header files to source files, this way
it will be simpler to define which is compiled to kernel space and
which to user space

Also allows to remove some headers that pull in half the universe
from the board definitions (which should just be pin definitions and
no functionality)
2022-09-05 07:37:28 +02:00
Daniel Agar
f66b5ce204
simulation: ignition bridge allow IMU or pose callbacks to update system time if newer than clock
* requires HRT lockstep changes to eliminate offset (PR #20146)
2022-09-01 20:42:21 -04:00
Daniel Agar
c52f2143d2 posix lockstep remove HRT offset and use full sim time 2022-09-01 20:40:37 -04:00
Beat Küng
1370cc0d74 log.h: add PRINTF_LOG option for direct printf to reduce dependencies 2022-09-01 17:07:23 -04:00
Jukka Laitinen
d6a4e158cf Add call-gates to px4_crypto for protected build
This adds kernel-userspace interfaces to crypto layer

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-08-31 09:48:49 +02:00
Beat Küng
ad222760dd platforms: move CONFIG_FS_PROCFS_MAX_TASKS definition to cpuload.h
So it's used for both cases
2022-08-25 22:02:15 -04:00
Beat Küng
4230eee24f commander: print 'ready for takeoff' to console for sitl after startup 2022-08-25 22:02:15 -04:00
Beat Küng
c95192d050 orb_print_message_internal: handle 64 bit bitsets 2022-08-25 22:02:15 -04:00
Beat Küng
04f7df3848 SubscriptionMultiArray: use Subscription instead of SubscriptionInterval
Saves ~3KB RAM on fmu-v5.
2022-08-25 22:02:15 -04:00
Ville Juven
f60f6d2425 Remove px4_work_queue from the kernel side LD command
The comment is right, it is not needed -> get rid of it
2022-08-25 13:30:11 -04:00
Daniel Agar
4040e4cdf2 simulation organization and cleanup
- new modules/simulation directory to collect all simulators and related modules
 - new Tools/simulation directory to collect and organize scattered simulation submodules, scripts, etc
 - simulation module renamed to simulator_mavlink
 - sih renamed to simulator_sih (not a great name, but I wanted to be clear it was a simulator)
 - ignition_simulator renamed to simulator_ignition_bridge
 - large sitl_target.cmake split by simulation option and in some cases pushed to appropriate modules
 - sitl targets broken down to what's actually available (eg jmavsim only has 1 model and 1 world)
 - new Gazebo consistently referred to as Ignition for now (probably the least confusing thing until we fully drop Gazebo classic support someday)
2022-08-25 09:10:03 -04:00
Ville Juven
213d5dac2a platforms/nuttx: Fix hard coded path for karch library
Use CONFIG_ARCH instead of arm
2022-08-23 21:05:41 -04:00
Daniel Agar
cfc579542e
new Ignition Gazebo simulation interface architecture (#20057)
- much simpler direct interface using Ignition Transport 
 - in tree models and worlds
 - control allocation output configuration, no more magic actuator mapping to mavlink and back
 - currently requires no custom Gazebo plugins (keeping things as lightweight and simple as possible)

Co-authored-by: Jaeyoung-Lim <jalim@ethz.ch>
2022-08-22 10:58:19 -04:00
Thomas Debrunner
44a18acd51
Fix race condition in px4io serial driver (#20005)
* px4io: prevent memory corruption on corrput io data

* px4io_serial: Prevent race between handling wait timeout case and interrupt posting semaphore
2022-08-18 17:46:47 +02:00
Beat Küng
4d60fadc05 ROMFS: set control allocation parameters for sitl airframes
Removes some airframes:
- if750a
- solo
- iris_ctrlalloc
- typhoon_h480_ctrlalloc
2022-08-12 09:43:12 +02:00
David Sidrane
cd971948da NuttX Backport critical F7 Ethernet issues 2022-08-12 08:22:55 +02:00
Hamish Willee
30e2490d5b
Docs are now in user guide and main (#19977)
* Fix links to docs in source to point to docs on main not master

* More docs and scripts that need to point to main
2022-08-01 11:39:39 +10:00
Peter van der Perk
c566fb414b S32K1XX add dummy iwdg driver 2022-07-31 11:21:41 -04:00
Hamish Willee
e6eed43648
Spelling errors (#19935) 2022-07-27 14:33:16 +10:00
Jukka Laitinen
026bd073b5 Don't error on CONFIG_CRYPTO_RANDOM_POOL not defined
px4_secure_random can be implemented also outside NuttX for some platform

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-07-21 08:08:14 +02:00
Beat Küng
f22dc80ecc system: add missing includes (added indirectly via visibility.h for normal builds) 2022-07-20 01:14:04 -04:00
Peter van der Perk
47aaa38d5f Added DroneCAN SocketCAN driver Skeleton 2022-07-20 01:12:43 -04:00
Roman Dvořák
ed14151734
Update Flight-gear bridge, Add support of TF-G2 autogyro flight-gear model (#19122)
* Add Transfer of RPM from FG to PX4,
	-switch FG_bridge module to ThudnderFlyaerospace

* Add TF-G2 flightgear sim target

* Add simulator support, fix astyle

* Update SITL TF-G2 airframe, update fg bridge

Co-authored-by: Vit Hanousek <vithanousek@seznam.cz>
2022-07-19 09:11:44 +02:00
Daniel Agar
a73efd9c4f NuttX carry minimal c++ cmath (replacing Matrix stdlib_imports.hpp) 2022-07-12 08:05:06 -04:00
Beat Küng
6f8663ac62 mcp23009: add drivers__device cmake dependency
needed for device::I2C
2022-07-06 07:50:18 -04:00
Igor Mišić
dff946c39a usr_mcu_version: add missing headers 2022-07-05 09:29:26 +02:00
Igor Mišić
4b503c310e Merge PR #19575 (changes to pr-extendend_hw_ver_rev_format)
- 4096 of 3 hex digits each for rev and ver is enough.
    #defines used in SPI versions do not be long format, use use the macro
 - Board provides a prefix and the formatting is sized and built in
 - No need for funky board_get_base_eeprom_mtd_manifest interface
    Original mft is used where the abstraction is done with the MFT interface

Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
2022-07-05 09:29:26 +02:00
David Sidrane
00e82c9060 board_hw_eeprom_rev_ver:Versioning hierarchy 2022-07-05 09:29:26 +02:00
Igor Mišić
ec1614d156 boards: update id string from V5X{0-a}{0-a} to V5X{xxxx}{xxxx}
boards: new format for hwtypecmp string
boards: update manifest.c to follow the new hw_ver_rev format
2022-07-05 09:29:26 +02:00
David Sidrane
49d63958a8 platforms/common/spi:Support 16 bit of VER and REV 2022-07-05 09:29:26 +02:00
Igor Mišić
b938215c2b board_hw_info: add set and get functions for hw_version to/from eeprom 2022-07-05 09:29:26 +02:00
Igor Mišić
cc63c49a51 px4_manifest: add function declaration for get base EEPROM mtd 2022-07-05 09:29:26 +02:00
Igor Mišić
3463b725a5 px4_manifest: fix px4_mft_s to accept multiple manifests 2022-07-05 09:29:26 +02:00
Igor Mišić
432b664acc px4_mtd: fix instantiation for multiple mtds 2022-07-05 09:29:26 +02:00
Igor Mišić
08a9e49f3e px4_mtd: update eeprom at24c driver to initialize multiple instances 2022-07-05 09:29:26 +02:00
Daniel Agar
c9b6047124
platforms/nuttx/CMakeLists.txt add STM32H743VI SVD/debug 2022-07-03 11:38:01 -04:00
Bruce Meagher
714234ca90
posix: add mavlink shell for posix targets (#19800) 2022-06-20 11:51:47 +02:00
Thomas Debrunner
46c9d1e288
SIH in SITL with lockstep (#19028)
* sih: Move sih out of work queue
This reverts commit bb7dd0cf0016ac1998a79814ec52b15079a74c1a.

* sih-sim: Enable sih in sitl, together with lockstep

* sih-sim: new files for sih: quadx and airplane

* sih: Added tailsitter for sih-sitl simulation

* sitl_target: Added seperate target loop for sih

* jmavsim_run: Allow jmavsim to run in UDP mode

* lockstep: Post semaphore on last lockstep component removed

* sih-sim: Added display for effectively achieved speed

* sih: increase stack size

* sih-sim: Improved sleep time computation, fixes bug of running too fast

* sitl_target: place omnicopter in alphabethic order

Co-authored-by: romain-chiap <romain.chiap@gmail.com>
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2022-06-09 09:52:34 +02:00
Jaeyoung-Lim
bf68d3433e Add omnicopter SITL model
F
2022-06-04 07:40:29 +02:00
Daniel Agar
0420d697e5 update NuttX and apps to latest with sem holder fixes and updated ostest 2022-05-29 13:41:16 -04:00
David Sidrane
645f4c3428 flash_cache:Flush complete cache line 2022-05-27 14:25:25 -04:00
David Sidrane
9d0e57230a
boards: new px4_fmu-v6c board support (#19544) 2022-05-20 15:49:06 -04:00
Daniel Agar
15296ab453 cmake: NuttX check that CONFIG_ARCH_BOARD_CUSTOM_DIR is in PX4_BOARD_DIR 2022-05-09 15:23:18 -04:00
Daniel Agar
6f87a4546d platforms/nuttx: cdc_acm_check implement mavlink reboot directly 2022-04-22 21:16:07 -04:00