Commit Graph

1 Commits

Author SHA1 Message Date
David Montero Crespo a13eb3e7e2 fix(adc,examples): mapa ADC por chip, entradas flotantes y una auditoria de la galeria
Tres cosas que salieron al tirar del hilo de los pull-ups.

1) ESP32_ADC_PIN_MAP era la tabla del ESP32 CLASICO aplicada a toda la familia, y
   fallaba de dos maneras:
     - S3: sus pines ADC son GPIO1..20, ninguno esta en esa tabla, asi que la
       busqueda devolvia undefined y el listener del potenciometro no llegaba a
       engancharse. El mando no hacia nada.
     - C3/C6: GPIO0 SI esta en la tabla clasica, como ADC2_CH1 -> canal 9. Pero en
       esos chips GPIO0 es ADC1_CH0 y sus motores toman un indice de canal de ADC1
       (0..4). El valor se empujaba al canal 9, fuera de rango, descartado en
       silencio mientras el firmware leia el 0. Una respuesta equivocada en vez de
       ninguna, que es peor.
   adcPinMapFor(boardKind) devuelve la tabla del chip.

2) El ejemplo de las gafas OLED en MicroPython declaraba sus botones con Pin.IN a
   secas. Van entre 3V3 y el pin, asi que sin pull-down el pin queda FLOTANDO con
   el boton abierto. El propio ejemplo ya lo avisaba en un comentario ("Add
   Pin.PULL_DOWN if the pin floats") — ahora lo hace. Es un fallo de hardware de
   verdad, no un artefacto del emulador.

3) gallery-run-gate.audit.test.ts: EditorToolbar bloquea el Run cuando el
   verificador de circuito saca errores, asi que un circuito invalido no es
   cosmetico, es la diferencia entre un ejemplo que arranca y uno que parece
   muerto. Y esos defectos se esconden hasta que el circuito resuelve DE PUNTA A
   PUNTA: c3-button llevaba un LED de 506 mA que nadie veia porque sus cables
   apuntaban a pines inexistentes.

   El test reproduce la puerta del Run tal cual (mismo snapshot de peor caso,
   mismo buildInputFromStore, mismo verifyCircuit, ngspice de verdad) sobre los
   227 ejemplos. Encontro tres mas sin resistencia en serie —nano-button-led,
   mega-led-chase y mega-serial-control, 17 LEDs en total— y ahora quedan 0.
   A partir de aqui, un ejemplo nuevo con un LED colgado del GPIO salta en CI.
2026-07-27 05:01:49 +02:00