From 84268533962c1234d58f49ed3ce518ab3d700be2 Mon Sep 17 00:00:00 2001 From: Argolein <52103738+Argolein@users.noreply.github.com> Date: Mon, 9 Feb 2026 01:33:39 +0100 Subject: [PATCH 1/2] Add per-move pressure advance field to linear shaped CAN moves --- src/CanMessageFormats.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/CanMessageFormats.h b/src/CanMessageFormats.h index 12728a4..8a89bbf 100644 --- a/src/CanMessageFormats.h +++ b/src/CanMessageFormats.h @@ -141,8 +141,9 @@ struct __attribute__((packed)) CanMessageMovementLinearShaped static constexpr uint8_t SeqMask = 0x0f; - float acceleration; // the base acceleration during the acceleration segment, when the total distance is normalised to 1.0 + float acceleration; // the base acceleration during the acceleration segment, when the total distance is normalised to 1.0 float deceleration; // the base deceleration during the deceleration segment, when the total distance is normalised to 1.0 + float pressureAdvanceClocks; // PA to apply to extruders in this move, in step clocks union PerDriveValues { @@ -162,6 +163,7 @@ struct __attribute__((packed)) CanMessageMovementLinearShaped extruderDrives = 0; usePressureAdvance = 0; useLateInputShaping = 0; + pressureAdvanceClocks = 0.0; zero1 = zero2 = 0; } From dc1bcfc923d5c0cf690cdfc200d8ff632856084b Mon Sep 17 00:00:00 2001 From: Argolein <52103738+Argolein@users.noreply.github.com> Date: Mon, 9 Feb 2026 09:18:00 +0100 Subject: [PATCH 2/2] Add announce capability bit for movement PA snapshot support --- src/CanMessageFormats.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/CanMessageFormats.h b/src/CanMessageFormats.h index 8a89bbf..1a45f2b 100644 --- a/src/CanMessageFormats.h +++ b/src/CanMessageFormats.h @@ -831,7 +831,8 @@ struct __attribute__((packed)) CanMessageAnnounceNew uint8_t uniqueId[16]; // the unique ID of this board uint8_t numDrivers: 4, // the number of motor drivers on this board usesUf2Binary : 1, // set if this board takes a main firmware binary in .uf2 format - zero : 3; // for future expansion, set to zero + supportsMovementPaSnapshot : 1, // set if this board supports per-move PA snapshot in movement frames + zero : 2; // for future expansion, set to zero char boardTypeAndFirmwareVersion[43]; // the type short name of this board followed by '|' and the firmware version size_t GetActualDataLength() const noexcept