55 lines
2.0 KiB
Markdown
55 lines
2.0 KiB
Markdown
# test_circuit — sandbox de emulación de circuitos
|
||
|
||
Sandbox para validar la emulación de circuitos analógicos + digitales + Arduino en JS puro antes de tocar Velxio.
|
||
|
||
## Estructura
|
||
|
||
```
|
||
test_circuit/
|
||
├── plan/ # Documentos de planificación (fases 0–7)
|
||
├── src/
|
||
│ ├── solver/ # MNA hand-rolled (legacy, baseline)
|
||
│ ├── components/ # Modelos JS (legacy, baseline)
|
||
│ ├── avr/ # AVRHarness (avr8js estilo Velxio)
|
||
│ └── spice/ # SpiceEngine (ngspice-WASM) + AVRSpiceBridge
|
||
├── test/ # Vitest tests
|
||
│ ├── passive.test.js # baseline JS
|
||
│ ├── transient_rc.test.js # baseline JS
|
||
│ ├── diodes.test.js # baseline JS
|
||
│ ├── avr_blink.test.js # avr8js con blink.hex
|
||
│ ├── e2e_pot_pwm_led.test.js # baseline JS + avr8js
|
||
│ ├── e2e_thermistor.test.js # baseline JS + avr8js
|
||
│ ├── ngspice_smoke.test.js # ngspice boot
|
||
│ ├── spice_passive.test.js # ngspice DC
|
||
│ ├── spice_transient.test.js # ngspice .tran
|
||
│ ├── spice_ac.test.js # ngspice .ac Bode
|
||
│ ├── spice_active.test.js # diodo, BJT, MOSFET, op-amp
|
||
│ ├── spice_digital.test.js # lógica behavioral
|
||
│ ├── spice_555_astable.test.js # oscilador relajación
|
||
│ └── spice_avr_mixed.test.js # co-simulación avr8js ↔ ngspice
|
||
├── fixtures/ # .hex pre-compilados / ensamblados a mano
|
||
├── autosearch/ # Hallazgos, métricas, propuestas
|
||
└── package.json
|
||
```
|
||
|
||
## Correr las pruebas
|
||
|
||
```bash
|
||
cd test/test_circuit
|
||
npm install
|
||
npm test
|
||
```
|
||
|
||
Por fase:
|
||
|
||
```bash
|
||
npm run test:phase3 # pasivos
|
||
npm run test:phase4 # activos (diodos)
|
||
npm run test:avr # integración avr8js
|
||
npm run test:e2e # end-to-end Arduino + circuito
|
||
```
|
||
|
||
## Alcance
|
||
|
||
Ver [plan/phase_0_scope.md](plan/phase_0_scope.md).
|