Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WipperSnapper on Funhouse causes bootloop and crash #630

Closed
brentru opened this issue Sep 12, 2024 · 12 comments
Closed

WipperSnapper on Funhouse causes bootloop and crash #630

brentru opened this issue Sep 12, 2024 · 12 comments
Assignees
Labels

Comments

@brentru
Copy link
Member

brentru commented Sep 12, 2024

Describe the bug
From (https://forums.adafruit.com/viewtopic.php?p=1028567#p1028567) but also observed by me:

The screen on the Funhouse appears corrupted and pixelated for a brief moment, and the lights flash quickly (including the red LED near the reset button) before the cycle repeats, all within 3 seconds. This behavior continues until you power off the device.

Arduino board
Adafruit FunHouse ESP32-S2

To Reproduce
Install WipperSnapper Beta on FunHouse via io.adafruit.com's web uploader

Expected behavior
TFT should come into the loading screen, not crash

Which components are connected to your device
None

OS Tested: MacOS, Windows 10

Smartphone (please complete the following information):
n/a

Additional context
Forum post with original problem: https://forums.adafruit.com/viewtopic.php?p=1028567#p1028567

@brentru
Copy link
Member Author

brentru commented Sep 13, 2024

@tyeth I spent an hour or so this morning tracking this issue down, you may have more experience with LVGL and want to try taking a look next week:

Where this issue is originating from:
LvGLStatus Adafruit_LvGL_Glue::begin(Adafruit_SPITFT *tft, void *touch,bool debug) calls lv_init() (LVGL library) which causes a crash. LVGL_Glue does not make it past the begin() call.

Challenges while debugging, on my end:

  • My ESP32 doesn't seem to get the "Guru Meditation Error" that the related issue got, ended up being difficult to track where I am in the code
  • It doesn't seem lv_conf.h is being included on my build system (Arduino IDE 2.x), so I can't get detailed logs of what's occurring within lv_init(). Possibly this is the same for you and you'll want to fix this first to get insight into lv_init().
  • Maybe this was caused by the BSP 3.x migration?

Related Issue: adafruit/Adafruit_LvGL_Glue#23

tyeth added a commit to tyeth/Adafruit_Wippersnapper_Arduino that referenced this issue Sep 19, 2024
@tyeth
Copy link
Contributor

tyeth commented Sep 19, 2024

v3.0.5 was released this week, and building with that in platformIO / vscode I don't see the bug (display initialises and board comes online).
I used the same library versions of lvgl + littlevgl glue as the CI script installs.

Had issues building in arduino ide, will revisit tomorrow

@tyeth
Copy link
Contributor

tyeth commented Sep 20, 2024

Got it building in arduino ide (BSP 3.0.5). Appears to respect the lv_conf.h I've added to my sketch folder. Runs fine.
Recreated the bug on 3.1.0-rc.0. (Been testing WS v88 the whole time). Running with trace output isn't showing anything obvious

@tyeth
Copy link
Contributor

tyeth commented Sep 20, 2024

log attached
Funhouse_lvgl_reboot_bsp310RC0.txt

@brentru
Copy link
Member Author

brentru commented Sep 23, 2024

@tyeth I'll try this today, you think it's isolated to BSP 3.1.0-rc.0?

@tyeth
Copy link
Contributor

tyeth commented Sep 23, 2024

It appeared to be, as I got a build out of 3.0.5, but I wouldn't bet the house on it.

The only thing I saw that could affect things was that in idf 5.3.0 (bsp 3.1.0-rc0) there was an additional parameter added for logic level high or low which previously was related to display corruption on another SPI display. I don't believe this is our issue as we don't use the alternative logic level like the bugged display in the idf 5.3.0 issue, but it did sound similar.
lvgl/lvgl#6387
which then leads to espressif/esp-idf#10635

@brentru
Copy link
Member Author

brentru commented Oct 11, 2024

@tyeth Did we release a fix for this and can close this issue?

tyeth added a commit to tyeth/Adafruit_Wippersnapper_Arduino that referenced this issue Oct 11, 2024
@tyeth
Copy link
Contributor

tyeth commented Oct 11, 2024

@brentru I think that was part of the reason for pinning the ci-arduino repo (ci-wippersnapper branch).
I haven't retested recently, but as we're pinned at 3.0.5 all should be well.
No code was changed as part of a fix, just tooling.

@brentru
Copy link
Member Author

brentru commented Oct 11, 2024

Right Okay, going to close this out

@brentru brentru closed this as completed Oct 11, 2024
@tyeth tyeth reopened this Oct 21, 2024
@tyeth
Copy link
Contributor

tyeth commented Oct 21, 2024

Reopening this issue.
A user reported the same issue in the forums, so I quickly ran an update of my funhouse from circuitpython to wippersnapper v90 and saw the same issue (using a Mac). Looking at serial it's the same situation, getting only as far as Lvgl init.
This has not had a release fixing the issue, last one was September 12th.
Although we changed the CI over to 3.0.5 there has been a block on release while the C6 issue is resolved and I'd forgotten that affected the funhouse.
@brentru Also 3.0.6 has been released (again) today.

@tyeth
Copy link
Contributor

tyeth commented Oct 21, 2024

Closed with the release of v1.0.0-beta.91 (retested and same funhouse is now happy)

@tyeth tyeth closed this as completed Oct 21, 2024
@tyeth
Copy link
Contributor

tyeth commented Jan 27, 2025

Note: this is still pinned to BSP < 3.1.x for FunHouse / LvGL Glue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants