Add verified tooling and a CM4 development environment - #48
Open
jordanhubbard wants to merge 14 commits into
Open
jordanhubbard wants to merge 14 commits into
jordanhubbard wants to merge 14 commits into
Conversation
Add a reproducible STM32 build, native reset helper, and architecture-specific flashing bundle. Preserve arguments and propagate reset, DFU, and serial re-enumeration errors. Validation: firmware builds on ARM64; keyboard tests and ShellCheck pass. Physical keyboard flashing remains unverified.
Replace service, APN, and route management with enable and disable operations. Require libgpiod 2.x before accessing GPIO and stop on command failures. Validation: six mocked power-control tests and ShellCheck pass. Electrical timing and modem detection still require CM5 hardware.
Check bundled firmware hashes and require one selected device before writes. Stop at the first failed partition and reboot only after success. Add the Tk interface, native fastboot build, staged desktop installation, and updated upgrade/downgrade guides. Validation: nine backend tests and six GUI tests pass; both real firmware packages were verified offline. Native fastboot builds, and the GUI was inspected under Xvfb. Physical modem updates remain unverified.
Separate CM4 and CM5 profiles, correct staging paths, remove unused panel locals, and verify combined Raspberry Pi display overlays. Pin the historical A06 build and document missing A06/R01 source prerequisites. Validation: full CM4/CM5 image, module, and DTB builds were staged successfully; both shipped display-overlay profiles pass. Target boot and A06/R01 kernel builds remain outstanding.
Record the pinned default-feature build and the asynchronous popup test fix. Add a local Debian packaging tool with ELF and Qt private-ABI dependencies, license notices, and a QML smoke configuration. Validation: all nine suites pass under Xvfb; an empty suite now fails packaging checks. The package installed in clean Trixie and ran an unprivileged window smoke test. Vendor publication and uConsole Wayland acceptance remain outstanding.
Explain the Gerber archives, placement report, drill data, and available formats. Distinguish manufacturing exports from the editable CAD, purchasing BOM, and mechanical models requested upstream.
Prefer verified HTTPS downloads and record all four archive SHA-256 values and read-only image findings. Add symptom-specific troubleshooting, current build entry points, and the complete upstream issue worklist with external blockers. Validation: all four downloaded archives match the published checksums; image contents were inspected without booting or flashing. Local build and test evidence is distinguished from outstanding hardware acceptance.
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.
The repository contains the uConsole hardware sources and image instructions, but contributors currently lack a reproducible host build/test entry point, guarded keyboard and modem update flows, verified image metadata, and a development environment that can exercise CM4 images without repeatedly writing physical media.
This change adds those workflows as one integrated development baseline:
raspi4bmachine, keeps writes in qcow2 overlays, exports new raw images, and exposes QMP, GDB, serial, USB input/network substitutes, and local/VNC display backends;The emulator documentation distinguishes implemented behavior from hardware fidelity. DSI/VC4, CWU50 backlight behavior, configurable battery/charging, the exact STM32 composite USB/DFU device, complete SIM7600 USB/QMI/fastboot behavior, audio, Wi-Fi, and Bluetooth are still future device-model work.
Validation:
make check: 42 tests in the headless run, 33 passed and 9 display-dependent tests skipped; ShellCheck passed.0x06at address0x34and unused-address NACK passed.432d1f899bd077a322362e17a213228aa7486f73: Linux ran the full headless suite, ShellCheck, and all GUI tests under Xvfb; macOS ran every portable non-GUI suite and ShellCheck; Windows ran the cross-platform emulator/agent tests.Detailed coverage and captured local evidence are documented in
docs/emulator.md,docs/emulator-validation.md, anddocs/os-image-verification.md.