Ramon Roche
bf4fac7e61
fix(crsf_rc): validate variable-length packet size before buffer copy
...
Variable-length known packet types (CRSF_PACKET_TYPE_ELRS_STATUS,
CRSF_PACKET_TYPE_LINK_STATISTICS_TX, CRSF_PACKET_TYPE_MSP_WRITE)
bypassed the bounds check that exists for unknown packets. A crafted
packet with a large size field could overflow the 64-byte process_buffer
during QueueBuffer_PeekBuffer() in the CRC state.
Apply the same CRSF_MAX_PACKET_LEN bounds check to variable-length
known packets that already exists for unknown packets.
Fixes GHSA-mqgj-hh4g-fg5p
Signed-off-by: Ramon Roche <mrpollo@gmail.com >
2026-03-13 09:13:06 -07:00
Jacob Dahl
ce3e62841f
module_base: remove CRTP template pattern to reduce flash bloat ( #26476 )
...
* module_base: claude rewrite to remove CRTP bloat
* module_base: apply to all drivers/modules
* format
* fix build errors
* fix missing syntax
* remove reference to module.h in files that need module_base.h
* remove old ModuleBase<T>
* add module_base.cpp to px4_protected_layers.cmake
* fix IridiumSBD can_stop()
* fix IridiumSBD.cpp
* clang-tidy: downcast static cast
* get_instance() template accessor, revert clang-tidy global
* rename module_base.h to module.h
* revert changes in zenoh/Kconfig.topics
2026-02-19 15:17:17 +13:00
Eric Katzfey
90fec17427
CRSF_RC: Replace strlcpy with strncpy and null termination. strlcpy is a BSD extension and is not part of standard C/C++. ( #26381 )
...
It's typically not available in glibc's <string.h>.
2026-01-29 12:02:36 -09:00
Niklas Hauser
c0c265cd1f
[vtx] Add VTX driver with Tramp and SmartAudio support
2026-01-26 11:05:22 +01:00
Tarmo Tänav
ad38dba167
crsf_rc: fixed cmake directory conflict
2025-11-26 15:52:33 -09:00
Niklas Hauser
0ce60fd528
Revert "[crsf_rc] Allow setting the baudrate via parameter"
...
This reverts commit 7a9b04c67c .
2025-11-26 15:09:00 +01:00
Niklas Hauser
bb72088ff6
[crsf_rc] Add ability to inject buffers for development
2025-11-25 13:15:44 +01:00
Niklas Hauser
1904838043
[crsf_rc] Extend the RC packet reception timeouts to 0.5s
2025-11-25 13:15:44 +01:00
Niklas Hauser
7a9b04c67c
[crsf_rc] Allow setting the baudrate via parameter
2025-11-25 13:15:44 +01:00
Niklas Hauser
a514560169
[crsf_rc] Add support for link statistic messages
2025-11-25 13:15:44 +01:00
Silvan Fuhrer
d2e4d85bce
Add Altitude Cruise mode
...
-add new NAVIGATION_STATE_ALTITUDE_VOYAGER
-this mode does require manual control to enter
-but you can disable the manual control loss failsafe to continue
flying in case of manual control loss
-for MC: in throttle and yaw are controlled like in Altitude mode,
the tilt is controlled via integrated rate input (similar to Acro,
but with tilt limit)
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2025-09-18 15:50:10 +02:00
Alexander Lerach
c0d1717897
detect px4io conflicts, don't set sbus as default
2025-07-30 15:09:39 +02:00
Hamish Willee
c2f872c558
docs: put RC modules into their own category ( #24847 )
2025-05-20 07:34:20 +02:00
Hamish Willee
fa2b8cbd49
RC driver config Kconfig -typo ( #24848 )
2025-05-14 10:10:44 -08:00
Tony Cake
ba31054992
Add RSSI in dBm support, plus LQ, to GHST protocol ( #24351 )
2025-02-28 00:53:32 -09:00
BazookaJoe1900
4d83badba1
fix files tags on the header comments ( #23564 )
2024-09-19 09:25:18 +03:00
Daniel Agar
9ff6c4bf28
remove newlines
2024-07-19 18:25:43 -04:00
Daniel Agar
85de0ff227
boards: move ARK fmu-v6x/pi6x to dedicated RC drivers
2024-07-19 15:42:05 -04:00
Daniel Agar
3a3f04c0f4
drivers/rc: new standalone ghst_rc driver
...
- extracted from monolithic drivers/rc_input which will eventually be
dropped once all drivers migrated and boards updated
2024-07-19 15:42:05 -04:00
Daniel Agar
7a6c4f0bfa
drivers/rc: new standalone sbus_rc driver
...
- extracted from monolithic drivers/rc_input which will eventually be
dropped once all drivers migrated and boards updated
2024-07-19 15:42:05 -04:00
Daniel Agar
561dceea7b
drivers/rc: new standalone dsm_rc driver
...
- extracted from monolithic drivers/rc_input which will eventually be
dropped once all drivers migrated and boards updated
2024-07-19 15:42:05 -04:00
Silvan Fuhrer
33701aa3d5
BatteryStatus: remove voltage_filtered_a
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2024-07-03 16:41:49 +02:00
Silvan Fuhrer
c2ae6a7e24
BatteryStatus: remove current_filtered_a
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2024-07-03 16:41:49 +02:00
Nate
6fd0e98a69
Correct units of CRSF GPS altitude
...
Bug fix to correct returning mm units of altitude to m.
2024-06-24 12:27:21 +02:00
Eric Katzfey
8e61026511
Port CRSF RC driver to new Serial UART API ( #22917 )
...
* Added implementations of Rx Tx swap and single wire for new UART API needed by CRSF driver
* Added inverted mode to Serial interface API
2024-04-01 22:09:13 -04:00
Matthias Grob
1c25d65a1e
Add missing newline at the end of files
2023-12-01 13:11:00 -05:00
Beat Küng
d1fcd39a44
fix crsf_rc: prevent potential buffer overflow for unknown packets
...
The length check for unknown packets did not include PACKET_SIZE_TYPE_SIZE
and CRC_SIZE, and hence working_index could overflow CRSF_MAX_PACKET_LEN,
triggering invalid memory access further down in QueueBuffer_PeekBuffer.
Also the working_segment_size was wrong for unknown packets.
Credits for finding this go to @Pwn9uin.
2023-10-05 08:00:22 +02:00
Sergei Grichine
f000238987
SensorGps.msg: switch to double precision for lat/lon/alt
...
To match https://github.com/PX4/PX4-GPSDrivers/pull/132 - adding high precision RTK lat/lon/alt components
2023-07-13 07:50:09 +02:00
SalimTerryLi
7eb6535273
driver/rc/crsf: fix print format for Linux platform
2023-05-01 17:36:26 -04:00
Jukka Laitinen
f2607335ac
rc/crsf_rc/CrsfRc.cpp: Include fcntl.h for "open"
...
Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae >
2022-11-18 07:10:27 +01:00
chris1seto
770f8080c0
CRSF: Validate unknown packet sizes to be smaller than max packet size
...
Co-authored-by: Chris Seto <chris1seto@gmail.com >
2022-09-24 16:36:17 -04:00
chris1seto
77fdce9f3c
drivers/rc/crsf_rc: update standalone driver for CRSF and direct support for lq/rssi ( #20084 )
...
Co-authored-by: Chris Seto <chris1seto@gmail.com >
2022-09-23 19:19:25 -04:00
Daniel Agar
ff196a7363
crsf_rc: trivial compile fixes for updated vehicle_gps_position and removed NAVIGATION_STATE_AUTO_LANDENGFAIL
2022-09-15 21:01:53 -04:00
chris1seto
b682b30ab1
drivers/rc/crsf_rc: create new standalone CRSF driver
2022-09-15 20:00:20 -04:00