Beat Küng
e29771cd97
septentrio: add static assertions to ensure the buffer is large enough
...
And check the access for dynamic sized input. This is only a precaution
if the device sends invalid data (too large sb_length) with valid crc.
2025-06-13 09:46:10 +02:00
Beat Küng
ac74a02d7c
fix septentrio: ensure the crc check does not read past the buffer size
...
in case the input data is invalid.
2025-06-13 09:46:10 +02:00
Beat Küng
d13692ca46
fix septentrio: initialize _current_index
...
Decoder::reset sets it to 0, but it could have been accessed before the
first call to reset().
2025-06-13 09:46:10 +02:00
Hamish Willee
77d854b045
Update ll40ls.cpp ( #25007 )
2025-06-12 16:08:12 -08:00
Jacob Dahl
fae563b35e
[bug] AFBRS50 fix scheduling and refactor ( #24837 )
...
* fix scheduling bug for afbrs50
* cleanup and refactor
* format
* clean up
---------
Co-authored-by: Alex Klimaj <alex@arkelectron.com>
2025-06-12 16:59:02 -06:00
Pedro Roque
6d15019717
feat: spacecraft tooling for commander and VehicleStatus ( #24716 )
...
* feat: spacecraft tooling for commander and VehicleStatus
* fix: format
* fix: remove iostream
* feat: mavlink compliant spacecraft definition
* feat: add orbiter to define
feat: spacecraft tooling for commander and VehicleStatus
fix: format
fix: remove iostream
feat: mavlink compliant spacecraft definition
* feat: add orbiter to define
* feat: update mavlink to latest
* fix: get away without specifying spacecraft vehicle
* fix: removed unnecessary definition
* fix: format
2025-06-12 21:48:48 +02:00
Matthias Grob
6b2b20bd6e
imu_gyro_parameters: lower default angular acceleration filter from 30Hz to 20Hz
...
to avoid noise getting into the derivative term of the PID rate control loop on integration flights.
2025-06-12 17:15:12 +02:00
Peter van der Perk
0fe8738ed9
msp_osd: Add VTX config, stick commands and arming status
...
- Adds MSPv1 rx parsing to fetch VTX config
- Allows to inspect and change VTX channel through CLI
- Forward MSP_RC for stick commands osd
- Forward MSP_STATUS for arming status for PIT and LP mode
2025-06-11 11:32:32 -04:00
chfriedrich98
d348bf4828
mecanum: centralize mode management, resets and checks
2025-06-11 14:17:23 +02:00
chfriedrich98
f0c15af426
mecanum: update position controller
2025-06-11 14:17:23 +02:00
chfriedrich98
5e9322899b
mecanum: seperate actuator control
2025-06-11 14:17:23 +02:00
Mahima Yoga
c9658f28e9
commander: use existing class state to track mission progress ( #24947 )
...
Replaced the local variable landed_amid_mission with the class member _mission_in_progress for consistency and to reduce redundancy.
No functional change.
2025-06-09 18:17:13 -08:00
bresch
457ce90541
ekf2: run simplified GNSS checks after initial fix
...
This prevents stopping GNSS fusion on slightly degraded solution when
tight checks are set
2025-06-06 15:59:56 +02:00
Silvan Fuhrer
ff87361ffa
Navigator: RTL reverse: when landing set next to invalid
...
This makes sure that there is no weird line following logic executed
by the flight task when the vehicle should just come down vertical
for landing.
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-06-06 15:47:35 +02:00
Matthias Grob
c7ef12545c
mc_att_control_params: lower default roll and pitch attitude gains from 6.5 to 4
...
6.5 is a relatively high value that was used mostly on smaller, low inertia vehicles ~250-500mm diagonal. There it works great but on larger, higher intertia vehicles this leads to problems.
2025-06-05 19:28:53 +02:00
Matthias Grob
fdc4766da6
Make sure vehicle_thrust_setpoint is always published before vehicle_torque_setpoint
...
After f0b05ea7cfd9de4113f4cd63e8068cf8089bc158
the control allocator only has a callback on the torque setpoint and even though this should work
I'm paranoid and would like to avoid surprises by always publishing the thrust before torque
then the samples that were published together are also allocated together.
2025-06-05 08:46:30 +02:00
Niklas Hauser
6d35ad5d9b
[uavcan] Fix safety state not getting published ( #24972 )
2025-06-04 09:20:34 -08:00
Matthias Grob
84cb748080
esc_calibration: simplify the logic and consider battery only connected if there's no message timeout and the connected flag is set
2025-06-04 17:11:33 +02:00
Don Gagne
7018e1b74b
Fix reporting of connected battery
2025-06-04 17:11:33 +02:00
Matthias Grob
7e055656b0
uavcan esc: translate temperature field from Kelvin to Celsius
2025-06-04 16:44:16 +02:00
bresch
e487d59521
Vehicle_odometry: protect angular_velocity field against aliasing
...
Accumulate delta-angles between each publication to get the correct
angular velocity between two attitudes
2025-06-04 09:01:33 +02:00
bresch
0e32b155f3
ekf2: simplify names of scoped variables
2025-06-03 09:22:32 +02:00
bresch
c33d79cfb4
ekf2: move gnss_checks to their own class
2025-06-03 09:22:32 +02:00
bresch
2dbce4d958
ekf2: replace defines with enum class
2025-06-03 09:22:32 +02:00
bresch
5332010b13
ekf2: move on ground GNSS checks to separate function
2025-06-03 09:22:32 +02:00
Silvan
66fe3aa2b3
ControlAllocator: only run allocator on torque updates, not thrust
...
Signed-off-by: Silvan <silvan@auterion.com>
2025-06-02 09:26:13 -07:00
Silvan
f0b05ea7cf
ControlAllocator: only use torque, not thrust sp as callback item
...
Signed-off-by: Silvan <silvan@auterion.com>
2025-06-02 09:26:13 -07:00
Niklas Hauser
3971db3cb4
[iis2mdc] Help device detection by retrying probing
2025-06-02 16:54:15 +02:00
Niklas Hauser
56d53b60c0
[bmp388] Initialize multiple times with delay
2025-06-02 16:54:15 +02:00
Silvan Fuhrer
cff5ecfd88
ICE: allow throttle setpoint to be set to NAN to stop motor without disarming
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-06-02 16:50:30 +02:00
Silvan Fuhrer
ed15258abb
ICE: small cosmetic changes and make message definition clearer
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-06-02 16:50:30 +02:00
GuillaumeLaine
17cadf7739
dds_topics: set more sensible ROS2 publication rate limits
2025-06-02 12:01:40 +02:00
Mahima Yoga
2110da73ad
Commander: don't reset Home position if landed during a (uncompleted) mission. ( #24902 )
2025-06-02 10:50:03 +02:00
Marco Hauswirth
8d3c94c947
Baro offset calibration based on GNSS height ( #24859 )
...
* apply offset to baro sensors based on gnss measurements when gnss is selected as hgt-ref
* always calibrate baro with gnss if new param SENS_BAR_AUTOCAL is set accordingly
* always do baro-gnss calibration when AUTOCALIB is set, but ensure epv is small enough and gnss data is consistent with baro
* avoid update and reset in the same step
* minor change of constexpr usage
2025-06-02 08:38:11 +02:00
Beniamino Pozzan
a2c23acc65
fix (msp_ods): clear buffers before writing and adjust sizes ( #24951 )
...
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
2025-06-01 18:33:09 -08:00
Niklas Hauser
62c9bf8a47
[uavcan] Param for interface mask of ESC actuators
2025-05-28 15:03:59 +02:00
chfriedrich98
38bcc50127
differential: centralize mode management, resets and checks
2025-05-28 09:03:27 +02:00
chfriedrich98
d5dc0a7eb8
differential: update position control
2025-05-28 09:03:27 +02:00
chfriedrich98
ac80958cc5
differential: seperate actuator control
2025-05-28 09:03:27 +02:00
Roman Bapst
b26dd4d3f3
Commander: Introduce global_position_relaxed ( #24280 )
...
To separate accuracy requirements for VTOL hover and cruise.
- global_position_relaxed refers to having a valid horizontal velocity aid source
in the estimator and a set global reference position, but poses no requirements
on the accuracy of the provided position estimate.
- Auto flight modes Mission, Loiter and RTL, while in fixed-wing mode,
only require the relaxed global position going forward
- COM_POS_FS_EPH is thus no longer used on fixed-wing vehicles (resp. VTOL in FW)
- rename failsafe_flags.local_position_accuracy_low to failsafe_flags.position_accuracy_low
---------
Signed-off-by: RomanBapst <bapstroman@gmail.com>
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
Co-authored-by: Silvan <silvan@auterion.com>
2025-05-28 08:16:10 +02:00
Mahima Yoga
4abe2d1dab
Navigator: allow executing a disarm command during a mission
2025-05-27 13:26:30 +02:00
GuillaumeLaine
e1167f0888
dds_topics: rate limit BatteryStatus ROS2 publication to 1 Hz
2025-05-27 13:21:56 +02:00
GuillaumeLaine
238dffcd1b
uxrce_client: add option to set polling rate limit per topic
2025-05-27 13:21:56 +02:00
Niklas Hauser
8c6d7235e4
[drivers] Allow swapping RX/TX pins of DShot Telemetry
2025-05-27 11:07:29 +02:00
Jacob Dahl
3bbe3e5268
logger: add new mask for high rate sensors
2025-05-27 08:09:28 +02:00
chfriedrich98
0d9cb1f048
ackermann: only control relevant setpoints in manual modes
2025-05-26 15:56:24 +02:00
chfriedrich98
a129a29793
ackermann: split modes into seperate folder
2025-05-26 15:56:24 +02:00
chfriedrich98
47a9b552f8
ackermann: centralize mode management, resets and checks
2025-05-26 15:56:24 +02:00
chfriedrich98
cd486b2da6
ackermann: update position control
2025-05-26 15:56:24 +02:00
chfriedrich98
45540455fe
ackermann: separate actuator control
2025-05-26 15:56:24 +02:00