diff --git a/Software/README.md b/Software/README.md index 8fb7d95..31e4556 100644 --- a/Software/README.md +++ b/Software/README.md @@ -8,7 +8,11 @@ After you have installed the Espressif board manager package, you can __select t Please make sure that you have __set the option "USB CDC enable on boot" to "enabled"__ (Arduino tools menu), and that you have selected the correct serial device. You may have to press and hold the boot-button while presssing and releasing the reset button to put the module into "upload mode". -. +#### PlatformIO + +You can also build and flash by executing `pio run -t upload` from this folder. + + ### Notes on driving the LEDs with the "RMT" (remote control) perhipheral The "RMT" perhipheral.Can generate very accurately timed signals, and is Espressif's way of driving WS2812 LEDs. Unfortunately it has enormous memory overhead: it requires 32 times more storage than there is raw data to be sent to the LEDs. 24 bits to be sent to each LED requires 768 bits of memory. Every RGB byte translates to 8 32 bit word accesses. This method uses DMA (Direct memory access) to relieve the processor of these duties: The processor just needs to prepare a block of data and then start the transfer. @@ -16,4 +20,3 @@ The "RMT" perhipheral.Can generate very accurately timed signals, and is Espres ### Notes on driving the display with the "SPI" (synchronous serial port) perhipheral This program uses the "SPI" perhipheral. Signals are less accuratly timed, but do actually work with the types of LEDs tested so far. Overhead is much lower than for the "RMT" method: it requires 4 times more storage than there is raw data to be sent to the LEDs. 24 bits to be sent to each LED requires 96 bits of memory. Moreover, as every (RGB) byte access becomes a single 32 bit word access, processor overhead is relatively limited. This method uses DMA (Direct memory access) to relieve the processor of these duties: The processor just needs to prepare a block of data and then start the transfer. - diff --git a/Software/platformio.ini b/Software/platformio.ini new file mode 100644 index 0000000..bce6ac2 --- /dev/null +++ b/Software/platformio.ini @@ -0,0 +1,15 @@ +[platformio] +src_dir = hackerspacemap2026/ + +[env:esp32c3] +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.38-1/platform-espressif32.zip +board = esp32-c3-devkitm-1 +board_build.mcu = esp32c3 +framework = arduino +upload_protocol = esptool + +build_flags = + -DARDUINO_USB_CDC_ON_BOOT=1 + -DARDUINO_USB_MODE=1 + -DARDUINO_TINYUSB=1 + -DCORE_DEBUG_LEVEL=5 ; Set the debug level (0-5, with 5 being the most verbose)