41321 Commits

Author SHA1 Message Date
Jukka Laitinen
c3c30e5d4f 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-27 10:43:45 +02:00
Daniel Agar
99463fce48
Update submodule mavlink v2.0 to latest Thu Aug 26 12:39:19 UTC 2021 (#18153)
- mavlink v2.0 in PX4/Firmware (c6a6403ce2039823f80af40ac5441f51afcdefb0): 51204fc82b
    - mavlink v2.0 current upstream: e0e24de622
    - Changes: 51204fc82b...e0e24de622

Co-authored-by: PX4 BuildBot <bot@px4.io>
2021-08-26 11:43:31 -04:00
Daniel Agar
c6a6403ce2 px4io: increase stack 1500 -> 1536 bytes 2021-08-25 21:32:05 +02:00
Daniel Agar
f59b54abd7 boards: io-v2 increase idle thread stack 280 -> 316 bytes 2021-08-25 21:32:05 +02:00
Daniel Agar
22e62a044a px4iofirmware: never directly touch mixer from isr 2021-08-25 21:32:05 +02:00
Jacob Crabill
1ee5f75aa5
uavcan_v1: Add PublicationManager and uORB Publisher (#17863) 2021-08-25 14:56:23 -04:00
Beat Küng
d8214f5e00 component_information: merge extra component_information_header target
With Makefile build, generate_component_general.py was called twice during
build, which did not happen with the ninja build.

This created a race condition with the following error in rare cases:
Traceback (most recent call last):
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 79, in <module>
    save_compressed(filename)
  File "/__w/PX4-Autopilot/PX4-Autopilot/src/lib/component_information/generate_component_general.py", line 33, in save_compressed
    with open(filename, 'r') as content_file:
FileNotFoundError: [Errno 2] No such file or directory: '/__w/PX4-Autopilot/PX4-Autopilot/build/px4_sitl_default/component_general.json'
make[3]: *** [src/lib/component_information/CMakeFiles/component_information_header.dir/build.make:68: component_general.json] Error 1

Merging the targets avoids the duplicate execution.
2021-08-25 10:04:39 -04:00
Beat Küng
af53b60713 Revert "component_information: add debug instrumentation for FileNotFoundError exception"
This reverts commit ca454c93d163a551f7f24baac41a3b29538860ae.
2021-08-25 10:04:39 -04:00
Jukka Laitinen
8f03045fb2 Increase micrortps_client_rcv stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen
69021dbafa Increase navigator stack for 64-bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen
e49791cdf2 Increase mavlink stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen
523578d2ce Increase stack size of wq:manager and worker threads for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen
29248cb6b8 Increase gps stack for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen
733b1e9e67 Increase logger stack size for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Jukka Laitinen
8cf121fc9d Increase dataman stack size for 64 bit targets
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae>
2021-08-24 10:16:27 -04:00
Kjersti Brynestad
62aa9c9f34 Correct conversion from sec to usec 2021-08-23 20:17:26 +01:00
Andrew Brahim
04adf6c9be
drivers/distance_sensor/vl53l1x: added multiple region of interest settings (#18073)
Signed-off-by: dirksavage88 <dirksavage88@gmail.com>
2021-08-23 14:15:41 -04:00
Daniel Agar
a4527485a3 mavlink: update radio status timestamp atomically
- this is updated by the mavlink rx thread, but checked in the tx thread
2021-08-23 11:16:10 -04:00
Daniel Agar
61702d0d97 sensors: always start baro/GPS/mag aggregators if SYS_HAS_* set
- add new SYS_HAS_GPS parameter
2021-08-23 10:59:58 -04:00
Thomas Stauber
6d3120d00d lower case c in Quadchute 2021-08-23 09:08:53 -04:00
Thomas
a260ea8233 more consistent quadchute messages 2021-08-23 09:08:53 -04:00
Daniel Agar
2b1c97eb37
Update world_magnetic_model to latest Sun Aug 22 11:14:24 UTC 2021 2021-08-22 16:28:00 -04:00
Daniel Agar
60d50b9d5d boards: px4_fmu-v6x_default disable batmon to save flash 2021-08-22 14:48:01 -04:00
David Sidrane
1339dd3681 px4_fmuv6x:Use parameter setting for ina22x 2021-08-22 14:48:01 -04:00
David Sidrane
f2925d234e px4_fmuv5x:Use parameter setting for ina22x 2021-08-22 14:48:01 -04:00
David Sidrane
bf89771710 ina22x:Enabled by paramaters 2021-08-22 14:48:01 -04:00
David Sidrane
f820771ea2 px4_fmuv6x:Add INA228 2021-08-22 14:48:01 -04:00
David Sidrane
7e7cbceaea px4_fmuv5x:Add INA228 2021-08-22 14:48:01 -04:00
David Sidrane
f819be2075 Support INA228 2021-08-22 14:48:01 -04:00
Beat Küng
fdb92d4746 protocol_splitter: check available bytes before read()
This is to avoid blocking in any case.
If we don't do that, ioctl() may signal data available while the other
protocol does a read(), and when the first protocol tries to do a read(),
it would not have data anymore and would block (so this avoids a race
condition).
2021-08-22 10:42:13 -04:00
Beat Küng
5d1e78befb protocol_splitter: return correct FIONSPACE
This is now possible since we don't parse the protocol.
2021-08-22 10:42:13 -04:00
Beat Küng
6edb55c874 protocol_splitter: simplify write()
With the protocol header we don't need to parse the protocol anymore.
2021-08-22 10:42:13 -04:00
Beat Küng
868f9cebb0 protocol_splitter: return 0 when no data to read instead of -1
This avoids mavlink adding another usleep() due to read error
2021-08-22 10:42:13 -04:00
Beat Küng
375b014444 protocol_splitter: reduce poll timeout from 100ms to 10ms
This matches the timeout in mavlink_receiver.
With the higher timeout sending of e.g. mavlink logging was done at a lower
rate.
2021-08-22 10:42:13 -04:00
Beat Küng
00d939995b fix micrortps_transport: set poll fd when baudrate is 0 2021-08-22 10:42:13 -04:00
Daniel Agar
0885f37667 micrortps_bridge: add "msg/tools/urtps_bridge_topics.yaml" to CMAKE_CONFIGURE_DEPENDS
- this is necessary because urtps_bridge_topics.yaml is processed at
cmake configure time (via cmake execute_process)
2021-08-22 10:41:04 -04:00
Daniel Agar
4422030037 micrortps_bridge/micrortps_client: fix topic path dependencies 2021-08-22 10:41:04 -04:00
Christian Llanes
c0efbe1f9c change PublicationMulti-> Publication as a temporary fix 2021-08-20 19:56:56 +01:00
David Sidrane
376b1c9987 rgbled_ncp5623c:Add comand line mapping of PWM to color 2021-08-20 10:15:57 -04:00
David Sidrane
8e04985940 rgbled_ncp5623c:Needs 2 retries 2021-08-20 10:15:57 -04:00
David Sidrane
74903cf215 rgbled_ncp5623c:Can change address, return actual 2021-08-20 10:15:57 -04:00
David Sidrane
cba78081af rgbled_ncp5623c:Document support for ncp5623[c|b] parts 2021-08-20 10:15:57 -04:00
David Sidrane
78b76cb636 i2c_spi_buses:Support devices that may change address 2021-08-20 10:15:57 -04:00
David Sidrane
075cb39c34 vcm1193l:Bug Fix set default address 2021-08-20 10:15:57 -04:00
David Sidrane
8f4811daa8 px4_fmu-v5x:Newer HW Start BARRO on bus 2 2021-08-20 10:15:57 -04:00
David Sidrane
566d1499bc px4_fmu-v6x:Use HB 10pin GPS rotation 2021-08-20 10:15:57 -04:00
David Sidrane
dc5fd25e8c px4_fmu-v5x:Use HB 10pin GPS rotation 2021-08-20 10:15:57 -04:00
David Sidrane
1618933014 rcS:Scope netman to all 5X and 6X 2021-08-20 10:15:57 -04:00
Daniel Agar
69d1a73f85
Update submodule GPSDrivers to latest Fri Aug 20 12:39:20 UTC 2021 (#18111)
- GPSDrivers in PX4/Firmware (1cbb007b95d375ababeae79f753cfafae9a9a4de): 8af5336d3f
    - GPSDrivers current upstream: 6fcf068949
    - Changes: 8af5336d3f...6fcf068949

6fcf068 2021-08-18 Femtomes - Femto_gps_driver: change UNLOGALL command
c51adac 2021-08-18 Oleg Evseev - nmea: add rtcm parsing and add debug ouput
2021-08-20 10:14:47 -04:00
Daniel Agar
df3608d38a
Update submodule mavlink v2.0 to latest Fri Aug 20 12:39:17 UTC 2021
- mavlink v2.0 in PX4/Firmware (31545f85fbb0c7949c523a1b7190fe1f36e004e4): 5095bcd856
    - mavlink v2.0 current upstream: 51204fc82b
    - Changes: 5095bcd856...51204fc82b
2021-08-20 09:05:23 -04:00