Commit Graph
63 Commits
Author SHA1 Message Date
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
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
Julian Oes 6ef0e57eeb boards: remove unused IMU sensors from 6X
It turns out ICM20602 and ICM20948 are not actually started/probed on
the px4/v6x platform. We should be able to remove them without
repercussions and save some flash.
2026-02-11 08:31:55 +01:00
Alexander Lerach e8fbc30cf6 boards: add auterion v6x target 2025-10-14 19:14:41 +02:00
Alexander Lerach 2ecc7226e6 common_rc: enable on v5x/v6x/v6s, disable rc_input 2025-07-30 15:09:39 +02:00
Alexander Lerach 047578a844 Disarm PWM ESCs before reboot 2025-02-10 18:16:48 +01:00
Daniele PettenuzzoandNiklas Hauser 35239c48a2 Board: Fix fmu rc_input on v5x and v6x (#23175)
Co-authored-by: Niklas Hauser <niklas@auterion.com>
2024-09-25 15:57:46 +02:00
BazookaJoe1900 4d83badba1 fix files tags on the header comments (#23564) 2024-09-19 09:25:18 +03:00
Niklas Hauser cd231d0eed fmuv6x: Add GPIO expander to check overcurrent pins 2024-08-08 13:14:11 -04:00
David Sidrane c07edd1d9a px4_fmu-v6x:Add Sensor set 8 2024-02-01 21:11:32 -05:00
David Sidrane 5ab92173f2 px4_fmu_v6x:Use common PAB manifest 2024-01-30 11:15:03 -05:00
David Sidrane 8ff4ed8321 px4_fmu-v6x:Use BOARD_HAS_HW_SPLIT_VERSIONING 2024-01-30 11:15:03 -05:00
David Sidrane 9151d582ed px4_fmu-v6:Add Sensor Set Rev 6 2023-09-21 16:22:44 -04:00
Igor Mišić c1dbe177b8 boards: move FRAM emulated sector size to the 32-byte granularity (#21204) 2023-09-20 16:50:36 -04:00
Beat Küng a2ce73d39d px4/fmu-v6x: increase BL baudrate for flashing via uart to 1500000 2023-04-13 07:46:49 +02:00
Daniel Agar 45912066d2 fix copyright header year range 2023-01-14 09:16:16 -05:00
tanja ba344231d2 v6x: configure SPI busses for board 0x010 2022-12-13 08:09:15 +01:00
David Sidrane 9faa8e23e8 NuttX Upgrade CONFIG_LIB_BOARDCTL->CONFIG_BOARDCTL 2022-11-22 14:30:08 -05:00
2cb4ef0629 NuttX 10.3+ upgrade (#20190)
Co-authored-by: Peter van der Perk <peter.vanderperk@nxp.com>
Co-authored-by: David Sidrane <David.Sidrane@NscDg.com>
Co-authored-by: alexklimaj <alex@arkelectron.com>
2022-11-20 20:28:07 -05:00
Igor Mišić 815eed2c6d mtd: add support for extended HW revision 2022-11-10 07:45:44 +01:00
David Sidrane d749389f95 fmu-v6x:CUAV HW Version changes 2022-09-23 09:32:43 -04:00
David Sidrane e284d4aa52 fmu-v6x:CUAV HW Version changes 2022-09-22 11:36:16 -04:00
CUAVmengxiao 9493008dbb px4_fmu-v6X: add CUAV board 2022-09-22 11:36:16 -04:00
Julian Oes 5aa873aed5 fmu-v6x: alias, add VX43
- alias from hw_mft_list_v0650 to hw_mft_list_v0600 as it is the same
- add V6X50 again
2022-09-20 08:26:16 -04:00
David Sidrane eaac84ab20 px4_fmu-v6x_bootloader:Ensure PWM pins are low from boot 2022-09-15 19:24:50 -04:00
Julian Oes ed10146e9f fmu-v6: disable Rev 0, Rev 1 for HB Mini, and CM4
As I understand it, only Rev 3 and Rev 4 were shipped by HB for Mini and
CM4, and are likely to be used for it.

It would be nice to have all combinations but it requires quite some
flash in the current implementation.
2022-09-08 20:54:19 -04:00
Vincentpoont2 f476ebdcbf Correct BOARD_NUM_SPI_CFG_HW_VERSIONS at board_config.h 2022-09-08 20:54:19 -04:00
Vincentpoont2 9d5adf8bab Fix Error on manifest.c 2022-09-08 20:54:19 -04:00
Vincentpoont2 e91295e5db Fix Error on board_config.h Define on FMUv5X & FMUv6X 2022-09-08 20:54:19 -04:00
Vincentpoont2 b16a53018d Add Holybro Pixhawk Pi CM4 Baseboard Support 2022-09-08 20:54:19 -04:00
Igor Mišić f929017618 boards: link missing arch_io_pins lib 2022-07-31 11:19:20 -04:00
Igor MišićandDavid Sidrane 4b503c310e Merge PR #19575 (changes to pr-extendend_hw_ver_rev_format)
- 4096 of 3 hex digits each for rev and ver is enough.
    #defines used in SPI versions do not be long format, use use the macro
 - Board provides a prefix and the formatting is sized and built in
 - No need for funky board_get_base_eeprom_mtd_manifest interface
    Original mft is used where the abstraction is done with the MFT interface

Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
2022-07-05 09:29:26 +02:00
Igor Mišić ec1614d156 boards: update id string from V5X{0-a}{0-a} to V5X{xxxx}{xxxx}
boards: new format for hwtypecmp string
boards: update manifest.c to follow the new hw_ver_rev format
2022-07-05 09:29:26 +02:00
Igor Mišić 3463b725a5 px4_manifest: fix px4_mft_s to accept multiple manifests 2022-07-05 09:29:26 +02:00
David Sidrane 74a2930315 px4_fmu-v6X:Added Holybro mini base board 2022-05-27 15:02:28 -04:00
David Sidrane 2bdeb36ea3 px4_fmu-v6x:Add Rev 4 Sensors 2022-05-20 15:52:32 -04:00
David Sidrane 9fe2dfc2e3 px4_fmuv-6x Sensor set 3 2022-03-23 12:24:31 -04:00
David Sidrane c0facec889 cdc_acm_check:Prevent USB disconect on param save
If the hardware support RESET lockout that has nArmed ANDed with VBUS
   vbus_sense may drop during a param save which uses
   BOARD_INDICATE_EXTERNAL_LOCKOUT_STATE to prevent external resets
   while writing the params.  If we are not armed and nARMRED is low
   we are in such a lock out so ignore changes on VBUS_SENSE during this
   time.
2022-02-21 10:56:41 +01:00
Beat Küng 92769bd2b2 dshot: remove BOARD_DSHOT_MOTOR_ASSIGNMENT & handle timer channel gaps 2022-01-21 20:41:15 -05:00
Daniel Agar daa925137c boards: move default battery calibration defines to parameter defaults 2022-01-10 09:49:36 -05:00
Daniel Agar 8185e2a384 boards: board_app_initialize() don't return early on failure
- depending on the situation we're more likely to get actionable user
feedback by allowing boot to complete rather than silently failing
2021-12-09 20:41:54 -05:00
Beat Küng 2b039b2af8 px4/fmu-v6x: add capture pins to list of pwm pins 2021-10-18 18:45:19 -04:00
Daniel Agar bbfaa4694c boards: cleanup serial RX DMA hrt_call_every
- remove ts_to_abstime dependency
2021-10-06 14:39:59 -04:00
Beat Küng c5c80e31b6 boards: remove DIRECT_INPUT_TIMER_CHANNELS from board_config.h 2021-09-08 16:10:24 -04:00
Beat Küng a8e75d174c boards: remove BOARD_HAS_PWM and use DIRECT_PWM_OUTPUT_CHANNELS 2021-09-08 16:10:24 -04:00
David Sidrane ec61512cdf NuttX inits null console 2021-08-13 14:22:00 -04:00
Kirill Shilov e13884410b heater: added support of inverted IMU heat controller output 2021-07-20 10:37:53 -04:00
David Sidrane 05bdef867d Track NuttX syslog change 2021-06-16 17:07:47 +02:00
David Sidrane 62fd132047 boards:Use inttypes
nxp_ucans32k146:Fix constant

spracing_h7extreme:Use inttypes
2021-06-16 17:07:47 +02:00
David Sidrane 32e92ba817 Revert:Pull downs - bad levels cause motor spins 2021-06-01 15:18:47 -04:00