Jacob Dahl
6a1cefd7a6
uavcan: esc: fix uavcan ESC control
...
This fixes a number of issues with uavcan ESC control.
- Motor Testing when using a CANnode as a PWM expander now works by allowing the FunctionMotors class to perform prearm control
- The esc.RawCommand message is now always published for configured uavcan ESC outputs. Previously prior to arming the message would be published empty, which causes certain ESCs to enter an error state.
- Useless and redundant code has been removed and small name changes have been applied.
2025-07-11 08:53:52 -06:00
Beat Küng
9ba2ac4e10
fix adsb: cast enum in printf
...
Build failure with clang:
fatal error: format specifies type 'int' but the argument has type
'TRAFFIC_STATE' [-Wformat]
2025-07-11 10:39:28 +02:00
chfriedrich98
d2d3d8a5fd
lib: remove unused l1 library
2025-07-10 10:11:58 +02:00
chfriedrich98
f35b92a487
rover: replace RX_MAX_THR_YAW_R with a correction factor RO_YAW_RATE_CORR
2025-06-18 08:35:48 +02:00
chfriedrich98
eed966a1c6
rover: reduce speed based on course error
2025-06-18 08:35:48 +02:00
Jacob Dahl
339e0f9691
params: srcparser: don't strip newlines ( #25058 )
2025-06-17 12:04:33 -08:00
Matthias Grob
2237bfa9a9
smbus_sbs: switch to battery_info.serial_number
2025-06-17 09:05:22 +02:00
Silvan Fuhrer
a6863f0930
FW mode manager: open up / remove some arbitrary params constraints ( #25036 )
...
* performance model: remove arbitrary min/max parameter constraints
Signed-off-by: Silvan <silvan@auterion.com >
* FW mode manager: open up/remove unnecessary param @max constraints
Signed-off-by: Silvan <silvan@auterion.com >
---------
Signed-off-by: Silvan <silvan@auterion.com >
Co-authored-by: Ramon Roche <mrpollo@gmail.com >
2025-06-16 14:58:38 -08:00
QiTao Weng
75e4047f2a
Fix ADSB heading angle obtained from driver by removing +pi. Adjusted downstream accordingly
2025-06-13 15:28:25 +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
83280dcfec
TECS: protect against NAN in pitch integrator by limiting tas input to min tas
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2025-05-26 14:47:38 +02:00
mahima-yoga
817b0191e7
NPFG: add unit tests and add back feasible bearing check back
2025-05-26 14:47:38 +02:00
Silvan
0ea109ff5d
perfromance model: add FW_AIRSPD_FLP_SC to reduce with flaps
...
Signed-off-by: Silvan <silvan@auterion.com >
2025-05-26 14:47:38 +02:00
Silvan
0276f66b18
TECS: harden interface for NAN altitude input
...
Signed-off-by: Silvan <silvan@auterion.com >
2025-05-26 14:47:38 +02:00
RomanBapst
779a55c6dc
FW Position Controller rework
...
- split up old module into two, one handling setpoint generation, one control
- add lateral and longitudinal control setpoints topics that can also be
injected from companion computer
- add configuration topics that (optionally) configure the controller
with limits and momentary settings
Signed-off-by: RomanBapst <bapstroman@gmail.com >
2025-05-26 14:47:38 +02:00
murata,katsutoshi
52f0ef927d
dataman_client: Combine type declarations and processing ( #23593 )
2025-05-24 13:24:13 -08:00
Alexander Lerach
134ee7b640
dds: clean up timesync
2025-05-23 11:30:55 +02:00
chfriedrich98
f13f9b2240
rover: update rtl time estimator
2025-05-07 17:42:07 +02:00
Marco Hauswirth
5842c991ec
AirspeedSelector: add synthetic airspeed option
...
Synthetic airspeed is calculated based on the thrust setpoint
and the thrust<->airpseed model as configured in the parameters.
2025-05-02 13:37:18 +02:00
bresch
b5f011a31f
cal: transpose rotation instead of computing inverse
...
This is equivalent for an orthonormal matrix
2025-04-29 10:26:51 +02:00
Matthias Grob
d514cb4903
mc_att_control: use StickYaw class for Stabilized
...
to make yawing including reset and drift handling consistent with
Altitude and Position mode.
2025-04-22 15:35:26 +02:00
Matthias Grob
174147208e
Move StickYaw class into a globally available library
2025-04-22 15:35:26 +02:00
chfriedrich98
c2706f5406
rover: auto mode stopping conditions
2025-03-25 10:38:30 +01:00
Jukka Laitinen
f583406558
src/lib/parameters/parameters.cpp: Remove conversion of unaligned pointers
...
Parameter "void *val" passed to the functions in parameters.cpp are not always
4-byte aligned, so on some platforms direct casting to "int32_t *" or "float *"
leads to an unaligned exception. An example of such user is Logger, which directly packs
parameter values to character buffer.
Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae >
2025-03-11 07:50:47 +01:00
chfriedrich98
0671e40f8e
pure_pursuit: migrate params from .yaml to .c
2025-03-10 11:14:00 +01:00
chfriedrich98
d1b0be18b2
pure_pursuit: update library
2025-03-10 11:14:00 +01:00
Jukka Laitinen
fec240efba
src/lib/airspeed/CMakeLists.txt: Link to "atmosphere" library
...
Fix a linking error of not finding "atmosphere::getDensityFromPressureAndTemp(float, float)"
Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae >
2025-03-10 09:16:48 +01:00
chfriedrich98
d1e4198864
rover_control: migrate params from .yaml to .c file ( #24445 )
...
* rover_control: migrate params from .yaml to .c file
* Update src/lib/rover_control/rovercontrol_params.c
---------
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
2025-03-04 17:28:09 +01:00
Silvan Fuhrer
7cb6464cfb
VehicleStatus.msg: remove VEHICLE_TYPE_UNKNOWN
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2025-03-04 12:15:01 +00:00
Julian Oes
d4509a6cd4
flashfs32: fix result handling ( #24371 )
...
We need to translate return values here, otherwise this complains being
unsuccessful when it was actually ok.
2025-02-28 16:21:09 -09:00
Sebastian Domoszlai
b5f37c9fa6
Simplify Battery-related Enum Naming ( #24265 )
...
* Simplify battery-related enum naming
* Fix mistakenly removed string in enum names
* Fix missing renamings
* Update outdated file
* msg: Increase battery_status version since the enum naming was changed
* Revert message version increase
---------
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2025-02-28 11:42:40 -09:00
Tony Cake
ba31054992
Add RSSI in dBm support, plus LQ, to GHST protocol ( #24351 )
2025-02-28 00:53:32 -09:00
Marco Hauswirth
2169ea561b
PR: add optical flow arming check ( #24375 )
...
* add optical flow arming check
* removed deprecated mavlink_log_critical
* change SYS_HAS_NUM_OF description, keep max sensor at 1 since multiple instances are currently not support.
* restructure if/else blocks
2025-02-26 08:41:12 +01:00
Eric Katzfey
73dbecadf1
Qurt: changed the mutex for I2C for the Qurt platform from a single mutex to one for each bus. ( #23531 )
2025-02-19 10:59:45 -05:00
chfriedrich98
04a3c4af20
Differential Rover: Refactor and clean up, align with Ackermann rover( #24318 )
...
* differential: refactor code architecture
* Offboard fix
* fix accel/decel slew rate
2025-02-18 18:26:38 +01:00
Silvan Fuhrer
3c129aefa1
Add IC engine control module ( #24055 )
...
Internal combustion engine control module.
New actuator functions and RPM based start/restart logic.
Not enabled by default.
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
Co-authored-by: Pernilla <pernilla@auterion.com >
2025-02-18 17:15:32 +01:00
Silvan
b7b6d45e18
lib: remove bezier
...
Signed-off-by: Silvan <silvan@auterion.com >
2025-02-18 14:33:16 +01:00
Silvan
1f2dba68d2
remove avoidance library and logic
...
Signed-off-by: Silvan <silvan@auterion.com >
2025-02-18 14:33:16 +01:00
bresch
e3fd50667d
Mag cal: automatically disable internal mags if external ones are available
2025-02-14 16:12:20 +01:00
Eric Katzfey
eb18edf5eb
Don't allow spacecraft module parameters for VOXL 2 builds ( #24336 )
...
- VOXL 2 builds use DISABLE_PARAMS_MODULE_SCOPING for parameters. The new spacecraft module has duplicate symbols with the control_allocator module and so this kills the VOXL 2 build
2025-02-14 00:49:09 -05:00
chfriedrich98
55f51d7e7e
ackermann: refactor code architecture
2025-02-10 15:54:24 +01:00
mahimayoga
093b379b6b
sf45/collision-prevention: replace repeated code with ObstacleMath library functions.
2025-02-07 13:28:17 +01:00
mahimayoga
cb332e047d
obstacle-math: add standard obstacle map functions.
...
These functions help simplify repeated calculations accross driver and collision prevention files that are computing bins, angles and sensor offsets in obstacle maps.
2025-02-03 17:17:35 +01:00
Perre
f7dadd9b89
Remove inclusion of rotors in library to enable test ( #24286 )
2025-02-03 15:51:55 +01:00
Pedro Roque
b09340cc98
Control Allocator: Add option for metric allocation (skip normalization) ( #24199 )
...
* add: metric allocation
* add: actual files
* rft: moved metric allocation to pseudo-inverse via flag with public method
* del: removed metric allocation test and added test in pseudo-inverse testing
* rft: deleted extra newline at the end of pseudo inverse test file
* feat: removed unnecessary log include
2025-01-20 13:30:51 +01:00
mahimayoga
ab46502cbd
obstacle-math: add unit tests for project_distance_on_horizontal_plane function.
2025-01-20 11:11:29 +01:00
mahimayoga
29f981f14c
collision-prevention: extract rotation scaling function into new ObstacleMath library.
...
New library created for static and/or repeated code across collision prevention and driver files.
2025-01-20 11:11:29 +01:00
Mathieu Bresciani
8ecb76aba2
[Multirotor] add yaw torque low pass filter ( #24173 )
...
co-authored-by: danielmellinger <107884356+danielmellinger@users.noreply.github.com >
co-authored-by: Eric Katzfey <eric.katzfey@modalai.com >
2025-01-15 14:02:28 +01:00
Jaeyoung Lim
974446c0e8
Make control allocation and actuator effectiveness a non-module-specific library ( #24196 )
...
* Remove more circular dependencies with ActuatorEffectiveness
* Separate vehicle specific actuator effectiveness
Keep actuator effectivenss in control allocator
* Remove test dependency for now
* Group library directories
Fix
* Change directory names
* Rebase fix
2025-01-15 10:12:29 +01:00
Matthias Grob
b042f2101f
system_params: clarify SYS_HAS_MAG description
...
after answering the questions:
Ah the value can be 2? Should I set the number of magnetometers the board has or include the external ones?
2025-01-08 21:24:00 -05:00