help: Fix broken and missing figure references in equation library - #1715
Open
Wiljea wants to merge 19 commits into
Open
help: Fix broken and missing figure references in equation library#1715Wiljea wants to merge 19 commits into
Wiljea wants to merge 19 commits into
Conversation
While evaluating the program for `DoList` or `DoSub`, the scratch pad could be expanded by the program, adding "junk" to the generated list. Added code that restores the scratchpad after program evaluation if necessary. This bug was detected by the GitHub CI on Windows where it was causing an assertion failure on the generated list. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
The agents kept getting RPL case independence wrng. A slightly stronger wording might help avoiding having useless aliases pop up in `ids.tbl` or useless test concerns about `x` vs `X`. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Add `FlightRecorderConfigure` command to configure recorder tracing from within DB48x. Add `FlightRecorderDump` and `FlightRecorderDumpSome` to to a full or partial dump of the flight recorder. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
When using a `scribble` object to create temporaries, it was possible for intermediate allocations to add junk on the runtime scratchpad. That junk could then end up in whatever object the scribble was causing. This was exposed by a memory corruption affecting the `DoList` and `DoSubs` commands when the intermediate program was leaving leftovers on the scratchpad: that leftover was then integrated in the list, and that manifested as a corrupt object where the recorded length did not match the internal structure, causing an assert. For some reason, that assert only triggeded on Windows. This exposed an underlying assumption in the `scribble` class, which is now explicitly checked by keeping track of where the allocation is supposed to be. To faciliate that, helpers in the `scribble` class wrap the `runtime` allocation routines, ensuring that we know where the allocation is supposed to be. The wrapper checks the internal consistency of the scribble state. In pratice, this means replacing the `rt.allocate()` or `rt.append()` calls with `scr.allocate()` or `scr.append()`. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
We were running on Qt 6.8.4 with AGL, which was available on macOS15 runners. However, with macOS 26, that option is gone. Switch to Qt 6.9.2 for compatibility wiht macOS 26. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
When there is an object error we probably want to dump the recorder to be able to investigate. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Use 1ULL instead of 1UL for WordSize() bit masks: on Windows, unsigned long is 32-bit, so shifts like 1UL << 32 or 1UL << 48 produced wrong masks and broke rotate/neg at non-default word sizes. Co-authored-by: Cursor <cursoragent@cursor.com> Reported-by: Christophe de Dinechin <christophe@dinechin.org> Reviewed-by: Christophe de Dinechin <christophe@dinechin.org>
If some cleanup happened before we display the stack, it is possible under some specific conditions for the stack cache to become stale, because it points to temporaries that were purged. Clear the stack cache before displaying the stack if that happens. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
On Windows, 1L is a 32-bit value, it's 64-bit on other platforms. This was causing a number of funny crashes exposed by the test suite. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Increase test wait and refresh polling on Windows CI runners, and preserve failed reference images as artifacts for debugging. Co-authored-by: Cursor <cursoragent@cursor.com>
Wide L' literals are 16-bit on Windows MinGW and truncate supplementary-plane characters; U' matches our unsigned unicode type and is portable everywhere. Co-authored-by: Cursor <cursoragent@cursor.com>
Replaces ~0U and ~0ULL where the target type is size_t, avoiding LLP64 truncation on 64-bit Windows and truncation warnings on 32-bit firmware. Co-authored-by: Cursor <cursoragent@cursor.com>
Packed bitfield union members did not share storage on Windows GCC, so white pattern bits became 0x07FF (cyan) instead of 0xFFFF and broke color tests. Co-authored-by: Cursor <cursoragent@cursor.com>
Sort now uses value_sort_compare, which breaks equal evaluated values with reverse symbolic compare_to, while Unique keeps value_compare so ties still collapse correctly. Co-authored-by: Cursor <cursoragent@cursor.com>
Strip CR from CRLF line endings in file::get() and getchar() so help content and RPL example insertion behave consistently on Windows without relying on .gitattributes. Co-authored-by: Cursor <cursoragent@cursor.com>
Determine the end of code examples as being the last non-CR character. The benefit if that works on Windows which sends us stupid CR/LF sequences that mess up with the position otherwise. Signed-off-by: Christophe de Dinechin <christophe@dinechin.org>
Many equation-library figures were not shown on the device because their references in doc/calc-help/equations.md did not match any BMP in doc/img (the build only copies doc/img/*.bmp to the on-device help/img). Causes: images committed only as PNG (never reaching the device), references using spaces / non-breaking spaces / wrong suffixes, misspelled image filenames, and one placeholder reference. - Add 7 physics figures as BMP (Hall Effect, Cyclotron, Helicoidal Motion, Fiber Optic, Rayleigh's Criterion, Malus Law, Driven Damped Oscillations) and drop the stale PNG/orphan copies that never reached the device. - Correct 15 references in equations.md to existing BMP names (e.g. Series&Parallel -> SeriesAndParallel, Mohr's -> MohrsCircle, Projectile_BW -> ProjectileMotion, "Missing name" -> HookesLaw). - Rename 3 misspelled image files (Bernouilli -> Bernoulli, 1DElasti -> 1DElastic, FlowWIth -> Flowwith). - Remove the reference to the non-existent DC Inductor Voltage figure. - Regenerate help/db48x.md and update help/db50x.md accordingly. Result: 0 broken figure references in the equation library. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This was referenced Aug 7, 2026
c3d
force-pushed
the
dev
branch
2 times, most recently
from
August 25, 2026 23:33
1ba2834 to
d3925c0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Many equation-library figures were not shown on the device because their references in doc/calc-help/equations.md did not match any BMP in doc/img (the build only copies doc/img/*.bmp to the on-device help/img). Causes: images committed only as PNG (never reaching the device), references using spaces / non-breaking spaces / wrong suffixes, misspelled image filenames, and one placeholder reference.
Result: 0 broken figure references in the equation library.