shibosoftwaredev/f1c100s-linux-nema17-stepper-controller
A four-layer NEMA 17 motor-controller PCB combining an Allwinner F1C100S Linux computer, USB‑PD/buck power system, W5500 Ethernet, STM32 real-time motion control, DRV8825 stepper driver, protection/temperature/current telemetry, USB interfaces, and local LED/buzzer diagnostics.
- Version
- 0.4.56
- License
- unset
- Stars
- 0
reports/review-tests.log
bun test v1.4.2 (744846f84)
tests/rishabh-review.test.ts:
(pass) same parts, values, nets and source connections as published 0.4.53 [4.61ms]
(pass) bulk capacitor is assembled on top with unchanged value, rating and polarity [3.15ms]
(pass) only the eight explicitly reviewed placements change; all other footprints and models are preserved [9.38ms]
(pass) board outline, screw holes, USB positions and complete motor assembly are preserved [13.08ms]
(pass) all thirteen sheets have explanatory sections and zero current style / page-boundary issues [8.10ms]
(pass) all vias remain full-stack 0.30 mm holes / 0.45 mm pads [0.43ms]
(pass) all firmware and Linux module source files are byte-identical to published baseline [31.52ms]
tests/bom-validation.test.ts:
(pass) stock and attributes can be separate server-rendered catalog records [0.38ms]
(pass) catalog units preserve milli, kilo, micro and nano [0.09ms]
(pass) a stocked 47k termination cannot pass as 49.9 ohms [0.07ms]
(pass) wrong capacitor value and insufficient rating both fail [0.02ms]
(pass) missing catalog attributes fail closed
(pass) correct replacement capacitor passes declared electrical values
tests/usb-top-placement.test.ts:
(pass) unchanged USB-C types share the north edge and top assembly face [7.83ms]
(pass) both USB housings render above the top surface without a bottom flip [1.10ms]
(pass) same motor-sized four-layer outline and four screw centers are retained [5.64ms]
(pass) seven underside passives retain the reviewed local positions [1.59ms]
tests/clean-schematic.test.ts:
(pass) schematic revision preserves EVERY source/electrical, PCB, copper, drill, paste, CAD and assembly record from 0.4.54 [5.21ms]
(pass) no schematic symbol or represented source terminal is lost during relayout [1.77ms]
(pass) all pages use a consistent A4 frame with local headings, no detached documentation cards [2.09ms]
tests/assembly-stencil.test.ts:
(pass) baseline reproduces 96 missing rounded-lead apertures; all are restored without editing other records [5.14ms]
(pass) rounded apertures retain final layer, rotation, center and land association [0.16ms]
(pass) DNP, test features and mask-covered lands never acquire paste [0.15ms]
(pass) existing explicit aperture is retained instead of duplicated or resized [0.07ms]
(pass) full paste pass removes inherited paste from bare test points and non-SMT features [0.09ms]
modules/f1c100s/tests/module.test.tsx:
(pass) native: stored copper loads and passes DRC [3706.79ms]
(pass) lcd_top_storage_right: stored copper loads and passes DRC [3097.31ms]
(pass) lcd_right_storage_bottom: stored copper loads and passes DRC [2711.78ms]
(pass) lcd_top_storage_bottom: stored copper loads and passes DRC [2296.07ms]
(pass) lcd_right_storage_left: stored copper loads and passes DRC [2452.60ms]
(pass) parent routing connects to a plated exit on top [1750.85ms]
(pass) parent routing connects to a plated exit on inner1 [1614.76ms]
(pass) parent routing connects to a plated exit on inner2 [1631.69ms]
(pass) parent routing connects to a plated exit on bottom [1812.23ms]
(pass) the pin map covers every physical pin once [0.32ms]
(pass) data is cloned; unsupported profiles and legacy props fail explicitly [7.97ms]
(pass) two rotated instances retain independent nets and copper [6262.99ms]
(pass) exported schematic boxes share one processor across two A4 sheets [14613.67ms]
(pass) angle audit rejects oblique runs including via approaches [0.29ms]
(pass) saved external-net paths end at their named plated exit [4340.30ms]
(pass) orientation audit catches reversed and sideways decoupling pads [3.17ms]
modules/f1c100s/tests/selective-breakouts.test.tsx:
(pass) native: 0 requested breakouts preserve support connectivity [1612.03ms]
(pass) native: 3 requested breakouts preserve support connectivity [1255.64ms]
(pass) native: 71 requested breakouts preserve support connectivity [1966.37ms]
(pass) lcd_top_storage_right: 0 requested breakouts preserve support connectivity [992.47ms]
(pass) lcd_top_storage_right: 3 requested breakouts preserve support connectivity [1095.14ms]
(pass) lcd_top_storage_right: 71 requested breakouts preserve support connectivity [1609.83ms]
(pass) lcd_right_storage_bottom: 0 requested breakouts preserve support connectivity [901.34ms]
(pass) lcd_right_storage_bottom: 3 requested breakouts preserve support connectivity [1088.62ms]
(pass) lcd_right_storage_bottom: 71 requested breakouts preserve support connectivity [1706.71ms]
(pass) lcd_top_storage_bottom: 0 requested breakouts preserve support connectivity [1018.62ms]
(pass) lcd_top_storage_bottom: 3 requested breakouts preserve support connectivity [1021.08ms]
(pass) lcd_top_storage_bottom: 71 requested breakouts preserve support connectivity [1472.80ms]
(pass) lcd_right_storage_left: 0 requested breakouts preserve support connectivity [916.70ms]
(pass) lcd_right_storage_left: 3 requested breakouts preserve support connectivity [1047.40ms]
(pass) lcd_right_storage_left: 71 requested breakouts preserve support connectivity [1577.79ms]
(pass) empty targets do not create exits; instances do not leak selections [17.76ms]
57 pass
0 fail
134922 expect() calls
Ran 57 tests across 7 files. [66.21s]