LiuYang

LiuYang a împins spre dev-vkfly-main la VKFLY_INDUSTRY/PX4-Autopilot

  • dcb25d26c6 fix(boards/vkfly): fix defconfig file for new nuttx version
  • e26a269c40 feat(boards/vkfly): add vkfly v10pro board
  • 31aa8c9531 feat(boards/vkfly): add vkfly v12 board
  • 0fb3847cd9 fix(mavlink): reject TUNNEL messages that overstate their payload length (#28573) The TUNNEL message carries a fixed 128-byte payload alongside a uint8_t payload_length, so a sender can advertise up to 255 bytes of data in a buffer that can only ever hold 128. handle_message_tunnel() copied that length into the uORB topic unchanged. The consumers trust it: voxl_esc and voxl2_io both pass payload_length straight to _uart_port.write() over the 128-byte payload, so a length above 128 reads past the end of the array and transmits whatever follows it out of the ESC or IO UART. Drop such a message rather than clamping the length. These payloads are forwarded verbatim to a device, where a truncated frame would corrupt the device protocol rather than fail cleanly. Assisted-by: Claude:claude-opus-5[1m] Signed-off-by: Julian Oes <julian@oes.ch>
  • 1e015c73e3 feat(drivers/afbrs50): update Broadcom API to 1.6.6.1 (#28262) * feat(drivers/afbrs50): update Broadcom API to 1.6.6.1 Vendor the latest AFBR-S50 API so the rangefinder driver tracks Broadcom's 1.6.6.1 library and near-range DCA improvements. Assisted-by: Grok:grok-4.6 Signed-off-by: alexklimaj <alex@arkelectron.com> * fix(drivers/afbrs50): print full API version 1.6.6.1 Argus_GetAPIVersion() only encodes major.minor.bugfix, which hides the vendored 1.6.6.1 patch level in the startup log. Assisted-by: Grok:grok-4.6 Signed-off-by: alexklimaj <alex@arkelectron.com> --------- Signed-off-by: alexklimaj <alex@arkelectron.com>
  • Vizualizați comparația pentru aceste 55 consemnări »

1 săptămână în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/PX4-Autopilot

  • 0fb3847cd9 fix(mavlink): reject TUNNEL messages that overstate their payload length (#28573) The TUNNEL message carries a fixed 128-byte payload alongside a uint8_t payload_length, so a sender can advertise up to 255 bytes of data in a buffer that can only ever hold 128. handle_message_tunnel() copied that length into the uORB topic unchanged. The consumers trust it: voxl_esc and voxl2_io both pass payload_length straight to _uart_port.write() over the 128-byte payload, so a length above 128 reads past the end of the array and transmits whatever follows it out of the ESC or IO UART. Drop such a message rather than clamping the length. These payloads are forwarded verbatim to a device, where a truncated frame would corrupt the device protocol rather than fail cleanly. Assisted-by: Claude:claude-opus-5[1m] Signed-off-by: Julian Oes <julian@oes.ch>
  • 1e015c73e3 feat(drivers/afbrs50): update Broadcom API to 1.6.6.1 (#28262) * feat(drivers/afbrs50): update Broadcom API to 1.6.6.1 Vendor the latest AFBR-S50 API so the rangefinder driver tracks Broadcom's 1.6.6.1 library and near-range DCA improvements. Assisted-by: Grok:grok-4.6 Signed-off-by: alexklimaj <alex@arkelectron.com> * fix(drivers/afbrs50): print full API version 1.6.6.1 Argus_GetAPIVersion() only encodes major.minor.bugfix, which hides the vendored 1.6.6.1 patch level in the startup log. Assisted-by: Grok:grok-4.6 Signed-off-by: alexklimaj <alex@arkelectron.com> --------- Signed-off-by: alexklimaj <alex@arkelectron.com>
  • 4d99a38b5f docs(maintainers): promote Jonas Perolini to Navigator code owner Navigator (missions, RTL, detect-and-avoid, takeoff/landing) has no Code Owner. Jonas has been doing that work as a Reviewer. Assisted-by: Grok:grok-4.6 Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>
  • 6dc89338a8 fix(commander): build mag calibration only with CONFIG_SENSORS_VEHICLE_MAGNETOMETER (#28555) Boards that compile the magnetometer pipeline out still linked 8.6 KB of calibration that could never run. holybro_kakutef7 is one of them and sits at 100 % of flash on main. The calibration commands answer UNSUPPORTED there.
  • 29120280ac fix(crsf_rc): avoid out-of-range packet type enum conversion (#28449) An arbitrary CRSF packet type is an eight-bit wire value. Converting an unknown value to CRSF_PACKET_TYPE before descriptor lookup invokes undefined behavior under C++ enum sanitization. Keep the lookup boundary as uint8_t; the descriptor table already stores its packet type in that representation.
  • Vizualizați comparația pentru aceste 812 consemnări »

1 săptămână în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/VK_Mavlink

2 săptămâni în urmă

LiuYang a împins spre dev-vkfly-main la VKFLY_INDUSTRY/PX4-Autopilot

  • 849f38b267 feat(boards/vkfly): add vkfly v10pro board
  • 2296025f36 feat(boards/vkfly): add vkfly v12 board
  • d89835fb25 fix(dshot): emit the DShot rate that was asked for on STM32 (#28511) * fix(dshot): emit the DShot rate that was asked for on STM32 io_timer_set_dshot_burst_mode() wrote the tick count into ARR, but an STM32 timer period is ARR + 1 ticks, and the prescaler divided by that same tick count. Every bit came out one tick long, so the output ran at 21/20 of the requested rate and the 7/14 compare counts -- betaflight's, where the period really is 20 ticks -- landed on 21 and gave 33.3 %/66.7 % instead of the protocol's 37.5 %/75 %. Measured on an ARK FMU-v6X (240 MHz timer, BDShot300) with a logic analyser: bit period 3.500 us (+5.00 %) -> 3.333 us (-0.01 %) bit 0 high 33.2 % -> 37.3 % bit 1 high 66.5 % -> 74.9 % Subtracting one from ARR alone is not enough. A tick count fixed at 20 (19, 18) cannot divide every timer clock by every rate: 200 MHz at DShot600 would go from +0.80 % to -4.00 % and 90 MHz from -2.00 % to -6.67 %. Choose the tick count and the prescaler together instead, scoring the emitted rate first and the two high times second, and derive the compare counts from the tick count that wins. That is exact on 84, 90, 96, 108, 168, 180, 216 and 240 MHz at all three rates, and within 0.25 % on 160 MHz and 0.80 % on 200 MHz, where no integer pair is exact. The search only depends on the timer clock and the rate, so io_timer.c caches its answer per timer and recomputes only if the rate changes, which is once. That leaves the transmit path with no arithmetic at all where it previously ran a modulo loop and two divisions on every burst and every capture. The capture prescaler comes out of the same struct and no longer follows the transmit tick count. It only sets the resolution of a free-running counter, so it aims for a fixed 20 ticks per response bit, which is what keeps a one-to-three bit run inside the interval window convert_edge_intervals_to_bitstream() accepts. * fix(dshot): search up to 40 ticks per bit and keep the search in 32 bits 333 cycles per bit (200 MHz at DShot600, 100 MHz at DShot300) is 9 x 37, so a ceiling of 32 ticks left those clocks at 0.79 % when 37 x 9 lands within 0.10 %. The wider range also moves the clocks that were settling on a 39-40 % bit-0 duty onto 37.5 %. The rounded prescaler keeps ticks * prescaler * rate within half a bit of the timer clock, so the 64-bit compare bought nothing. The timing cache now starts on a rate nobody asks for, so its zero-rate guard is reachable instead of returning a zeroed struct. Assisted-by: Claude:claude-fable-5-1 Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com> --------- Signed-off-by: Jacob Dahl <dahl.jakejacob@gmail.com>
  • c3328cfe04 fix(uploader): shorter wait and nicer port paths (#28514) * fix(uploader): shorten the wait for a bootloader after reboot Reboot-to-bootloader is immediate, so this wait only has to cover USB re-enumeration, not the reboot. Five seconds of it meant a port that was never going to answer held up every other port on the list, and it could outlast the window it was trying to catch: a board sits in its bootloader for BOOTLOADER_DELAY, 3s on some boards and 5s on most, before it jumps to the application. With an FMU-v6C and a Black Magic probe attached, a pass over the probe's two CDC nodes drops from 14.75s to 5.45s, and a running application is in its bootloader 3.52s after the uploader starts. Assisted-by: Claude:claude-opus-5 Signed-off-by: Julian Oes <julian@oes.ch> * fix(uploader): report ports by their /dev/serial/by-id name A ttyACM number is handed out in plug order and says nothing about which device it belongs to, which is awkward as soon as there is more than one CDC device on the bus -- "Attempting reboot on /dev/ttyACM0" gives no hint that it is a debug probe rather than the board. Resolve each detected port back to its by-id symlink when one exists, so every message names the device. This also collapses a duplicate: a board is matched both by a by-id pattern and by the /dev/ttyACM* catch-all, so it was being probed twice per pass. With an FMU-v6C and a Black Magic probe attached, detection goes from four entries with two naming the same board to three, each identifying itself. Linux only; elsewhere, and for ports with no symlink, paths are unchanged. Assisted-by: Claude:claude-opus-5 Signed-off-by: Julian Oes <julian@oes.ch> --------- Signed-off-by: Julian Oes <julian@oes.ch>
  • 19ce32980e fix(ark/fmu-v6xrt): probe PAB EEPROM after I2C6 is up (#28513) The 24LC64T on I2C3_BASE is wired to LPI2C6 (X1_8/10). Manifest MTD talks I2C, so it has to run after those pins are I2C and VDD_5V_PERIPH is on, or the chip does not attach and netman cannot save.
  • Vizualizați comparația pentru aceste 101 consemnări »

2 săptămâni în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/VK_Mavlink

3 săptămâni în urmă

LiuYang a împins spre dev-vkfly-main la VKFLY_INDUSTRY/PX4-Autopilot

  • d9713aee4b feat(boards/vkfly): add vkfly v10pro board
  • 184efc4088 feat(boards/vkfly): add vkfly v12 board
  • 64cbe71af7 fix(mag_cal): make rotation auto-detection robust to invalid mag fits (#28322) * fix(mag_cal): only use mags with a valid fit for rotation detection A disabled mag whose sphere fit fails is reset to raw values, but was still used as the auto-rotation reference (and as a candidate). Comparing against uncalibrated data makes the rotation determination always fail, so an external mag rotation can never be determined on vehicles with a biased internal mag. * fix(mag_cal): report rotation detection failure to the user The failure was only printed to the console while the calibration still reported success, leaving external mags with an undetermined rotation and no indication that the heading may be wrong. * fix(mag_cal): warn when rotation detection has no valid reference If no internal mag produced a valid fit, rotation detection was skipped without warning and external mag rotations left unverified, with the calibration still reporting success. Tell the user which CAL_MAGx_ROT to set manually. Co-authored-by: elisaaferraraa <147555982+elisaaferraraa@users.noreply.github.com> * fix(mag_cal): fix double normalization of rotation detection error MSE is already normalized by the sample count, so the error check compared sqrt(MSE/N) against the 0.25 Ga threshold and effectively never failed: a 1.7 Ga mismatch evaluates to ~0.1. Use the RMS error as intended. Regression from 1a6eb7859c. --------- Co-authored-by: elisaaferraraa <147555982+elisaaferraraa@users.noreply.github.com>
  • a906b72868 docs(docs): Fix external links and add ignore deferals to retested cases (#28400)
  • 59061867d5 docs(docs): add smartmicro rangefinder (#28274)

3 săptămâni în urmă

LiuYang a creat o ramură nouă dev-vkfly-main la VKFLY_INDUSTRY/PX4-Autopilot

3 săptămâni în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/VK_Mavlink

1 lună în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/mlog_tool

1 lună în urmă

LiuYang a împins spre dev-vkfly la VKFLY_INDUSTRY/PX4-Autopilot

1 lună în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/VK_Mavlink

1 lună în urmă

LiuYang cerere de tragere comasată VKFLY_INDUSTRY/VK_Mavlink#3

添加外置adc复用消息

1 lună în urmă

LiuYang cerere de tragere închisă VKFLY_INDUSTRY/VK_Mavlink#3

添加外置adc复用消息

1 lună în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/VK_Mavlink

2 luni în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/VK_Mavlink

  • 9c0a239e66 精简仓库为 MAVLink 消息定义 移除 SCons 构建脚本和已生成的 C 头文件,保留 XML 作为协议定义源,并补充 pymavlink 构建依赖说明。

2 luni în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/VK_Mavlink

2 luni în urmă

LiuYang a împins spre main la VKFLY_INDUSTRY/PX4-Autopilot

  • 28b0d415cd docs: auto-sync metadata [skip ci] Co-Authored-By: PX4 BuildBot <bot@px4.io>
  • 4c3b41d43e docs(uxrce): add support for DDS v3, ROS 2 lyrical and humble (#27705)
  • d31c692347 docs: auto-sync metadata [skip ci] Co-Authored-By: PX4 BuildBot <bot@px4.io>
  • 29a2315dc9 docs(update): InertialLabs fixes (#27662)
  • 0861ba0088 fix(docs): invert vectorized diagram SVGs in dark mode (#27574) * fix(docs): invert vectorized diagram SVGs in dark mode * docs(docs): Apply fix as a class * Add yarn lock to fix CI --------- Co-authored-by: Hamish Willee <hamishwillee@gmail.com>

2 luni în urmă

LiuYang a creat o ramură nouă main la VKFLY_INDUSTRY/PX4-Autopilot

2 luni în urmă

LiuYang a împins spre dev-vkfly la VKFLY_INDUSTRY/PX4-Autopilot

  • aa8cc37321 feat(boards/vkfly): add VKFly V12 V10pro board support
  • c78ae32595 platforms/nuttx: fix stm32 bootloader VBUS deinit for boards without VBUS sense
  • d6f12ad1c4 Update NuttX fmu-v6x config use with Zenoh (#26213) (cherry picked from commit df42ef84f1166afe9ff281f312a9701930a3ec35) Signed-off-by: Ramon Roche <mrpollo@gmail.com>
  • af8a33fd41 feat(boards): fmu-v6x: reduce I2C4 GPIO speed from 50MHz to 25MHz (#26434) * fmu-v6x: reduce I2C4 GPIO speed from 50MHz to 25MHz Lower the I2C4 SCL/SDA GPIO slew rate to 25MHz to improve signal integrity and reduce EMI on the I2C4 bus. * Overriding speed bits Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
  • 43162e74a7 fix(bmp581): add pressure range validation (#26373) Reject pressure readings outside the sensor's operating range (30-125 kPa) to detect I2C data corruption. When I2C transfers complete successfully but return corrupted data, this check prevents invalid samples from being published. Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>

2 luni în urmă

LiuYang a creat o ramură nouă dev-vkfly la VKFLY_INDUSTRY/PX4-Autopilot

2 luni în urmă