876 Commits

Author SHA1 Message Date
Daniel Agar
0a6045367f
px4io_serial: ensure TX DMA is stopped if exiting early on stream error
- otherwise the next retry can happen quickly enough that dma setup
hangs waiting for the stream
2021-08-31 17:56:00 -04:00
Jukka Laitinen
d1c09ec358
Fix memory corruption when work queue is being deleted
When the last WorkItem is deleted, it is removed from a work queue and the
queue is being stopped. But, the queue itself might get deleted in the middle,
in a higher priority thread than where the WorkItem deletion was performed from

If the WorkQueue::Detach accesses the member variables after this, there is memory
corruption

This happens in particular when launching i2c or spi devices in
I2CSPIDriverBase::module_start:

- The "initializer" is deleted when the instance is not found and the iterator
  while loop continues.
- The workqueue is deleted in the middle of "initializer" deletion when the
  WorkQueueRunner returns.

This prevents deletion of the WorkQueue before the Detach has been finished,
in the specific case that the ::Detach triggers the deletion

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-29 21:31:12 -04:00
David Sidrane
f70381dfdd i2c_spi_buses:Support devices that may change address 2021-08-21 11:52:15 -04:00
David Sidrane
cbb48f9af3
NuttX with Kinetis SerialPoll back in 2021-07-22 22:08:04 -04:00
Daniel Agar
6dd0a58302 [at24c] free perf counter if px4_at24c_initialize fails
- add driver prefix to perf counter naming
2021-07-05 21:22:08 -04:00
David Sidrane
9dee09b81b NuttX and Apps updated w/ALL backports 2021-07-02 09:08:10 -07:00
David Sidrane
5ea4b7dc9e NuttX with Kinetis eDMA (SPI, Serial) Backports 2021-07-02 09:08:10 -07:00
Beat Küng
9b7170551c ModuleBase: allow configurable timeout for wait_until_running() 2021-07-02 12:45:18 +02:00
David Sidrane
3e00450052 NuttX with SDMMC BACKPORT 2021-07-01 11:51:14 -07:00
Jukka Laitinen
d83033f449 Take the crypto_backend library into use in bootloader for signature verification
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Jukka Laitinen
0d4f481035 Add simple SW implementations for crypto_backend and keystore_backend
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
Jukka Laitinen
d068ae48d6 Add header file for arhitecture/implementation specific px4 crypto and
configuration for cmake

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-06-25 08:35:58 +02:00
TSC21
145e7387fb posix: start the microRTPS client in sim every time the module is available 2021-06-21 16:36:44 +02:00
Daniel Agar
500c45e798 uORB: Subscription check if uORB::Manager instance is valid
- this is necessary if uORB::Subscription is used with static storage
duration
2021-06-17 08:07:24 +02:00
David Sidrane
9377b02c58 Track NuttX Timer changes 2021-06-16 17:07:47 +02:00
David Sidrane
05bdef867d Track NuttX syslog change 2021-06-16 17:07:47 +02:00
David Sidrane
f3624c172c kinetis pinirq:Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane
6e5a86b6fe dshot:Matched signature to drv_pwm_output.h 2021-06-16 17:07:47 +02:00
David Sidrane
dc23c85085 px4/common:mtd Use inttypes 2021-06-16 17:07:47 +02:00
David Sidrane
84dd8839a2 i2c_spi_buses:Track NuttX change to getopts avoid name collision
NuttX #defined optarg and getopt to move to TLS. This fixes the
  name collision.
2021-06-16 17:07:47 +02:00
AlexKlimaj
dddd2c3297
drivers/distance_sensor: New Broadcom AFBR-S50LV85D distance sensor driver
* Basic Broadcom AFBR-S50 driver using vendor API and binary blob https://github.com/Broadcom/AFBR-S50-API
* fix ARK Flow paw3902 rotation
2021-06-15 12:12:24 -04:00
David Sidrane
9c8e95db8d NuttX w/NXP contrib for FlexCAN fixes 2021-06-12 06:22:01 -07:00
echoG
6bc09138c1
Adding BatMon smart battery as a module and refactoring SMBUS based SBS 1.1 spec to a library 2021-06-09 12:17:45 -04:00
Daniel Agar
47b9016f5e I2CSPIDriverBase: print rotation and i2c address if set 2021-06-08 09:27:21 +02:00
achim
66dbc1e25f Update rc.board_arch_defaults
logger doesn't start at all up to 4k buffer
2021-06-05 11:46:30 -04:00
achim
fd2161b6bf Update rc.board_arch_defaults
logger doesn't start at all up to 4k buffer
2021-06-05 11:46:10 -04:00
achim
1ab7943940 Update rc.board_arch_defaults
Logger doesn´t start at all with 4k buffer
2021-06-05 11:45:53 -04:00
David Sidrane
32e92ba817 Revert:Pull downs - bad levels cause motor spins 2021-06-01 15:18:47 -04:00
Daniel Agar
806b462935 px4_work_queue: increase UART stack 2021-05-31 14:49:40 -04:00
Jukka Laitinen
34de392425 Add compiler cmake files for RISC-V (rv64gc) targets
This adds the basic support for riscv64-unknown-elf compiler amd rv64gc ISA

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-28 22:22:57 -04:00
Jukka Laitinen
935253357a nuttx compilation: Don't assume "arm" to enable risc-v compilation
Replace "arm" by "${CONFIG_ARCH}"

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-28 22:22:57 -04:00
Jukka Laitinen
675a5a2b2c bootloader: change flash_cache addresses to uintptr_t
To fix comilation errors on 64 bit platforms

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-26 12:57:37 -07:00
Jukka Laitinen
64d264b49a bootloader: Move chip specific things under chip specific folders
- move systick.c under chip specific sources
- move do_jump into chip specific main.c as arch_do_jump
- wrap flash writes to "arch_flash_write" and implement in chip specific main.c
- add bootloader TOC check
- sync image_toc.h with the version currently in use with old bootloader

Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-05-26 12:57:37 -07:00
Daniel Agar
c3884b5bc1
fake_imu (formally fake_gyro) updates for testing gyro filtering
- fake_imu now publishes sine sweeps over 10 seconds
 - accel is also published so that fake IMU can be selected when the only option
2021-05-17 20:26:25 -04:00
Peter van der Perk
60a083b662 canbootloader clear pending systick interrupts 2021-05-17 05:05:24 -07:00
Daniel Agar
ecf2cd3afb
CAN node STM32F7 support and Freefly RTK GPS CAN node 2021-05-16 13:10:02 -04:00
Daniel Agar
ad0482155e ROMFS: reduce LOGGER_BUF default to 8 kB on older boards 2021-05-12 17:06:33 +02:00
David Sidrane
69e0c2fc10 px4:platform support SPI configuration selection on HW REV 2021-05-10 09:11:50 +02:00
David Sidrane
541697d193 NuttX Backports Fixing SDIO/SDMMC Data Timeouts
stm32, F7 and H7
2021-05-08 04:40:54 -07:00
David Sidrane
8d82560308 NuttX Backports
[BACKPORT] binnfmt:Fix return before close ELF fd
   stm32h7: serial: use dma tx semaphore as resource holder
   [BACKPORT] stm32h7:Serial Add RX and TX DMA
   [BACKPORT] drivers/serial: fix Rx interrupt enable for cdcacm
   [BACKPORT] stm32h7:Allow for reuse of the OTG_ID GPIO
   [BACKPORT] stm32f7:Allow for reuse of the OTG_ID GPIO
2021-05-07 11:50:38 -07:00
David Sidrane
3d166d3279 PWM:Add Channel mask to up_pwm_servo_arm & up_pwm_servo_deinit 2021-05-05 20:48:06 +02:00
David Sidrane
d5b60f7002 NuttX with WIP OTG_ID 2021-05-05 20:48:06 +02:00
David Sidrane
362db92515 Define PX4_MAKE_GPIO_INPUT_PULL_DOWN 2021-05-05 20:48:06 +02:00
David Sidrane
dcbfc9de2d io_timer:Fixed imposible logic 2021-05-05 20:48:06 +02:00
Daniel Agar
3b7ce61901 px4_work_queue: increase wq:rate_ctrl stack slightly 2021-05-04 17:40:56 -04:00
David Sidrane
cd2aceb363 stm32_common:board_reset Fix reboot -b broke by canbootloader 2021-05-03 05:21:25 -07:00
Beat Küng
0a98c5a7f4 Subscription: fix ChangeInstance 2021-04-27 10:29:09 -04:00
JacobCrabill
cc81c7d49e poor-mans-profiler: Add documentation
Now sets the GDB serial device to the path of a DroneCode Probe by
default, with option command-line option override.

A few usage instructions added to the top of the file.
2021-04-26 08:47:49 +02:00
Daniel Agar
f9d8c613b0 px4_work_queue: increase nav_and_controllers stack 2021-04-21 07:34:13 +02:00
David Sidrane
96d0755afd NuttX with SDMMC Backport 2021-04-09 15:53:26 -04:00