Skip to content

Size sumarray#39

Open
khancyr wants to merge 32 commits into
masterfrom
size_sumarray
Open

Size sumarray#39
khancyr wants to merge 32 commits into
masterfrom
size_sumarray

Conversation

@khancyr

@khancyr khancyr commented Jun 29, 2026

Copy link
Copy Markdown
Owner

Summary

Classification & Testing (check all that apply and add your own)

  • Checked by a human programmer
  • Non-functional change
  • No-binary change
  • Infrastructure change (e.g. unit tests, helper scripts)
  • Automated test(s) verify changes (e.g. unit test, autotest)
  • Tested manually, description below (e.g. SITL)
  • Tested on hardware
  • Logs attached
  • Logs available on request

Description

vbgitrepos and others added 30 commits June 26, 2026 09:18
Refactor the inverted-flight maneuver out of HeliQuadInvertedFlight into
a shared fly_inverted_flight() helper, and add a generic InvertedFlight
test that attempts inverted flight on each heli frame and asserts the set
that succeeds matches an expected-pass list: a frame that flies inverted
but is not expected to, or an expected frame that does not, fails the
test.  heli-quad has its own dedicated test.

The frames need a more negative collective range to hold inverted, so the
test sets H_COL_MIN, H_COL_ANG_MIN and the IM_STB_COL_* points for the
duration of the test.

Heading is not checked for the traditional frames: a single tail rotor
re-trims when inverted and drifts slowly, which is orthogonal to whether
the frame can hold inverted altitude (the property under test). The quad
keeps its strict heading and per-rotor negative-collective checks.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
After the rename of the FMUv3 hardware definitions to .inc, add a thin
hwdef.dat for each board which simply includes its .inc.  This keeps the
fmuv3 and fmuv3-bdshot build targets working and lets other boards share
the .inc without the board-level hwdef.dat.  No functional change.
fmuv3-bdshot.inc was a complete sideways copy of the fmuv3 definition
that had to be kept in sync by hand.  It now includes fmuv3.inc and
overrides only what differs for bi-directional dshot: PWM2/PWM3 gain
BIDIR, PWM5/PWM6 gain NODMA, SPI4 and its devices are removed to free up
DMA streams, and the DMA priorities are set accordingly.

The standalone copy lacked the Solo-specific, 1M-flash-check and external
IST8310 probing defines that fmuv3 carries, so those are undef'd to keep
behaviour identical.  The generated hwdef.h for fmuv3-bdshot,
Pixhawk1-bdshot and Pixhawk1-1M-bdshot is byte-for-byte unchanged.
fmuv3.inc no longer enables HAL_HAVE_IMU_HEATER (and fmuv3-bdshot.inc,
which now includes it, inherits that).  Boards based on FMUv3 declare the
IMU heater explicitly, so whether a board has a heater is recorded on the
board itself rather than inherited.

The fmuv3 / fmuv3-bdshot reference targets keep the heater in their own
hwdef.dat.  Boards which enable the heater but set no HAL_IMU_TEMP_DEFAULT
(and do not set BRD_HEAT_TARG in defaults.parm) carry a comment querying
whether they really have a heater.  No functional change.
These boards are based on FMUv3 but, unlike the Pixhawk2/Cube, do not
have an IMU heater.  Now that the heater is enabled per-board rather than
inherited from fmuv3, these boards simply do not enable it.
The nullptr guard is in the calling function already.
All if-else end up using identical values, so it does nothing.
Co-authored-by: Pierre Kancir <pierre.kancir.emn@gmail.com>
Co-authored-by: Pierre Kancir <pierre.kancir.emn@gmail.com>
CORVON 743V2 is a 10-motor / 2-servo flight controller based on the
STM32H743VIH6. ICM-42688P and BMI088 IMUs on SPI3, BMP581 baro and
IST8310 compass on the internal I2C2 bus, dual analog battery monitor,
analog airspeed and RSSI, 8 UARTs, FDCAN1 and microSD logging.
Promote the parameter-system subtests into their own top-level tests:
ParameterDocumentation, ParametersMIS_TOTAL and ParametersDownload.
This makes them individually selectable and reportable.  No behaviour
change beyond the split; the per-vehicle balancebot skip is preserved
on each new test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The test sampled MIS_TOTAL, attempted a (correctly rejected) GCS set,
then asserted the value was unchanged.  But MIS_TOTAL changes
legitimately from 0 to 1 the moment the EKF establishes home:
AP_AHRS::set_home() calls AP_Mission::write_home_to_storage(), which
sets _cmd_total to 1.  When that home-set landed between the two reads
the test failed intermittently with "Total has changed".

Disable the simulated GPS and reboot before the checks so home is never
established during the test, keeping MIS_TOTAL stable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
khancyr and others added 2 commits June 29, 2026 15:33
Add a PR comment step to global-summary that posts the size table and
updates it in place on re-runs using a HTML marker.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Global Size Summary (Total Flash delta in bytes)

Board AP_Periph antennatracker blimp bootloader copter heli iofirmware plane rover sub
DrotekP3Pro _ _ _ 0 _ _ _ _ _ _
Durandal _ +204 +204 _ +204 +204 _ +204 +204 +204
Hitec-Airspeed 0 _ _ _ _ _ _ _ _ _
KakuteF7 _ * * _ * * _ * * *
MambaH743v4 _ +212 +212 _ +212 +212 _ +212 +212 +212
MatekF405-CAN _ _ _ 0 _ _ _ _ _ _
MatekF405 _ * * _ * * _ * * *
MatekH743-bdshot _ +204 +204 _ +204 +204 _ +204 +204 +204
Pixhawk1-1M _ -1044 -1148 _ -1044 -1040 _ -1000 -1012 -1148
disco _ +292 +292 _ +292 +302 _ +292 +284 +284
f103-GPS 0 _ _ _ _ _ _ _ _ _

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants