mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-30 18:06:39 +08:00
dijkstra
4 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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. |
||
|
|
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>
|
||
|
|
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> |
||
|
|
2333fb2853 |
boards: new accton-godwit_ga1
Build all targets / Scan for Board Targets (push) Has been cancelled
Build all targets / Build Group [${{ matrix.group }}][${{ matrix.arch == 'nuttx' && 'x86' || 'arm64' }}] (push) Has been cancelled
Build all targets / Upload Artifacts to S3 (push) Has been cancelled
Build all targets / Create Release and Upload Artifacts (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_fmu-v5_default) (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_sitl_default) (push) Has been cancelled
Checks / build (check_format) (push) Has been cancelled
Checks / build (check_newlines) (push) Has been cancelled
Checks / build (module_documentation) (push) Has been cancelled
Checks / build (px4_fmu-v2_default stack_check) (push) Has been cancelled
Checks / build (px4_sitl_allyes) (push) Has been cancelled
Checks / build (shellcheck_all) (push) Has been cancelled
Checks / build (tests) (push) Has been cancelled
Checks / build (tests_coverage) (push) Has been cancelled
Checks / build (validate_module_configs) (push) Has been cancelled
Clang Tidy / build (push) Has been cancelled
MacOS build / build (px4_fmu-v5_default) (push) Has been cancelled
MacOS build / build (px4_sitl) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:22.04) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:24.04) (push) Has been cancelled
Container build / Set Tags and Variables (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
EKF Update Change Indicator / unit_tests (push) Has been cancelled
Failsafe Simulator Build / build (failsafe_web) (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v5x (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v6x (push) Has been cancelled
FLASH usage analysis / Publish Results (push) Has been cancelled
ITCM check / Checking nxp_tropic-community (push) Has been cancelled
ITCM check / Checking px4_fmu-v5x (push) Has been cancelled
ITCM check / Checking px4_fmu-v6xrt (push) Has been cancelled
MAVROS Mission Tests / build (map[mission:MC_mission_box vehicle:iris]) (push) Has been cancelled
MAVROS Offboard Tests / build (map[test_file:mavros_posix_tests_offboard_posctl.test vehicle:iris]) (push) Has been cancelled
Nuttx Target with extra env config / build (px4_fmu-v5_default) (push) Has been cancelled
Python CI Checks / build (push) Has been cancelled
ROS Integration Tests / build (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:humble ubuntu:jammy]) (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:jazzy ubuntu:noble]) (push) Has been cancelled
SITL Tests / Testing PX4 tailsitter (push) Has been cancelled
SITL Tests / Testing PX4 iris (push) Has been cancelled
SITL Tests / Testing PX4 standard_vtol (push) Has been cancelled
Handle stale issues and PRs / stale (push) Has been cancelled
|