scottbez1 / splitflap

DIY split-flap display
https://scottbez1.github.io/splitflap
Other
3.09k stars 256 forks source link

LILYGO ESP32 doesn't show up as device despite drivers on MacBook with USC-C ports #228

Closed JoshuaPerk closed 7 months ago

JoshuaPerk commented 7 months ago

Wanted to document an issue I'm troubleshooting. It's unrelated to this library so I don't expect community support but wanted the closed issue to potentially help future makers (once I diagnose the problem myself).

Despite installing a variety of drivers (CH34XSER, CH341SER — using both .pkg and .DMG files and manually adding Mac's Rosetta to support drivers with older architecture) I've been unable to get the ESP-32 to show up as a device.

I'm on 2021 MacBook Pro with an M1 Pro running Ventura 13.4. My machine only has support for USB-C ports.

I suspect this might be related to some of the issues folks have seen where they're unable to go directly from USC-C to USB-C.

I've attempted 3 different USC-C to USB-C cables (all of which support data and work when a device such as my iPhone are plugged into it).

I've also attempted to use 1 USB-A to USC-C cable that's plugged into a USB-C dongle (with multiple USB-A 3.0) ports (+ ethernet, HDMI, SD card, etc.). This also doesn't work, despite that same setup working if I plug my iPhone into it.

I placed an order for a new USB-A to USB-C cable with a USB-A to USB-C dongle.

I'll update this (and close it) once I resolve it.

P.S. Received my hardware order from @scottbez1 and these boards are beautiful. Well done! 🔥

JoshuaPerk commented 7 months ago

Ah, interesting. I ordered 2x TTGO boards and one of them shows up just fine with a USB-C cable (totally negating my theory above).

I will try to diagnose why the first board is unresponsive on the port.

JoshuaPerk commented 7 months ago

Seems to be a bad USB chip - will probably just order a new one unless anyone knows how to reset the firmware without being a recognized device.

scottbez1 commented 7 months ago

Unfortunately the Lilygo T-Display board has an error in their design, which can make it fail to enumerate correctly with a USB-C to C cable -- one of the 2 CC lines is not connected to the correct USB-C pin, and they are only using a single CC resistor.

This can make the USB-C connector directional, and sometimes may only work when the connector is plugged in one way and not the other :disappointed:

If you've tried the USB-A to C plug, ideally with a USB 2.0 port rather than 3.0 port on your computer, and tried plugging the USB-C end into the T-Display both ways and it's still not enumerating (but the other T-Display works), please send me a message on Etsy and I can process a refund/replacement for that one defective T-Display.

For USB 2.0 on a type C connector, it's typical to connect 2 5.1k resistors, one to each of the CC1/CC2 pins, in order for the device to be detected and for it to receive power at 5V. The T-Display only has a single resistor, and they've connected it to A5 (which is correct) and also B8 (which is incorrect for 2 reasons - the second CC pin should not share a resistor, and the second CC pin is B5, not B8).

image

Any future revision to the controller portion of this project will definitely use a better module... The T-Display was one of the better modules for its time, but there are better options available for new designs today.

JoshuaPerk commented 7 months ago

You nailed it, @scottbez1!

I fried one board which was a red herring that led me down driver debugging but the other worked with the simple fix of... drumroll... flipping the cable over 🤣

Now if I can just figure out why I can't flash the firmware, I'll be smooth sailing. 😆

{"type":"init", "num_modules":6}
E (10248) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (10248) task_wdt:  - Splitflap (CPU 1)
E (10248) task_wdt: Tasks currently running:
E (10248) task_wdt: CPU 0: IDLE0
E (10248) task_wdt: CPU 1: Splitflap
E (10248) task_wdt: Aborting.
abort() was called at PC 0x400e780f on core 0

ELF file SHA256: 0000000000000000

Backtrace: 0x400862b0:0x3ffbe530 0x40086525:0x3ffbe550 0x400e780f:0x3ffbe570 0x40084c01:0x3ffbe590 0x400f49ab:0x3ffbc4c0 0x400e7e23:0x3ffbc4e0 0x4008962a:0x3ffbc500 0x40088195:0x3ffbc520
  #0  0x400862b0:0x3ffbe530 in invoke_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
  #1  0x40086525:0x3ffbe550 in abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
  #2  0x400e780f:0x3ffbe570 in task_wdt_isr at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/task_wdt.c:252
  #3  0x40084c01:0x3ffbe590 in _xt_lowint1 at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/xtensa_vectors.S:1154
  #4  0x400f49ab:0x3ffbc4c0 in esp_pm_impl_waiti at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/pm_esp32.c:492
  #5  0x400e7e23:0x3ffbc4e0 in esp_vApplicationIdleHook at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/freertos_hooks.c:86
  #6  0x4008962a:0x3ffbc500 in prvIdleTask at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:4560
  #7  0x40088195:0x3ffbc520 in vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)

Rebooting...
f~�f~��x�x������x�x~`怘�怘���~����ff�f�ff�f�f`ff�������`�~f�x�ff�f`�f�f`�����f����`f�������xf�~��f��~���f�ff~fxff�������fx�~���fx�~��`�fx�~�����fx�~����`�fx�~��~�fx�~�������`fx�`�������������x��x�~�������x��xx�xx�����f���怘�����x��xx�xx�������f�����`�������x������f�������x`�������x����f�����x����f��`��f���
scottbez1 commented 7 months ago

Just to confirm, you've uploaded this via platformio with the "env:chainlink" selected? image

If you do a Full Clean then an upload, can you copy the text from the upload portion? It will look something like this:

Found 33 compatible libraries
Scanning dependencies...
Dependency Graph
|-- TFT_eSPI @ 2.4.25
|-- PubSubClient @ 2.8.0
|-- PacketSerial @ 1.4.0
|-- Nanopb @ 0.4.6+4
|-- HTTPClient @ 1.2
|-- json11
|-- Wire @ 1.0.1
|-- SPI @ 1.0
Building in release mode
Retrieving maximum program size .pio/build/chainlink/firmware.elf
Checking size .pio/build/chainlink/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   9.7% (used 31628 bytes from 327680 bytes)
Flash: [===       ]  26.8% (used 350910 bytes from 1310720 bytes)
Configuring upload protocol...
AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...

Warning! Please install `99-platformio-udev.rules`. 
More details: https://docs.platformio.org/en/latest/core/installation/udev-rules.html

Auto-detected: /dev/ttyACM0
Uploading .pio/build/chainlink/firmware.bin
esptool.py v3.1
Serial port /dev/ttyACM0
Connecting......
Chip is ESP32-D0WDQ6-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 4c:eb:d6:43:81:3c
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 16MB
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00065fff...
Flash params set to 0x0240
Compressed 17104 bytes to 11191...
Writing at 0x00001000... (100 %)
Wrote 17104 bytes (11191 compressed) at 0x00001000 in 0.4 seconds (effective 335.7 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 128...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.1 seconds (effective 487.3 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 591.5 kbit/s)...
Hash of data verified.
Compressed 351024 bytes to 159495...
Writing at 0x00010000... (10 %)
Writing at 0x0001f10b... (20 %)
Writing at 0x000356d3... (30 %)
Writing at 0x0003b335... (40 %)
Writing at 0x00041151... (50 %)
Writing at 0x0004636c... (60 %)
Writing at 0x0004c5ce... (70 %)
Writing at 0x00054e2b... (80 %)
Writing at 0x0005b73f... (90 %)
Writing at 0x00061100... (100 %)
Wrote 351024 bytes (159495 compressed) at 0x00010000 in 3.3 seconds (effective 851.0 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
JoshuaPerk commented 7 months ago

Hey, @scottbez1! Thanks for helping! Yes, I think I've followed everything for a proper clean install with the correct environments.

Here's the console for my upload this morning (appears to be successful):

*  Executing task: platformio run --target upload --environment chainlink --upload-port /dev/cu.wchusbserial54F40091651 

Processing chainlink (platform: espressif32@3.4; framework: arduino; board: esp32dev)
---------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32dev.html
PLATFORM: Espressif 32 (3.4.0) > Espressif ESP32 Dev Module
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.10006.210326 (1.0.6) 
 - tool-esptoolpy @ 1.30100.210531 (3.1.0) 
 - tool-mkspiffs @ 2.230.0 (2.30) 
 - toolchain-xtensa32 @ 2.50200.97 (5.2.0)
Converting Splitflap.ino
/Users/joshuaperk/Documents/Repos/splitflap/arduino/splitflap/Splitflap/Splitflap.ino:64:0: warning: "FAVR" redefined
 #define FAVR(x) x
 ^
/Users/joshuaperk/Documents/Repos/splitflap/arduino/splitflap/Splitflap/Splitflap.ino:62:0: note: this is the location of the previous definition
 #define FAVR(x) F(x)
 ^
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Installing Protocol Buffers dependencies
Requirement already satisfied: protobuf>=3.19.1 in /Users/joshuaperk/.platformio/penv/lib/python3.10/site-packages (4.25.1)
[nanopb] No generation needed.
Found 33 compatible libraries
Scanning dependencies...
Dependency Graph
|-- TFT_eSPI @ 2.4.25
|-- PubSubClient @ 2.8.0
|-- PacketSerial @ 1.4.0
|-- Nanopb @ 0.4.6+4
|-- HTTPClient @ 1.2
|-- json11
|-- Wire @ 1.0.1
|-- SPI @ 1.0
Building in release mode
Compiling .pio/build/chainlink/esp32/core/splitflap_task.cpp.o
Compiling .pio/build/chainlink/esp32/core/uart_stream.cpp.o
Compiling .pio/build/chainlink/esp32/proto_gen/splitflap.pb.c.o
Compiling .pio/build/chainlink/esp32/splitflap/crc32.cpp.o
Compiling .pio/build/chainlink/esp32/splitflap/display_task.cpp.o
Compiling .pio/build/chainlink/esp32/splitflap/http_task.cpp.o
Compiling .pio/build/chainlink/esp32/splitflap/main.cpp.o
Compiling .pio/build/chainlink/esp32/splitflap/mqtt_task.cpp.o
Compiling .pio/build/chainlink/esp32/splitflap/serial_legacy_json_protocol.cpp.o
Compiling .pio/build/chainlink/esp32/splitflap/serial_proto_protocol.cpp.o
Compiling .pio/build/chainlink/esp32/splitflap/serial_task.cpp.o
Compiling .pio/build/chainlink/src/src/Adafruit_INA219.cpp.o
Generating partitions .pio/build/chainlink/partitions.bin
Compiling .pio/build/chainlink/lib9ba/SPI/SPI.cpp.o
Compiling .pio/build/chainlink/lib227/FS/FS.cpp.o
Archiving .pio/build/chainlink/lib9ba/libSPI.a
Indexing .pio/build/chainlink/lib9ba/libSPI.a
Compiling .pio/build/chainlink/lib227/FS/vfs_api.cpp.o
Compiling .pio/build/chainlink/libd41/SPIFFS/SPIFFS.cpp.o
In file included from esp32/splitflap/display_task.cpp:21:0:
esp32/splitflap/display_layouts.h:56:13: warning: 'void getLayoutPositionDualRowZigZag(bool, uint8_t, uint8_t*, uint8_t*)' defined but not used [-Wunused-function]
 static void getLayoutPositionDualRowZigZag(const bool flip_first_rows, const uint8_t module_index, uint8_t* out_row, uint8_t* out_col) {
             ^
Compiling .pio/build/chainlink/libc2e/TFT_eSPI/TFT_eSPI.cpp.o
Compiling .pio/build/chainlink/lib301/PubSubClient/PubSubClient.cpp.o
Compiling .pio/build/chainlink/libeb9/Nanopb/pb_common.c.o
Compiling .pio/build/chainlink/libeb9/Nanopb/pb_decode.c.o
Compiling .pio/build/chainlink/libeb9/Nanopb/pb_encode.c.o
Compiling .pio/build/chainlink/lib172/WiFi/ETH.cpp.o
Compiling .pio/build/chainlink/lib172/WiFi/WiFi.cpp.o
Archiving .pio/build/chainlink/libd41/libSPIFFS.a
Indexing .pio/build/chainlink/libd41/libSPIFFS.a
Compiling .pio/build/chainlink/lib172/WiFi/WiFiAP.cpp.o
Archiving .pio/build/chainlink/lib227/libFS.a
Compiling .pio/build/chainlink/lib172/WiFi/WiFiClient.cpp.o
Indexing .pio/build/chainlink/lib227/libFS.a
Archiving .pio/build/chainlink/libeb9/libNanopb.a
Indexing .pio/build/chainlink/libeb9/libNanopb.a
Compiling .pio/build/chainlink/lib172/WiFi/WiFiGeneric.cpp.o
Compiling .pio/build/chainlink/lib172/WiFi/WiFiMulti.cpp.o
.pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp: In member function 'virtual int16_t TFT_eSPI::drawChar(uint16_t, int32_t, int32_t, uint8_t)':
.pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp:4220:12: warning: unused variable 'flash_address' [-Wunused-variable]
   uint32_t flash_address = 0;
            ^
.pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp:4249:11: warning: unused variable 'w' [-Wunused-variable]
   int32_t w = width;
           ^
.pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp:4250:11: warning: unused variable 'pX' [-Wunused-variable]
   int32_t pX      = 0;
           ^
.pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp:4251:11: warning: unused variable 'pY' [-Wunused-variable]
   int32_t pY      = y;
           ^
.pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp:4252:11: warning: unused variable 'line' [-Wunused-variable]
   uint8_t line = 0;
           ^
.pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp:4253:8: warning: unused variable 'clip' [-Wunused-variable]
   bool clip = xd < _vpX || xd + width  * textsize >= _vpW || yd < _vpY || yd + height * textsize >= _vpH;
        ^
In file included from .pio/libdeps/chainlink/TFT_eSPI/TFT_eSPI.cpp:5078:0:
.pio/libdeps/chainlink/TFT_eSPI/Extensions/Sprite.cpp: In member function 'virtual int16_t TFT_eSprite::drawChar(uint16_t, int32_t, int32_t, uint8_t)':
.pio/libdeps/chainlink/TFT_eSPI/Extensions/Sprite.cpp:2181:12: warning: unused variable 'flash_address' [-Wunused-variable]
   uint32_t flash_address = 0;
            ^
.pio/libdeps/chainlink/TFT_eSPI/Extensions/Sprite.cpp:2210:11: warning: unused variable 'w' [-Wunused-variable]
   int32_t w = width;
           ^
.pio/libdeps/chainlink/TFT_eSPI/Extensions/Sprite.cpp:2211:11: warning: unused variable 'pX' [-Wunused-variable]
   int32_t pX      = 0;
           ^
.pio/libdeps/chainlink/TFT_eSPI/Extensions/Sprite.cpp:2212:11: warning: unused variable 'pY' [-Wunused-variable]
   int32_t pY      = y;
           ^
.pio/libdeps/chainlink/TFT_eSPI/Extensions/Sprite.cpp:2213:11: warning: unused variable 'line' [-Wunused-variable]
   uint8_t line = 0;
           ^
.pio/libdeps/chainlink/TFT_eSPI/Extensions/Sprite.cpp:2214:8: warning: unused variable 'clip' [-Wunused-variable]
   bool clip = xd < _vpX || xd + width  * textsize >= _vpW || yd < _vpY || yd + height * textsize >= _vpH;
        ^
Archiving .pio/build/chainlink/lib301/libPubSubClient.a
Indexing .pio/build/chainlink/lib301/libPubSubClient.a
Compiling .pio/build/chainlink/lib172/WiFi/WiFiSTA.cpp.o
Compiling .pio/build/chainlink/lib172/WiFi/WiFiScan.cpp.o
Compiling .pio/build/chainlink/lib172/WiFi/WiFiServer.cpp.o
Compiling .pio/build/chainlink/lib172/WiFi/WiFiUdp.cpp.o
Compiling .pio/build/chainlink/lib1ba/WiFiClientSecure/WiFiClientSecure.cpp.o
Compiling .pio/build/chainlink/lib1ba/WiFiClientSecure/ssl_client.cpp.o
Compiling .pio/build/chainlink/libbf9/HTTPClient/HTTPClient.cpp.o
Compiling .pio/build/chainlink/lib9b4/json11/json11.cpp.o
Compiling .pio/build/chainlink/lib9b4/json11/test.cpp.o
Compiling .pio/build/chainlink/lib036/Wire/Wire.cpp.o
Archiving .pio/build/chainlink/lib172/libWiFi.a
Indexing .pio/build/chainlink/lib172/libWiFi.a
Archiving .pio/build/chainlink/libFrameworkArduinoVariant.a
Indexing .pio/build/chainlink/libFrameworkArduinoVariant.a
Compiling .pio/build/chainlink/FrameworkArduino/Esp.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/FunctionalInterrupt.cpp.o
Archiving .pio/build/chainlink/lib036/libWire.a
Archiving .pio/build/chainlink/lib1ba/libWiFiClientSecure.a
Indexing .pio/build/chainlink/lib036/libWire.a
Indexing .pio/build/chainlink/lib1ba/libWiFiClientSecure.a
Compiling .pio/build/chainlink/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/IPv6Address.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/Print.cpp.o
Archiving .pio/build/chainlink/libbf9/libHTTPClient.a
Indexing .pio/build/chainlink/libbf9/libHTTPClient.a
Compiling .pio/build/chainlink/FrameworkArduino/Stream.cpp.o
Archiving .pio/build/chainlink/libc2e/libTFT_eSPI.a
Indexing .pio/build/chainlink/libc2e/libTFT_eSPI.a
Compiling .pio/build/chainlink/FrameworkArduino/StreamString.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/WString.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/base64.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/cbuf.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-adc.c.o
Archiving .pio/build/chainlink/lib9b4/libjson11.a
Indexing .pio/build/chainlink/lib9b4/libjson11.a
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-log.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-timer.c.o
/Users/joshuaperk/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c: In function 'spiTransferBytesNL':
/Users/joshuaperk/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:922:39: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_out8 = &result[c_longs-1];
                                       ^
/Users/joshuaperk/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:923:40: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_data8 = &last_data;
                                        ^
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/chainlink/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/chainlink/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/chainlink/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/chainlink/FrameworkArduino/main.cpp.o
Compiling .pio/build/chainlink/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/chainlink/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/chainlink/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/chainlink/libFrameworkArduino.a
Indexing .pio/build/chainlink/libFrameworkArduino.a
Linking .pio/build/chainlink/firmware.elf
Retrieving maximum program size .pio/build/chainlink/firmware.elf
Checking size .pio/build/chainlink/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   9.7% (used 31628 bytes from 327680 bytes)
Flash: [===       ]  26.7% (used 350498 bytes from 1310720 bytes)
Building .pio/build/chainlink/firmware.bin
esptool.py v3.1
Merged 1 ELF section
Configuring upload protocol...
AVAILABLE: esp-prog, espota, esptool, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa
CURRENT: upload_protocol = esptool
Looking for upload port...
Using manually specified: /dev/cu.wchusbserial54F40091651
Uploading .pio/build/chainlink/firmware.bin
esptool.py v3.1
Serial port /dev/cu.wchusbserial54F40091651
Connecting........__
Chip is ESP32-D0WDQ6-V3 (revision 3)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 4c:eb:d6:43:79:90
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 16MB
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x00065fff...
Flash params set to 0x0240
Compressed 17104 bytes to 11191...
Writing at 0x00001000... (100 %)
Wrote 17104 bytes (11191 compressed) at 0x00001000 in 0.4 seconds (effective 328.0 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 128...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.1 seconds (effective 411.4 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 582.1 kbit/s)...
Hash of data verified.
Compressed 350608 bytes to 159027...
Writing at 0x00010000... (10 %)
Writing at 0x0001f1aa... (20 %)
Writing at 0x000356f5... (30 %)
Writing at 0x0003b353... (40 %)
Writing at 0x0004117d... (50 %)
Writing at 0x00046380... (60 %)
Writing at 0x0004c684... (70 %)
Writing at 0x00055172... (80 %)
Writing at 0x0005b877... (90 %)
Writing at 0x000611ea... (100 %)
Wrote 350608 bytes (159027 compressed) at 0x00010000 in 3.2 seconds (effective 886.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
============================================== [SUCCESS] Took 25.90 seconds ==============================================

Environment    Status    Duration
-------------  --------  ------------
chainlink      SUCCESS   00:00:25.899
=============================================== 1 succeeded in 00:00:25.899 ===============================================

However, when I then go to monitor, I see this:

Executing task: platformio device monitor --environment chainlink --port /dev/cu.wchusbserial54F40091651 

Please build project in debug configuration to get more details about an exception.
See https://docs.platformio.org/page/projectconf/build_configurations.html

--- Terminal on /dev/cu.wchusbserial54F40091651 | 230400 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
E (10248) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (10248) task_wdt:  - Splitflap (CPU 1)
E (10248) task_wdt: Tasks currently running:
E (10248) task_wdt: CPU 0: IDLE0
E (10248) task_wdt: CPU 1: Splitflap
E (10248) task_wdt: Aborting.
abort() was called at PC 0x400e780f on core 0

ELF file SHA256: 0000000000000000

Backtrace: 0x400862b0:0x3ffbe530 0x40086525:0x3ffbe550 0x400e780f:0x3ffbe570 0x40084c01:0x3ffbe590 0x400f49ab:0x3ffbc4c0 0x400e7e23:0x3ffbc4e0 0x4008962a:0x3ffbc500 0x40088195:0x3ffbc520
  #0  0x400862b0:0x3ffbe530 in invoke_abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
  #1  0x40086525:0x3ffbe550 in abort at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/panic.c:715
  #2  0x400e780f:0x3ffbe570 in task_wdt_isr at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/task_wdt.c:252
  #3  0x40084c01:0x3ffbe590 in _xt_lowint1 at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/xtensa_vectors.S:1154
  #4  0x400f49ab:0x3ffbc4c0 in esp_pm_impl_waiti at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/pm_esp32.c:492
  #5  0x400e7e23:0x3ffbc4e0 in esp_vApplicationIdleHook at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/esp32/freertos_hooks.c:86
  #6  0x4008962a:0x3ffbc500 in prvIdleTask at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/tasks.c:4560
  #7  0x40088195:0x3ffbc520 in vPortTaskWrapper at /home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/port.c:355 (discriminator 1)

Rebooting...
f~�f~��x�x������x�x~`怘�怘���~����ff�f�ff�f�f`ff�������`�~f�x�ff�f`�f�f`�����f����`f�������xf�~��f��~���f�ff~fxff�������fx�~���fx�~��`�fx�~�����fx�~����`�fx�~��~�fx�~�������`fx�`�������������x��x�~�������x��xx�xx�����f���怘�����x��xx�xx�������f�����`�������x������f�������x`�������x����f�����x����f��`��f���

{"type":"init", "num_modules":6}
JoshuaPerk commented 7 months ago

@scottbez1 Here's my attempt at a (failed) clean install: https://video.drift.com/v/abkLtL8scZirYP9gRbX3qmaZcCwSctW1wcY6wbv5uwOzM/

JoshuaPerk commented 7 months ago

Resolved: https://video.drift.com/v/abwDzmH8Rqo8JmEof6nIEin00uRlwJB8WlQewGrAaFs/ Discord thread: https://discord.com/channels/521805668735385606/521806401807450115/1181404579502510130