velxio/frontend/public
David Montero 1ad1fd4137 feat(components): DS3231 RTC module + GPS NEO-6M NMEA talker
DS3231 (I2C 0x68):
- New velxio-ds3231 Web Component (4-pin module: GND/VCC/SDA/SCL) with
  pinInfo per CLAUDE.md 6a; registered in elements-register + main.tsx.
- Catalog entry in scripts/component-overrides.json (_customComponents)
  mirrored into components-metadata.json exactly as the generator emits it
  (verified by cloning wokwi-elements and running generate:metadata: zero drift).
- The existing VirtualDS3231 device sim (DS1307-compatible time regs
  0x00-0x06 + control 0x0E / status 0x0F / temperature 0x11-0x12 at 0.25 C
  steps) is now user-reachable from the picker; the AVR/RP2040 attach path
  gains live temperature updates via the SensorControlPanel (new ds3231
  slider in sensorControlConfig).

GPS NEO-6M (UART talker, 9600 baud):
- New velxio-gps-neo6m Web Component (VCC/RX/TX/GND, pulsing PPS LED).
- New part sim GpsParts.ts: emits a valid GPGGA+GPRMC cycle per second
  (correct XOR checksums, ddmm.mmmmm coords, UTC clock advancing 1 s/cycle)
  with lat/lng/altitude/speed configurable via property dialog and live
  via a new SensorControlPanel entry. Defaults: Madrid 40.4168 N 3.7038 W.
- Injection routes, chosen by classifying the wired board pin:
  1) hardware UART RX -> new uniform sim.feedUart(uart, data) seam
     (AVR USART0, RP2040 uart0/1 via rp2040js feedByte, ESP32 uart0/2 and
     STM32 USART1/2 via their bridge shims); byte feed is paced in 8-byte
     wall-clock chunks so 32-byte RX FIFOs never overflow;
  2) any other digital pin on a cycle-accurate sim -> real 8N1 bit-banged
     waveform via schedulePinChange, so SoftwareSerial decodes it;
  3) feedUart rejection (e.g. Mega USART1-3, not modelled by avr8js)
     degrades permanently to the bit-banged path.
- Interconnect already probed sim.feedUart; implementing it also upgrades
  cross-board UART byte shortcuts for RP2040 uart1.

Tests: new gps-neo6m.test.ts (16 tests: NMEA builders, byte injection on
Uno RX0 / ESP32 RX2, Mega RX1 fallback, waveform decode back to $GPGGA,
live position updates, PPS pulse) + 3 new ds3231 AVR-path tests in
protocol-parts.test.ts. Full frontend suite: 2294 passed, 2 pre-existing
Galaksija Z80 timeouts that pass in isolation. npx tsc --noEmit clean.
2026-07-31 20:38:06 +02:00
..
.well-known feat(android): Digital Asset Links for TWA verification 2026-05-23 04:42:56 -03:00
boards feat: STM32 (Blue Pill / Black Pill) QEMU emulation + Pro board gating 2026-05-30 19:06:14 -03:00
component-svgs feat(breadboard): use the Fritzing parts-library artwork (CC-BY-SA 3.0) 2026-07-15 22:12:00 +02:00
components feat(motors): fix stepper rotation + add A4988 driver (real Fritzing SVG) 2026-05-31 16:28:34 -03:00
examples-thumbs chore(examples): refresh 1 thumb file(s) [auto] 2026-07-24 07:36:40 +02:00
firmware feat(opencore): extract Pico W WiFi to a pluggable PIO peripheral seam 2026-06-15 08:33:28 +02:00
fonts feat(design): tokens, webfonts, Lucide icons, board PNG/WebP picture strip 2026-05-07 20:45:44 +02:00
marketing Refactor code structure for improved readability and maintainability 2026-05-21 02:32:19 -03:00
wasm/ngspice-interactive feat(sim/spice): vendor ngspice+XSpice WASM and add NgSpiceInteractive client (Phase 1a) 2026-05-15 16:14:50 +02:00
android-chrome-192.png
android-chrome-512.png
apple-touch-icon.png
components-metadata.json feat(components): DS3231 RTC module + GPS NEO-6M NMEA talker 2026-07-31 20:38:06 +02:00
estacion-meteorologica-esp32.gif docs(public): add estacion-meteorologica-esp32 running-circuit demo gif 2026-07-22 19:38:45 +02:00
favicon-16x16.png
favicon-32x32.png
favicon-48x48.png
favicon.ico
favicon.svg
image.png
image.webp
llms.txt feat(seo): llms.txt for AI search engine indexing (D5.6) 2026-05-29 15:54:29 +02:00
manifest.webmanifest chore(manifest): make PWA mobile-friendly + better TWA copy 2026-05-23 03:38:31 -03:00
og-image.png feat(design): tokens, webfonts, Lucide icons, board PNG/WebP picture strip 2026-05-07 20:45:44 +02:00
og-image.svg
robots.txt feat(seo+nav+community): public-project indexing + classroom nav + examples grid 2026-05-29 18:11:28 +02:00
sitemap.xml chore(sitemap): canonical trailing-slash URLs + lastmod bump 2026-06-18 22:12:36 +02:00
vite.svg