| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(drvers/actuators): Fix vertiq_io clang-tidy errors | 5 个月前 | |
feat(adc): Add driver for ADS7128 ADC (#26471) * feat: add driver for ADS7128 ADC * style: used make format * fix: only read 1 byte in adc_get() * fix: set correct min/max/def value for VRef * fix: print i2c address in status * feat: add threshhold to failures before reset * feat: add failure_threshhold_count * style: remove unused variable definition from module.yaml * fix: removed retry logic from poll functions * fix: decreased sleep time in probe function * feat: add driver for ADS7128 ADC * style: used make format * fix: only read 1 byte in adc_get() * fix: changed scheduling logic * fix: ensure no false values are published * fix: removed unused variable definition * style: used make format * fix: removed merge artifact * fix: removed some merge artifacts | 5 个月前 | |
refactor(ina226): rewrite driver for robustness and clarity (#27364) * refactor(ina226): rewrite driver for robustness and clarity Mirrors the INA238 rewrite (#27359): - Non-blocking UNINITIALIZED -> RESET -> CONFIGURE -> MEASURE state machine. Each transition is its own RunImpl tick with an explicit ScheduleDelayed; init failures retry without losing the driver instance. - Tolerate ~2 s of consecutive collect() failures (MAX_CONSECUTIVE_FAILURES = DISCONNECT_DEBOUNCE_US / SAMPLE_INTERVAL_US) before a full reinit. Isolated I2C glitches just skip a cycle instead of dropping battery_status. - SAMPLE_INTERVAL_US = 100 ms, comfortably above the default ADC period of ~75.3 ms (588 us * 2 channels * 64 avg). MEASURE compensates for in-tick I2C time so each tick is exactly one interval apart. - CONFIGURE waits SAMPLE_INTERVAL_US + 5 ms before the first MEASURE read so the first averaged sample is ready. - checkConfigurationRotating() reads one of {CONFIGURATION, CALIBRATION} per cycle and compares it against the value we wrote, so an externally reset device is detected within two cycles. - '-t' arg validated against 1-3 at parse time; out-of-range values now exit with an error. - New perf counters ina226_bad_register and ina226_reinit for field diagnosis; current driver state is surfaced in 'ina226 status'. File layout: ina226_main.cpp folded into ina226.cpp. Constants/enums namespaced under ina226. Params switched to DEFINE_PARAMETERS, and the INA226_CONFIG raw-register override is removed in favor of a hardcoded continuous-conversion config. AuterionAutostarter::ina226_probe() updated to the new namespaced ina226::Register and ina226::MANFID / ina226::DIEID constants. Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> * fix(ina226): mask reserved bits when verifying CONFIGURATION register The INA226 CONFIGURATION register has D15 (RST) self-clearing and D14:D12 reserved, with D14 reading back as 1 regardless of what is written. The verify step compared the raw read-back to the value we wrote, so the check failed on every cycle and the driver re-initialized itself every ~2 s. Mask the non-R/W bits before comparing. Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> --------- Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> | 4 个月前 | |
fix(drivers/SPL06): fix SPI read off-by-one dropping data bytes (#27074) Fix: transfer len + 1 bytes and copy received data from offset 1, skipping the dummy byte. Copy into caller's buffer only on success. | 4 个月前 | |
refactor(drivers/batt_smbus): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
drivers: bootloaders: specify UAVCAN only in KConfig (#25947) | 10 个月前 | |
refactor(drivers/camera_capture): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
refactor(drivers/camera_trigger): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
fix(CI): Prerequisites for nuttx update (#27509) * src/drivers/cdcacm_autostart: Include posix.h for px4_close Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> * platforms/nuttx/CMakeLists.txt: Fix linking of nuttx libaries for memalign This fixes memalign not found in linking step for some boards Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> * Add "flock" to macos.sh setup script "flock" is not standard on macOS, and a dependency was missing from the macOS setup path. Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> * Fix clang-tidy errors in Bitset.hpp and in src/lib/matrix Fix the "bugprone-dynamic-static-initializers" linter errors. Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> * systemlib/hardfault_log: Fix clang-diagnostics error Fix for "[error] clang-diagnostic-error [error] use of undeclared identifier XCPTCONTEXT_REGS". XCPTCONTEXT_REGS is defined in nuttx irq.h, so include that. Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> * uORB: Fix clang-tidy error "bugprone-dynamic-static-initializers" Fix the clang-tidy error appearing on uORBManager _Instance variable by adding a getter for the reference to the _Instance and using that instead. Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> * CI: Add default ubuntu mirrors as fallback In case of specified aws mirror doesn't have the package idicated by the metadata, a the default ubuntu mirror as a backup. Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> --------- Signed-off-by: Jukka Laitinen <jukka.laitinen@tii.ae> | 4 个月前 | |
fix(drvers/cyphal): Fix cyphal clang-tidy errors | 5 个月前 | |
feat(drivers): add AUAV L60D support | 5 个月前 | |
feat(afbrs50): add SENS_AFBR_ROT orientation parameter (#27385) Add SENS_AFBR_ROT as the single source of truth for the AFBR-S50 mounting orientation and drop the -r CLI flag. The -r flag was already non-functional: the getopt string declared it without a trailing ':', so the case body called atoi(nullptr). Removing it is harmless and avoids ambiguity between "user did not pass -r" and "user explicitly passed -r 25". The driver now reads orientation from SENS_AFBR_ROT in the constructor. distance_sensor_s::ROTATION_* is a discontinuous enum (0-7, 24, 25), and the param schema can't express that natively, so the driver validates at start and falls back to ROTATION_DOWNWARD_FACING on out-of-set values. | 4 个月前 | |
fix(dshot): 3D mode deadzone disarm + inclusive deadband (#26685) * fix(dshot): send motor stop for 3D mode deadzone instead of min throttle In DShot 3D mode, convert_output_to_3d_scaling() returns DSHOT_DISARM_VALUE (0) for deadzone inputs. But up_dshot_motor_data_set() adds the MIN_throttle offset (+48), causing motors to spin at minimum throttle instead of stopping. Check the result of calculate_output_value() for DSHOT_DISARM_VALUE and send an explicit motor stop command, bypassing the +48 offset. * fix(dshot): make 3D deadband inclusive on both ends Change the 3D deadband check from [L, H) to [L, H] so that setting DSHOT_3D_DEAD_L equal to DSHOT_3D_DEAD_H (both default to 1000) produces a single-point deadband at that value, matching the natural reading of "between L and H" in the param description. Clarify the DSHOT_3D_DEAD_L/H param descriptions to state the range is inclusive and note the L=H default behavior. | 4 个月前 | |
fix: track message timeout and reconfigure module when unhealthy | 4 个月前 | |
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> | 9 个月前 | |
| 5 个月前 | ||
feat(heater): add more temp sources & heating modes | 4 个月前 | |
docs(rovers): add hiwonder rover airframes and setup guide (#27333) * rover: add hiwonder rover airframes * docs: hiwonder rovers setup guide * docs(docs): compress images * docs(docs): prettier * docs(docs): subedit * docs(rover): add back tip about custom firmware install * docs(rover): detail the hiwonder build / enable instructions * docs(rover): fix airframe typo for ackermann * docs(docs): Improve firmware section --------- Co-authored-by: chfriedrich98 <chfriedrich@student.ethz.ch> Co-authored-by: Hamish Willee <hamishwillee@gmail.com> Co-authored-by: Ramon Roche <mrpollo@gmail.com> | 4 个月前 | |
fix(driver): use correct device id for sht3x | 4 个月前 | |
feat(drivers/imu): add Analog Devices ADIS1657x IMU driver (#27239) | 5 个月前 | |
feat(drivers): VectorNav option to select IMU rate and output port (#27318) * feat: VectorNav option to select IMU rate and output port * feat(docs): Clarify VectorNav wiring param * Apply suggestion from @hamishwillee * Apply suggestion from @hamishwillee --------- Co-authored-by: Hamish Willee <hamishwillee@gmail.com> | 4 个月前 | |
refactor(drivers/irlock): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
fix(boards/3dr/ctrl-n1): board port fixes and driver corrections (#27405) * fix(drivers/ak09940a): fix probe retry, devtype collision, and register naming * fix(drivers/neopixel): check init return value and fix module name typo * fix(boards/3dr/ctrl-n1): correct magnetometer i2c bus, LED indexing, chip variant for bootloader, and TIM3 conflict with srgbled_dma * fix(boards/3dr/ctrl-n1): update bootloader for STM32H743VI | 4 个月前 | |
fix(mixer_module): change MixingOutput to use float outputs (#26724) * refactor(mixer_module): change MixingOutput to use float outputs MixingOutput now passes float values to output drivers instead of uint16_t. This removes the need for the 8192 offset encoding and allows reversible motors to receive negative values directly. * fix(mixer_module): fix float safety issues -EscClient and voxl2_io: replace outputs[i] with fabs(outputs[i]) > 0.fto fix compilation issues -GZMixingInterface: add explicit double cast to prevent compilation error -PWMSim: replaced unit16 cast with lroundf given that now motors outputs can be negative and casting a negative float to unit16 is undefinder behaviour -mixer_module: same fix of PWM (unit126 cast on negative float is undefined behaviour) * refactor(mixer_module): float rounding suggestions * fix(pwm_sim): fix inverted disarmed condition * fix(mixer_module): more float rounding improvements * fix(mixer_module_tests): use casting method which are now in drivers for rounding tests --------- Co-authored-by: Matthias Grob <maetugr@gmail.com> | 6 个月前 | |
fix(sensors): af9838 minor code style and architecture updates (#27370) * drivers: af9838 minor fixes and code style updates * Update af9838_main.cpp * Update af9838.cpp * Update af9838.hpp | 4 个月前 | |
fix(optical_flow): report actual integration timespan in PAW3902/PAA3905 (#27418) * fix(optical_flow): report actual integration timespan in PAW3902/PAA3905 The chip accumulates delta_x/delta_y in its burst registers until the Motion_Burst register is read, which clears the accumulator. The drivers previously reported a hardcoded mode-dependent SAMPLE_INTERVAL_MODE_X as the integration timespan regardless of how long ago the last burst read happened. This is wrong any time reads span more than one frame period - most commonly when the Motion DRDY pin doesn't fire (chip detected no motion) and the backup watchdog fires the read kBackupScheduleIntervalUs (20 ms) later instead of every frame. Downstream, VehicleOpticalFlow uses integration_timespan_us to size the gyro integration window used for body-rate compensation, and ekf2's _flow_gyro_bias estimator compares that gyro against the IMU at the matched delayed time. A wrong window length misaligns the gyro compensation with what the chip actually saw, and slowly biases _flow_gyro_bias - contaminating motion-reported fusions on the correctly-timed DRDY path too. Replace the hardcoded value with the actual interval between consecutive successful burst reads (clamped to a sane range). _timestamp_sample_last is reset on driver Reset() and updated on every successful burst read regardless of publish, since the chip clears its accumulator on every read. * refactor(optical_flow): use _ms literals for integration_timespan_us clamp Replace raw 1000/200000 microsecond bounds with 1_ms/200_ms to match the existing time_literals convention already used elsewhere in these drivers. No behavior change. Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> --------- Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> | 4 个月前 | |
fix(osd/atxxxx): show battery symbol based on remaining charge (#27447) The battery icon was hardcoded to BATT_3 regardless of actual charge level. Map battery.remaining (0-1) to the seven available AT7456E battery symbols (FULL through EMPTY). Signed-off-by: SofianElmotiem <sofianelmotiem@gmail.com> | 4 个月前 | |
fix(drivers): PCA9685 use correct internal OSC frequency (#27425) | 4 个月前 | |
refactor(ina226): rewrite driver for robustness and clarity (#27364) * refactor(ina226): rewrite driver for robustness and clarity Mirrors the INA238 rewrite (#27359): - Non-blocking UNINITIALIZED -> RESET -> CONFIGURE -> MEASURE state machine. Each transition is its own RunImpl tick with an explicit ScheduleDelayed; init failures retry without losing the driver instance. - Tolerate ~2 s of consecutive collect() failures (MAX_CONSECUTIVE_FAILURES = DISCONNECT_DEBOUNCE_US / SAMPLE_INTERVAL_US) before a full reinit. Isolated I2C glitches just skip a cycle instead of dropping battery_status. - SAMPLE_INTERVAL_US = 100 ms, comfortably above the default ADC period of ~75.3 ms (588 us * 2 channels * 64 avg). MEASURE compensates for in-tick I2C time so each tick is exactly one interval apart. - CONFIGURE waits SAMPLE_INTERVAL_US + 5 ms before the first MEASURE read so the first averaged sample is ready. - checkConfigurationRotating() reads one of {CONFIGURATION, CALIBRATION} per cycle and compares it against the value we wrote, so an externally reset device is detected within two cycles. - '-t' arg validated against 1-3 at parse time; out-of-range values now exit with an error. - New perf counters ina226_bad_register and ina226_reinit for field diagnosis; current driver state is surfaced in 'ina226 status'. File layout: ina226_main.cpp folded into ina226.cpp. Constants/enums namespaced under ina226. Params switched to DEFINE_PARAMETERS, and the INA226_CONFIG raw-register override is removed in favor of a hardcoded continuous-conversion config. AuterionAutostarter::ina226_probe() updated to the new namespaced ina226::Register and ina226::MANFID / ina226::DIEID constants. Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> * fix(ina226): mask reserved bits when verifying CONFIGURATION register The INA226 CONFIGURATION register has D15 (RST) self-clearing and D14:D12 reserved, with D14 reading back as 1 regardless of what is written. The verify step compared the raw read-back to the value we wrote, so the check failed on every cycle and the driver re-initialized itself every ~2 s. Mask the non-R/W bits before comparing. Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> --------- Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> | 4 个月前 | |
refactor(drivers/pps_capture): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
module_base: remove CRTP template pattern to reduce flash bloat (#26476) * module_base: claude rewrite to remove CRTP bloat * module_base: apply to all drivers/modules * format * fix build errors * fix missing syntax * remove reference to module.h in files that need module_base.h * remove old ModuleBase<T> * add module_base.cpp to px4_protected_layers.cmake * fix IridiumSBD can_stop() * fix IridiumSBD.cpp * clang-tidy: downcast static cast * get_instance() template accessor, revert clang-tidy global * rename module_base.h to module.h * revert changes in zenoh/Kconfig.topics | 7 个月前 | |
docs(pwm_out): list supported protocols in timer param description (#27101) Mention PWM, OneShot, DShot, and Bidirectional DShot in the long description so users can discover the parameter by searching for keywords like "bidirectional" or "dshot" in QGC. | 5 个月前 | |
refactor(drivers/px4io): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
QuRT logging improvements (#24462) - Made general improvements to the QURT platform message logging so that module name is printed both in mini-dm and on apps side terminal | 1 年前 | |
feat(crsf_rc): add CRSF receiver bind command (#26790) * feat(crsf_rc): add CRSF receiver bind command Add ability to initiate CRSF receiver binding from QGroundControl or the NSH console. When MAV_CMD_START_RX_PAIR is received with RC_TYPE_CRSF, the driver sends the CRSF bind command frame over UART. Binding is rejected when armed or on singlewire configurations. Also adds RC_TYPE and RC_SUB_TYPE constants to VehicleCommand.msg and replaces magic numbers in DsmRc and RCInput drivers. Based on PX4/PX4-Autopilot#23294. * style(crsf_rc): use C++ style comment * style(crsf_rc): zero-init vcmd, remove noisy comments, drop unused enum value * fix(rc): check write return value in BindCRSF, guard Spektrum bind against invalid sub-type * fix(rc): warn and deny invalid Spektrum bind sub-type Previously, an unrecognized param2 sub-type would silently leave dsm_bind_pulses at 0 and return the generic UNSUPPORTED ACK. Add an explicit else-branch that logs a PX4_WARN and returns DENIED so users get clear feedback in QGC. | 5 个月前 | |
feat(crsf_rc): add CRSF receiver bind command (#26790) * feat(crsf_rc): add CRSF receiver bind command Add ability to initiate CRSF receiver binding from QGroundControl or the NSH console. When MAV_CMD_START_RX_PAIR is received with RC_TYPE_CRSF, the driver sends the CRSF bind command frame over UART. Binding is rejected when armed or on singlewire configurations. Also adds RC_TYPE and RC_SUB_TYPE constants to VehicleCommand.msg and replaces magic numbers in DsmRc and RCInput drivers. Based on PX4/PX4-Autopilot#23294. * style(crsf_rc): use C++ style comment * style(crsf_rc): zero-init vcmd, remove noisy comments, drop unused enum value * fix(rc): check write return value in BindCRSF, guard Spektrum bind against invalid sub-type * fix(rc): warn and deny invalid Spektrum bind sub-type Previously, an unrecognized param2 sub-type would silently leave dsm_bind_pulses at 0 and return the generic UNSUPPORTED ACK. Add an explicit else-branch that logs a PX4_WARN and returns DENIED so users get clear feedback in QGC. | 5 个月前 | |
fix(drvers/roboclaw): Fix roboclaw clang-tidy errors | 5 个月前 | |
Fix duplicate newlines at the end of files | 2 年前 | |
fix(drivers/rpm/pcf8583): fix typos in parameter descriptions eneable→enable, Eneabled→Enabled, pool→poll, Nmumber→Number | 6 个月前 | |
refactor(drivers/rpm_capture): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
module_base: remove CRTP template pattern to reduce flash bloat (#26476) * module_base: claude rewrite to remove CRTP bloat * module_base: apply to all drivers/modules * format * fix build errors * fix missing syntax * remove reference to module.h in files that need module_base.h * remove old ModuleBase<T> * add module_base.cpp to px4_protected_layers.cmake * fix IridiumSBD can_stop() * fix IridiumSBD.cpp * clang-tidy: downcast static cast * get_instance() template accessor, revert clang-tidy global * rename module_base.h to module.h * revert changes in zenoh/Kconfig.topics | 7 个月前 | |
refactor(drivers/smart_battery/batmon): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
stub_keystore: Allow using also with other that SW_CRYPTO driver Remove "depends on DRIVERS_SW_CRYPTO" Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae> | 4 年前 | |
src/drivers/sw_crypto: Fix buffer lengths for xchacha20 crypto The size input argument for monocypher crypto_xchacha20_ctr should be the plaintext message length. The promise of the interface is, that the call to encrypt_data updates the ciphertext message length after the call succeeds. The crypto should check that the output buffer length (cipher length) is large enough to contain the encrypted data. Fix these issues; these have gone unnoticed for a long time since the interface has been only used by logger, and passing the same size for both in and out. Signed-off-by: Jukka Laitinen <jukkax@ssrc.tii.ae> | 2 年前 | |
refactor(drivers/tap_esc): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
fix(tattu_can): validate CAN frame bounds before buffer copy Add bounds checking in the CAN frame assembly loop to prevent a buffer overflow when copying payloads into the Tattu12SBatteryMessage struct. A crafted CAN frame with a corrupt payload_size could write past the 48-byte struct boundary. Also guard against payload_size of 0 which would cause an unsigned integer underflow on the size_t subtraction. Fixes GHSA-wxwm-xmx9-hr32 Signed-off-by: Ramon Roche <mrpollo@gmail.com> | 7 个月前 | |
refactor(drivers/telemetry/iridiumsbd): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
refactor(drivers/temperature_sensor/mcp9808): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
Fix duplicate newlines at the end of files | 2 年前 | |
module_base: remove CRTP template pattern to reduce flash bloat (#26476) * module_base: claude rewrite to remove CRTP bloat * module_base: apply to all drivers/modules * format * fix build errors * fix missing syntax * remove reference to module.h in files that need module_base.h * remove old ModuleBase<T> * add module_base.cpp to px4_protected_layers.cmake * fix IridiumSBD can_stop() * fix IridiumSBD.cpp * clang-tidy: downcast static cast * get_instance() template accessor, revert clang-tidy global * rename module_base.h to module.h * revert changes in zenoh/Kconfig.topics | 7 个月前 | |
refactor(drivers/transponder/sagetech_mxs): convert params.c to module.yaml Convert 1 parameter file(s) from legacy C format to YAML module configuration. | 6 个月前 | |
feat(actuators): increase servo channel count from 8 to 15 Bumps NUM_CONTROLS/MAX_ACTUATORS from 8 to 15 across all layers. Signed-off-by: alexcekay <alexander@auterion.com> | 4 个月前 | |
fix: uavcan RawAirData static handling (#27320) Co-authored-by: Ramon Roche <mrpollo@gmail.com> | 4 个月前 | |
module_base: remove CRTP template pattern to reduce flash bloat (#26476) * module_base: claude rewrite to remove CRTP bloat * module_base: apply to all drivers/modules * format * fix build errors * fix missing syntax * remove reference to module.h in files that need module_base.h * remove old ModuleBase<T> * add module_base.cpp to px4_protected_layers.cmake * fix IridiumSBD can_stop() * fix IridiumSBD.cpp * clang-tidy: downcast static cast * get_instance() template accessor, revert clang-tidy global * rename module_base.h to module.h * revert changes in zenoh/Kconfig.topics | 7 个月前 | |
feat(actuators): increase servo channel count from 8 to 15 Bumps NUM_CONTROLS/MAX_ACTUATORS from 8 to 15 across all layers. Signed-off-by: alexcekay <alexander@auterion.com> | 4 个月前 | |
module_base: remove CRTP template pattern to reduce flash bloat (#26476) * module_base: claude rewrite to remove CRTP bloat * module_base: apply to all drivers/modules * format * fix build errors * fix missing syntax * remove reference to module.h in files that need module_base.h * remove old ModuleBase<T> * add module_base.cpp to px4_protected_layers.cmake * fix IridiumSBD can_stop() * fix IridiumSBD.cpp * clang-tidy: downcast static cast * get_instance() template accessor, revert clang-tidy global * rename module_base.h to module.h * revert changes in zenoh/Kconfig.topics | 7 个月前 | |
fix(drvers/vtxtable): Fix VtxTable clang-tidy errors | 5 个月前 | |
fix files tags on the header comments (#23564) | 2 年前 | |
[Kconfig] Decompose Kconfig, now each module has its own Kconfig Which is better for versioning and decomposability | 4 年前 | |
ADC: replace ioctl with uorb message (#14087) | 6 年前 | |
src/platforms: move all headers to platforms/common/include/px4_platform_common and remove the px4_ prefix, except for px4_config.h. command to update includes: for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done Transitional headers for submodules are added (px4_{defines,log,time}.h) | 6 年前 | |
feat(dshot): Extended Telemetry and EEPROM support Overhauls the DShot driver with per-timer BDShot selection, multi-timer sequential capture, Extended DShot Telemetry (EDT), and AM32 ESC EEPROM read/write via MAVLink. Expands ESC support from 8 to 12 channels. BDShot: - Per-timer BDShot protocol selection via actuator config UI - Multi-timer sequential burst/capture on any DMA-capable timer - Adaptive per-channel GCR bitstream decoding - Per-channel online/offline detection with hysteresis Extended DShot Telemetry (EDT): - Temperature, voltage, current from BDShot frames (no serial wire) - New DSHOT_BIDIR_EDT parameter - EDT data merged with serial telemetry when both available AM32 EEPROM: - Read/write AM32 ESC settings via MAVLink ESC_EEPROM message - ESCSettingsInterface abstraction for future ESC firmware types - New DSHOT_ESC_TYPE parameter Other changes: - Per-motor pole count params DSHOT_MOT_POL1–12 (replaces MOT_POLE_COUNT) - EscStatus/EscReport expanded to 12 ESCs with uint16 bitmasks - Numerous bounds-check, overflow, and concurrency fixes - Updated DShot documentation | 6 个月前 | |
VOXL2: HRT updates for synchronization with Qurt time (#22881) - Added offset to Posix hrt time to account for synchronization with Qurt hrt time - Added new Kconfig to configure synchronization of HRT timestamps on VOXL2 - Moved voxl2 libfc sensor library submodule from muorb module to boards directory - Added check to make sure hrt_elapsed_time can never be negative | 2 年前 | |
fix files tags on the header comments (#23564) | 2 年前 | |
Minor cleanup/error checking, static_casts, print_status() additions, and formatting in the heater driver. | 5 年前 | |
Spelling errors (#19935) | 4 年前 | |
fix files tags on the header comments (#23564) | 2 年前 | |
uORB: make queue size (ORB_QUEUE_LENGTH) completely static (#22815) Previously uORB queue size was an awkward mix of runtime configurable (at advertise or IOCTL before allocate), but effectively static with all queue size settings (outside of test code) actually coming from the topic declaration (presently ORB_QUEUE_LENGTH in the .msg). This change finally resolves the inconsistency making the queue size fully static. Additionally there were some corner cases that the muorb and orb communicator implementation were not correctly handling. This PR provides fixes for those issues. Also correctly sets remote queue lengths now based on the topic definitions. * Made setting of uORB topic queue size in based on topic definition only * Fixes to the ModalAI muorb implementation * Removed libfc sensor from format checks * msg/TransponderReport.msg ORB_QUEUE_LENGTH 8->16 (was set to higher in AdsbConflict.h --------- Co-authored-by: Eric Katzfey <eric.katzfey@modalai.com> Co-authored-by: Daniel Agar <daniel@agar.ca> | 2 年前 | |
fix files tags on the header comments (#23564) | 2 年前 | |
fix files tags on the header comments (#23564) | 2 年前 | |
Driver headers: Move to 0-based indices | 11 年前 | |
fix(boards/3dr/ctrl-n1): board port fixes and driver corrections (#27405) * fix(drivers/ak09940a): fix probe retry, devtype collision, and register naming * fix(drivers/neopixel): check init return value and fix module name typo * fix(boards/3dr/ctrl-n1): correct magnetometer i2c bus, LED indexing, chip variant for bootloader, and TIM3 conflict with srgbled_dma * fix(boards/3dr/ctrl-n1): update bootloader for STM32H743VI | 4 个月前 | |
drivers/tone_alarm and tune_control small improvements/cleanup - drivers/tone_alarm: move to ModuleBase and purge CDev (/dev/tone_alarm0) - drivers/tone_alarm: only run on tune_control publication (or scheduled note) rather than continuously - drivers/tone_alarm: use HRT to schedule tone stop (prevents potential disruption) - msg/tune_control: add tune_id numbering - systemcmds/tune_control: add "error" special case tune_id - move all tune_control publication to new uORB::PublicationQueued<> - start tone_alarm immediately after board defaults are loaded to fix potential startup issues - for SITL (or other boards with no TONE output) print common messages (startup, error, etc) | 5 年前 | |
px4io: add watchdog - F1 iwdg:Support optional configuable init Co-authored-by: David Sidrane <David.Sidrane@NscDg.com> | 5 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 10 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 9 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 6 个月前 | ||
| 7 个月前 | ||
| 5 个月前 | ||
| 6 个月前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 5 个月前 | ||
| 2 年前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 7 个月前 | ||
| 6 个月前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 6 个月前 | ||
| 7 个月前 | ||
| 6 个月前 | ||
| 6 个月前 | ||
| 2 年前 | ||
| 7 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 7 个月前 | ||
| 4 个月前 | ||
| 7 个月前 | ||
| 5 个月前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 个月前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 11 年前 | ||
| 4 个月前 | ||
| 5 年前 | ||
| 5 年前 |