650 Commits

Author SHA1 Message Date
David Sidrane
99ef597719 Nuttx with backport of stm32h7:SDMMC fix unaligned access 2022-09-29 07:56:46 +02:00
Ville Juven
59e86c490d Remove include <log.h> from defines.h
The reason for this is that log.h includes drv_hrt.h which sucks in
half the project's include files with it, which causes strange build
issues
2022-09-29 07:56:24 +02:00
Ville Juven
3b9936edd2 hrt_ioctl: Move common code under /common folder
The HRT ioctl is common code, so move it out of chip specific code
2022-09-15 17:57:40 -04:00
Ville Juven
328bc5b8c2 image_toc.c: Check that the ToC actually lies within the first entry
As the first entry is used to sign / authenticate the ToC, make sure
the ToC is actually in the first entry.
2022-09-15 13:32:08 -04:00
Junwoo Hwang
f5215e8207 board_identity: Fix UUID format function buffer overflow bug
- Previously, not having a proper boundary check caused overflows in the
buffer (wrong memory access)
- Moreoever, negative size values getting introduced to snprintf &
strncat were also being truncated to unsigned value, hence causing
overflow, so index check needed to be added before both functions
- Fixed typo in board_common.h
2022-09-15 13:06:15 -04:00
Daniel Agar
ce337a3d80 delete unused PWM IOCTLs 2022-09-09 09:14:09 -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
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
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
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
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
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
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
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
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ć
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
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
David Sidrane
1a17e9df4d board_hw_rev_ve:Use 97.50% for ADC ref for "High" detection 2022-03-22 21:15:03 -04:00
David Sidrane
ebc8ecdee6 board_hw_rev_ve:ADC returns 32 bits 2022-03-22 21:15:03 -04:00
David Sidrane
1c224be8f6 stm32h7:ADC fix CCr Access 2022-03-22 21:15:03 -04:00
Jukka Laitinen
4658a627d7 Separate i2c and spi board bus configuration into and own library for protected build target
This info is needed on both kernel and user sides, and is just data.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-03-17 08:01:51 +01:00
Jukka Laitinen
005095d199 Add gran allocator also to user side in protected build
This is needed for DMA capable memory for fat also in the user side;
the file system doesn't seem to work reliably without.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-03-17 08:01:51 +01:00
Jukka Laitinen
c43c71f4af platforms/nuttx/src/px4/common/board_ctrl: Add handlers for vbus & shutdown lockout
Add kernel side ioctls and handlers for vbus state and managing shutdown lockout

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-03-17 08:01:51 +01:00
Jukka Laitinen
4a74d266be Initialize cxx static variables also in kernel side
For protected/kernel builds the cxx static initializations
needs to be done also in kernel side, since px4 creates
c++ objects in kernel

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-03-17 08:01:51 +01:00
Jukka Laitinen
c1a7b8df1d Add a px4 userspace initialization in protected build
The px4_userspace_init function is called from userspace
entrypoint before starting NSH

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-03-17 08:01:51 +01:00
Jukka Laitinen
0d31aadcc3 src/lib/paramters: Add a new interface library for protected build user side
Implement an interface for protected build to access parameters.

The implementation only does IOCTL calls to the kernel, where the parameters
live.

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-03-15 07:52:26 +01:00
Daniel Agar
52221b0bb7
vscode: add stlink debug config (#19269)
Co-authored-by: Jacob Crabill <jacob.crabill@gmail.com>
2022-03-01 09:47:22 -05:00
Jukka Laitinen
aae0876d82 platforms/rpi: Clean away the removed hrt_elapsed_time_atomic
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-02-25 13:35:14 +01:00
Jukka Laitinen
77f71e61d2 Add a generic hrt driver userspace interface
This adds a nuttx userspace interface for hrt driver, communicating with
the actual px4 hrt driver via BOARDCTL IOCTLs

This is be used when running PX4 in NuttX protected or kernel builds

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-02-25 13:35:14 +01:00
Jukka Laitinen
9f049b4dca Inline ts_to_abstime and abstime_to_ts
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2022-02-25 13:35:14 +01:00
Charles Cross
f31f3370ef
Add support for Timer15 on H743 boards (#19228)
* Adds Timer15 to stm32_common, if the timer base is defined
* Adds Timer15 logic for DMA and AltFunc config on stm32h7 boards
* Adds TIM15 BDTR->MOE support in stm32_common timer init
* Adds support for TIM15 pwm channels on Matek H743 Slim
2022-02-21 16:52:38 -05:00
David Sidrane
c0facec889 cdc_acm_check:Prevent USB disconect on param save
If the hardware support RESET lockout that has nArmed ANDed with VBUS
   vbus_sense may drop during a param save which uses
   BOARD_INDICATE_EXTERNAL_LOCKOUT_STATE to prevent external resets
   while writing the params.  If we are not armed and nARMRED is low
   we are in such a lock out so ignore changes on VBUS_SENSE during this
   time.
2022-02-21 10:56:41 +01:00