45 Commits

Author SHA1 Message Date
alexcekay
20cad48707 rcS: fine-grained storage settings 2026-04-09 11:22:43 +02:00
Jacob Dahl
ba5b96edbe
fix(boards): correct GPIO_VDD_3V3_SENSORS_EN macro name (#26751)
* fix(fmu-v6c): correct GPIO_VDD_3V3_SENSORS_EN macro name

VDD_3V3_SENSORS_EN() referenced GPIO_VDD_3V3_SENSORS4_EN which
does not exist. The correct macro is GPIO_VDD_3V3_SENSORS_EN.

Fixes #26454

* fix(boards): rename VDD_3V3_SENSORS4_EN to VDD_3V3_SENSORS_EN

These boards have a single sensor power rail that was incorrectly
named SENSORS4_EN (copy-paste from boards with 4 rails). Rename
to SENSORS_EN to match the actual hardware.

Boards with legitimately numbered rails (fmu-v6xrt, x25-evo,
x25-super) are not changed.
2026-03-16 14:51:47 -08:00
Phil-Engljaehringer
010f6dcbae
Refactor PCA9685 (#26379)
* refactor: use parseDefaultArguments

* style: reverted changes to docs (should be auto-generated)

* refactor: use parseDefaultArguments

* style: reverted changes to docs (should be auto-generated)
2026-03-05 15:31:12 +01:00
CaFeZn
963a776fa6
feat(heater): Add multi-instance support for heaters (#26325)
* heater: add multi-instance support, refactor parameter handling, remove legacy params file

This change introduces multi-instance heater support to allow independent temperature control for multiple IMUs.

Main changes:
- Add support for multiple heater instances
- Refactor parameter handling to use per-instance parameters
- Remove the legacy parameter file and migrate to the updated parameter structure

This improves scalability and makes heater configuration consistent across setups with multiple sensors.

* Refactor heater configuration across multiple boards

- Updated heater GPIO definitions to introduce a new naming convention for better clarity and consistency.
- Replaced `GPIO_HEATER_OUTPUT` with `GPIO_HEATER1_OUTPUT` and adjusted the corresponding output enable macros.
- Changed parameter names from `SENS_TEMP_ID` to `HEATER1_IMU_ID` in various board default configurations to reflect the new heater setup.
- Ensured all affected board configurations are updated to maintain functionality with the new heater definitions.

* heater: fix missing HEATER1_OUTPUT_EN control

* heater: fix more missing HEATER1_OUTPUT_EN control

* heater: tidy config, docs, and instance handling

- Remove unused controller period member and use CONTROLLER_PERIOD_DEFAULT
- Improve HEATER${i}_IMU_ID description and instance-related logging/behavior
- Add a guard when HEATER_NUM exceeds HEATER_MAX_INSTANCES

Note: drop intermediate/reverted change around the 'celsius' spelling.

* heater: refactor constructor to remove unused parameter and add instance name function

- Remove unused ModuleParams argument from Heater constructor
- Add heater_instance_name() helper to provide per-instance work queue task names
- Use instance-specific parameter lookup (HEATER{n}_*) during initialization

Use heater_instance_name() to label each instance (heater_1/2/3) in work queue.
Also drop unused ModuleParams argument from constructor and keep per-instance
parameter handle lookup in initialization.

* format

* board: update GPIO configuration for multiple heater instances, add HEATER_NUM for boards using PX4IO

* heater: update heater control to use HEATER1_OUTPUT_EN when using PX4IO for consistency

* heater: add a TODO for px4io multi-instance

* heater: update missing GPIO_HEATER1_OUTPUT in  sky-drones

* heater: fix multiple newlines at EOF (resolve CI check failure)

* heater: switch to PublicationMulti for heater_status and log multi-instance

- Changed _heater_status_pub from Publication to PublicationMulti to support independent per-instance publications without overwriting.
- Updated logged_topics.cpp to use add_optional_topic_multi("heater_status")

This fixes the issue where multiple heater instances were writing to the same heater_status topic, causing data overwriting and incorrect update rates in logs.

---------

Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2026-03-02 12:13:08 -09:00
Alexander Lerach
9ff373c325
modules: add task watchdog (#26535)
* modules: add task watchdog

* modules: adapt task watchdog to new module descriptor

* add review feedback
2026-02-27 13:09:21 +01:00
Julian Oes
1bfc0da258
[Sponsored by CubePilot] Get CI to pass all boards (#26402)
* kakutef7: try to save more flash
2026-02-03 16:46:36 -05:00
Niklas Hauser
c0c265cd1f [vtx] Add VTX driver with Tramp and SmartAudio support 2026-01-26 11:05:22 +01:00
Alexander Lerach
4ac7853479
auterion autostarter: Added autostart for PWM_EXPANDER, generalized c… (#25925)
* auterion autostarter: Added autostart for PWM_EXPANDER, generalized code, renamed module

* auterion autostarter: Enable on v6s, robustify error handling

* review comments
2026-01-21 19:05:09 +01:00
Alexander Lerach
cb6bdee4c2
boards: v6x, remove MS5611 driver to save flash (#26138) 2025-12-17 09:57:34 -09:00
Phil-Engljaehringer
3438d593a1
drivers: MCP23009 & MCP23017 shared code base (#25924)
* Implemented driver for MCP23017

* fixed compatability with mcp23009. (naming of instantiated GPIO-Devices)

* removed some comments

* removed even more comments

* commented out instatntiation of driver since it will not be used with v6x

* removed last useless comments

* re-activated gpio_mcp23009 driver, removed useless comments and empty lines

* removed empty lines at the end of mcp23017.cpp

* removed empty line

* Implemented driver for MCP23017

* fixed compatability with mcp23009. (naming of instantiated GPIO-Devices)

* removed some comments

* removed even more comments

* commented out instatntiation of driver since it will not be used with v6x

* removed last useless comments

* re-activated gpio_mcp23009 driver, removed useless comments and empty lines

* removed empty lines at the end of mcp23017.cpp

* removed empty line

* basic working implementation

* first improved driver version with shared code base for MCP23009 & MCP23017 (built as state machine with sanity checks)

* removed unused imports

* changed module name from MCP to MCP230XX

* removed debug print statements

* adjusted auto start command of driver

* removed comments

* -added seperate main functions for both derivative modules (mcp23009 and mcp23017)

* compile common functions as shared library in src/lib/drivers

* fixed cleanup of modules

* ->unclean working version with shared common library

* used make format

* working & cleaned version

* -> Added CallbackHandler to be able to use multiple reading GPIO-expanders simultaneously
-> Removed old mcap23009 calls and pin registrations
-> Adjusted GpioIn.msg to contain MAX_INSTANCES

* ->removed unused imports
->used make format

* Fix: Re-enabled platform_mcp_gpio for accton-godwit, cuav, fmu-v5x

* Fix: enabled platform_mcp_gpio in px4/fmu-v5x

* added depency to fmu-v5x

* Fix: removed new lines

* Fix: fixed linker errors

* removed unused linkage against mcp-library

* Made mcp start calls consistent for fmu-v5x and fmu-v6x

* moved logging of comm errors to read/write function directly

* added perf_count for sanity_check

* removed error message

* ensured member variables follow naming convention

* added retries to probe function

* simplyfied state-logic

* add break to terminate loop early

* ensured clean state when register_gpios() fails

* add registered-flag to pins

* used path from top dir instead of relative path in CMakeLists

* used constexpr to set parameters instead of calculating them at runtime

* style: used make format

* fix: corrected i2c_bus assignment

* style: init input of callbackhandler to 0

* fix: mark pin as registered if successful

* style: made arguments const type

---------

Co-authored-by: Alexander Lerach <alexander@auterion.com>
2025-12-17 17:48:30 +01:00
Alex Klimaj
12745baf6c
Adds configurable I2C address for PCA9685 PWM driver (#26051)
* Adds configurable I2C address for PCA9685 PWM driver

Introduces a parameter to set the I2C address for the PCA9685 PWM output driver, enhancing flexibility for hardware variations. Updates documentation and board initialization scripts to support the new configuration and streamline device startup.

* Update src/drivers/pca9685_pwm_out/module.yaml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/drivers/pca9685_pwm_out/module.yaml

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-12-12 09:31:19 -09:00
Alexander Lerach
73a8fc8fb0 boards: v6s, save flash by disabling serial_test 2025-12-09 17:15:39 +01:00
mahima-yoga
fcddea4410 v6s: remove rover to free up flash 2025-12-05 14:03:10 +01:00
Matthias Grob
f6de211a27 boards: skip resetting INA parameters to the same default value 2025-11-27 15:16:50 +01:00
Alexander Lerach
14b38f2eba boards: free up FLASH in auterion v6s by disabling modules 2025-11-25 09:50:01 -05:00
Julian Oes
fa7ffa423c boards: remove MAVLink development dialect
We should not build and release with the MAVLink development dialect
because messages in development.xml can change at any time and break
things.

Instead we should prototype and test things using specific mavlink-dev
targets.
2025-11-20 23:23:40 -09:00
Niklas Hauser
49febef5ca [AutFMUv6x] Enable PPS capture driver 2025-11-17 11:59:06 +01:00
Niklas Hauser
7cf9be6e10 [AutFMUv6x] Remove unused timer 2 2025-11-17 11:59:06 +01:00
Niklas Hauser
676fa8a883 [FMUv6s] Convert unused PPM pin to PPS input 2025-11-17 11:59:06 +01:00
PX4 BuildBot
3d9905251d boards: update all NuttX defconfigs 2025-11-10 01:06:31 -05:00
Niklas Hauser
c2fb48990a [FMUv6s] Communicate the correct board id version 2025-10-15 14:25:31 +02:00
Alexander Lerach
0f0fe8f1fa boards: align auterion v6x with APX4 2025-10-14 19:14:41 +02:00
Niklas Hauser
ba1e658750 boards: remove USB device from Auterion FMUv6x 2025-10-14 19:14:41 +02:00
Alexander Lerach
e8fbc30cf6 boards: add auterion v6x target 2025-10-14 19:14:41 +02:00
Niklas Hauser
3a734bc846 [board] Add PCA9685 driver to FMUv6s board 2025-08-29 14:05:40 +02:00
Niklas Hauser
b2b80e8075 [board] Reformat FMUv6s init script to start internal sensor first 2025-08-29 14:05:40 +02:00
Alexander Lerach
8f2c36689d
logging: allow logging backend config
* logging: allow logging backend config

* correct board comments

* documentation: updated logging section
2025-08-27 15:44:36 +02:00
Niklas Hauser
8c4d998931 [board] Use HSE as RTC clock for FMUv6s 2025-08-19 11:18:49 +02:00
Niklas Hauser
450f1d33f6 [board] Increase CPU speed to 480MHz for FMUv6s
The Ethernet clock output is not used anymore so there are no
restrictions on the clock tree configuration.
This aligns the clock speeds with FMUv6x.
2025-08-19 11:18:49 +02:00
PX4 BuildBot
81ff0925f8 boards: update all NuttX defconfigs 2025-08-07 20:35:04 -04:00
Ramon Roche
0cddd3dfb0
drivers: disable INS by default (#25303)
* drivers: disable INS by default

With the growing number of INS drivers some targets are running out of flash
and its becoming challenge to keep them under the limit.

Signed-off-by: Ramon Roche <mrpollo@gmail.com>

* Update boards/nxp/tropic-community/default.px4board

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

* Update boards/px4/fmu-v6xrt/default.px4board

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

---------

Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-07-31 11:42:21 -08:00
Alexander Lerach
2ecc7226e6 common_rc: enable on v5x/v6x/v6s, disable rc_input 2025-07-30 15:09:39 +02:00
Silvan Fuhrer
edfcbc7c9b boards: remove duplicated enabling of AUX_GLOB_POS
EKF2_AUX_GLOBAL_POSITION is y by default.

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2025-07-28 09:42:30 +02:00
mahima-yoga
3c79f25e10 fmu-v6s: disable analog battery monitoring when digital power module is enabled 2025-07-18 16:42:54 +02:00
mahima-yoga
5125059b8f fmu-v6s: add ina226/ina228/ina238 support 2025-07-18 16:42:54 +02:00
Silvan
e22329d074 add GYRO_FFT to v6s build
Signed-off-by: Silvan <silvan@auterion.com>
2025-07-18 14:15:46 +02:00
Alexander Lerach
3041960cf1 auav: enable on v5x/v6x/v6s boards 2025-07-18 09:58:03 +02:00
Alexander Lerach
7f5119f402 sensors: autostart bmm350 and add it to common mags 2025-07-14 17:52:18 +02:00
Alexander Lerach
6f81998e27 hardfault: add option to stream via mavlink 2025-06-13 13:32:00 +02:00
Niklas Hauser
8c6d7235e4 [drivers] Allow swapping RX/TX pins of DShot Telemetry 2025-05-27 11:07:29 +02:00
Silvan
8c1f7ec7c0 rename FWPositionController to FWModeManager
Signed-off-by: Silvan <silvan@auterion.com>
2025-05-26 14:47:38 +02:00
Marco Hauswirth
2cc9221aae
Revert "add flash-analysis for auterion_fmu-v6s board (#24885)" (#24896)
This reverts commit 9e45f077b189806bdd1b1ef1d2b3b6fe5e99f3aa.
2025-05-21 11:49:26 +02:00
Marco Hauswirth
9e45f077b1
add flash-analysis for auterion_fmu-v6s board (#24885) 2025-05-20 12:00:29 +02:00
Niklas Hauser
43ef690254 [boards] Do not start Mavlink on external connector by default 2025-04-23 15:31:58 +02:00
Niklas Hauser
154623500e
boards: Add Auterion FMUv6s target 2025-04-15 22:31:37 -04:00