Commit Graph

331 Commits (qemu-prebuilt)

Author SHA1 Message Date
David Montero Crespo d2e7dc2f34 chore: remove test_dll_minimal.py (superseded by test_esp32_lib_bridge.py)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 12:34:26 -03:00
David Montero Crespo 67256e7b18 chore: remove one-off build troubleshooting scripts
Keep only build_qemu_step4.sh (the DLL relink step used in production).
Deleted: build_qemu_dll.sh, build_qemu_step3.sh, check_tools.sh,
fix_distlib.sh, fix_distlib2.sh, install_git.sh, install_meson.sh
(all were used once during initial DLL compilation setup)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 12:34:07 -03:00
David Montero Crespo d1492c48cb docs: rewrite ESP32_EMULATION.md with complete installation guide
Add step-by-step setup section (section 1) covering:
- MSYS2 installation and required packages
- arduino-cli + esp32:esp32@2.0.17 core install
- esptool installation
- Building libqemu-xtensa.dll from qemu-lcgamboa submodule
- Obtaining ESP32 ROM binaries
- Python venv + backend dependencies
- Verifying with test suite (28 + 13 tests)
- Running backend with ESP32 emulation active
- Compiling custom sketches for QEMU

Update section 11 (Frontend events): all events are now implemented
(gpio_change, ledc_update, ws2812_update, gpio_dir, i2c_event, spi_event,
system:crash/reboot) — removed "Pending" status, added  for each.

Update section 10 (Tests): document both test suites with per-test table.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 12:33:17 -03:00
David Montero Crespo b166b8de37 feat: add ESP32 lcgamboa test suite, sketches and firmware binaries
- test/esp32/test_esp32_lib_bridge.py: 28-test suite for ESP32 emulation
  via libqemu-xtensa.dll (GPIO, UART, ADC, pinmap, DLL symbols, manager API)
- test/esp32/test_arduino_esp32_integration.py: 13-test integration suite
  simulating Arduino Uno ↔ ESP32 serial communication (LED_ON/OFF, PING/PONG,
  GPIO transitions, rapid burst, unknown command resilience)
- sketches/blink_lcgamboa/: IRAM/DRAM-safe blink firmware (5× GPIO2 toggle)
- sketches/serial_led/: ESP32 firmware responding to serial commands over UART0
- sketches/arduino_serial_controller/: Arduino Uno sketch for serial LED control
- sketches/blink_qemu.ino: reference blink sketch for stock QEMU
- binaries_lcgamboa/: pre-compiled 4 MB merged flash images for QEMU
  (blink_lcgamboa + serial_led, arduino-esp32 2.0.17 + FlashMode=dio)
- .gitignore: exclude DLL/ROM binaries (too large) and .elf/.map build artifacts

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 12:28:40 -03:00
David Montero Crespo 4a7c9e2e55 feat: enhance ESP32 emulation with GPIO pinmap and improved QEMU initialization handling 2026-03-14 12:05:35 -03:00
David Montero Crespo c957190061 feat: implement ESP32 emulation support via libqemu-xtensa.dll and enhance simulation API 2026-03-14 02:32:48 -03:00
David Montero Crespo 1bbb1ad4d2 feat: add initial ESP32 test module 2026-03-13 22:55:45 -03:00
David Montero Crespo dc03c28fff feat: Enhance ESP32 support in simulator and QEMU management 2026-03-13 22:55:37 -03:00
David Montero Crespo c3df484b4f feat: Implement ESP32 emulation via QEMU and multi-board support for Raspberry Pi and Arduino
- Added ESP32 emulation plan and architecture documentation.
- Created `esp_qemu_manager.py` for managing ESP32 QEMU instances.
- Modified backend API routes to support ESP32 firmware loading and GPIO handling.
- Introduced `Esp32Bridge.ts` for frontend communication with ESP32 instances.
- Refactored simulator store to support multiple boards, including Raspberry Pi and Arduino.
- Created `RaspberryPi3Bridge.ts` for WebSocket communication between frontend and backend for Raspberry Pi.
- Updated QEMU manager to handle multiple serial ports for Raspberry Pi GPIO communication.
- Enhanced SimulatorCanvas to render multiple boards and manage wire routing between them.
- Implemented board picker modal for selecting and adding boards to the canvas.
- Updated editor to support multiple file groups per board.
- Added migration logic for loading old project formats into the new multi-board structure.
- Ensured backward compatibility with existing components and functionality.
2026-03-13 20:35:48 -03:00
David Montero Crespo 8122d5d80a feat: add Discord notification workflow for new issues 2026-03-13 20:05:22 -03:00
David Montero Crespo 70ea1f300f
Refactor Discord issue notification workflow 2026-03-13 17:23:50 -03:00
David Montero Crespo 6561d7b684
Refactor Discord issue notification workflow
Refactor Discord notification workflow to build payload separately and send it using curl.
2026-03-13 17:19:09 -03:00
David Montero Crespo f35a9b18d3
Refactor Discord issue webhook to Python script 2026-03-13 17:06:34 -03:00
David Montero Crespo a606e42b45
Add notification for new issues in Discord 2026-03-13 17:03:03 -03:00
David Montero Crespo f3bc151554
Add Discord notification for new GitHub issues
This workflow sends a notification to Discord whenever a new issue is opened on GitHub. It includes the issue details such as title, URL, body, user, and labels.
2026-03-13 16:58:49 -03:00
David Montero Crespo cc3030200c feat: add multi-board integration tests for Raspberry Pi 3B and backend functionality 2026-03-13 00:15:14 -03:00
David Montero Crespo 17b1a0f058 feat: add board types and mappings for Raspberry Pi 3B
- Introduced new BoardKind types for Raspberry Pi 3B and updated BoardInstance interface.
- Added BOARD_KIND_LABELS and BOARD_KIND_FQBN mappings for new board types.
- Implemented physical to BCM GPIO mapping for Raspberry Pi 3B in boardPinMapping utility.
- Updated BOARD_COMPONENT_IDS to include Raspberry Pi 3B.
- Enhanced isBoardComponent function to support new board type.
- Modified boardPinToNumber function to handle pin mapping for Raspberry Pi 3B.
2026-03-12 23:39:04 -03:00
David Montero Crespo a07c76470e feat: enhance AVR USART RX handling with software queue and improve logging 2026-03-12 22:11:06 -03:00
copilot-swe-agent[bot] 13ee547ad7 feat: add GA4 key events tracking (run_simulation, open_example, create_project, compile_code, visit_github)
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-12 22:02:24 +00:00
copilot-swe-agent[bot] 156a6159b7 Initial plan 2026-03-12 21:57:48 +00:00
David Montero Crespo b89f85e5f7 Merge branch 'feat/raspberryPi_emuation' of https://github.com/davidmonterocrespo24/wokwi_clon into feat/raspberryPi_emuation 2026-03-12 08:26:56 -03:00
David Montero Crespo 13997ff491 feat: add documentation page and Arduino serial integration test
- Created a new DocsPage component for project documentation with links to GitHub and Discord.
- Added Arduino sketch for serial communication test between Raspberry Pi and Arduino.
- Implemented avr_runner.js to emulate ATmega328P and bridge serial communication over TCP.
- Developed a Python test script to validate the serial integration between the emulated Raspberry Pi and Arduino.
2026-03-12 08:17:29 -03:00
David Montero Crespo b63a068307 feat: integrate Wokwi elements for Arduino boards in LandingPage 2026-03-12 02:34:56 -03:00
David Montero Crespo 6201148dcf
Merge pull request #35 from davidmonterocrespo24/feat/raspberryPi_emuation
feat: add Discord community link to README and navigation
2026-03-12 02:14:23 -03:00
David Montero Crespo 05e3c54f18
Merge branch 'master' into feat/raspberryPi_emuation 2026-03-12 02:14:15 -03:00
David Montero Crespo f678c19318 feat: add Discord community link to README and navigation 2026-03-12 02:12:36 -03:00
David Montero Crespo 6213bf28f2
Merge pull request #27 from davidmonterocrespo24/copilot/fix-docker-install-issue
[WIP] Fix Docker install error during build
2026-03-11 16:15:55 -03:00
copilot-swe-agent[bot] 2a92888a0c fix: add missing const SECTION_MAP declaration in DocsPage.tsx
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 19:15:05 +00:00
copilot-swe-agent[bot] cfe2810599 Initial plan 2026-03-11 19:13:08 +00:00
David Montero Crespo 7f5b7368b5
Update README.md 2026-03-11 16:07:13 -03:00
David Montero Crespo 372da49c65
Merge pull request #25 from davidmonterocrespo24/copilot/translate-docs-to-english
Add ARCHITECTURE, MCP, SETUP_COMPLETE, WOKWI_LIBS as indexed in-app doc sections with full SEO
2026-03-11 16:06:37 -03:00
copilot-swe-agent[bot] 71a5bf1ae2 Add ARCHITECTURE, MCP, SETUP, WOKWI_LIBS as in-app documentation sections with SEO metadata
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 19:05:01 +00:00
copilot-swe-agent[bot] c00f094d6b Fix nginx /docs routing conflict, move FastAPI Swagger to /api/docs, complete SEO meta tags
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:55:18 +00:00
copilot-swe-agent[bot] b8bdaf4c65 Translate Spanish docs to English and add SEO-optimised URL routing for documentation
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:46:42 +00:00
copilot-swe-agent[bot] dc779c46ad Initial plan 2026-03-11 18:34:27 +00:00
David Montero Crespo 01d284ac56
Merge pull request #23 from davidmonterocrespo24/copilot/add-system-pages-to-docs
Add Editor, Home, and Examples links to documentation menu
2026-03-11 15:27:38 -03:00
copilot-swe-agent[bot] d5e981bcf1 Add system pages (Editor, Home, Examples) to documentation menu
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 18:26:14 +00:00
copilot-swe-agent[bot] 07ff730bfb Initial plan 2026-03-11 18:22:11 +00:00
David Montero Crespo 0e4287f824
Merge pull request #21 from davidmonterocrespo24/copilot/create-documentation-page
Merge doc/ into docs/ — single documentation directory
2026-03-11 14:39:40 -03:00
copilot-swe-agent[bot] 4de28c25a2 Merge doc/ into docs/ — eliminate duplicate documentation folders
- Move ARCHITECTURE.md, MCP.md, SETUP_COMPLETE.md, WOKWI_LIBS.md, examples/, img1-4.png from doc/ to docs/
- Delete doc/ directory
- Update README.md: doc/img*.png -> docs/img*.png
- Update CLAUDE.md: doc/ARCHITECTURE.md -> docs/ARCHITECTURE.md
- Update frontend/README.md: ../doc/ -> ../docs/
- Update scripts/generate-example-screenshots.md: doc/examples/ -> docs/examples/
- Update docs/SETUP_COMPLETE.md internal self-references

Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 17:03:51 +00:00
copilot-swe-agent[bot] d711fe49b1 Create documentation page accessible at /docs
- Add docs/ folder with intro, getting-started, emulator, components, roadmap markdown files
- Add DocsPage.tsx with sidebar navigation, section content, pagination
- Add DocsPage.css matching existing dark theme
- Register /docs route in App.tsx
- Add /docs to sitemap.xml

Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 15:56:06 +00:00
copilot-swe-agent[bot] 6a2a3df970 Initial plan 2026-03-11 15:47:01 +00:00
David Montero Crespo 0957246e07
Merge pull request #18 from davidmonterocrespo24/copilot/integrate-mcp-for-agent-compatibility
feat: MCP server for agent-driven circuit authoring, compilation, and Wokwi import/export
2026-03-11 12:40:37 -03:00
David Montero Crespo 578e837e1b
Merge pull request #19 from davidmonterocrespo24/copilot/fix-ili9341-emulation-error
Fix PWM test failures and skip arduino-cli e2e tests when unavailable
2026-03-11 12:37:49 -03:00
copilot-swe-agent[bot] d549338ffd Fix PWM test failures and skip arduino-cli e2e tests when not available
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 15:34:46 +00:00
copilot-swe-agent[bot] e7b4854f63 feat: integrate MCP (Model Context Protocol) for agent compatibility
Co-authored-by: davidmonterocrespo24 <47928504+davidmonterocrespo24@users.noreply.github.com>
2026-03-11 15:29:55 +00:00
copilot-swe-agent[bot] 3198b4c84e Initial plan 2026-03-11 15:24:35 +00:00
David Montero Crespo d0d792df4a
Merge pull request #15 from davidmonterocrespo24/copilot/add-oscilloscope-logic-analyzer
feat: Built-in oscilloscope / logic analyzer for pin waveform visualization
2026-03-11 12:22:49 -03:00
David Montero Crespo 17e584f4e0
Merge pull request #16 from davidmonterocrespo24/copilot/add-virtual-i2c-spi-devices
feat: Virtual I2C sensor library — BMP280, DS3231, PCF8574
2026-03-11 12:21:26 -03:00
copilot-swe-agent[bot] bcdb2ce915 Initial plan 2026-03-11 15:15:49 +00:00