Deterministic repro (emulation-gaps F4): after pinMode(2, INPUT_PULLUP) with a correctly-wired button-to-GND, all 8 setup()-time digitalReads and the first two loop() passes returned 0 — the input register only got its level from the first SPICE solve (~400 ms). That window is what fired phantom emergency-stop latches and auto-started state machines in audited sessions (and an unwired INPUT_PULLUP pin on the qemu bridges never got driven at all: no net in pinNetMap, connector skips it, guest read 0 forever). Fix: PinManager.onPullChange fires on pull transitions; AVRSimulator seeds its port input to the resting level instantly (real silicon does this in ns), and makePinPullHandler does the same for the qemu-bridge boards via the shim's setPinState. Sourced nets are still overridden by the very next solve, so the 'mis-wired button still works' regression guarded by the June work cannot return. |
||
|---|---|---|
| .. | ||
| __pro_stub__ | ||
| __tests__ | ||
| assets | ||
| components | ||
| data | ||
| desktop | ||
| hooks | ||
| i18n | ||
| lib | ||
| pages | ||
| services | ||
| simulation | ||
| store | ||
| tokens | ||
| types | ||
| utils | ||
| velxio-elements | ||
| App.css | ||
| App.tsx | ||
| elements-register.ts | ||
| entry-server.tsx | ||
| index.css | ||
| main.tsx | ||
| seoRoutes.ts | ||
| vite-env.d.ts | ||