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

O_C not working after upgrading to 1.8.3 in DIY 1U O_C (Teensy 3.1/3.2) #121

Closed
s0rtega opened this issue Jan 20, 2025 · 7 comments
Closed

Comments

@s0rtega
Copy link

s0rtega commented Jan 20, 2025

Hello @djphazer,

First of all thank you for developing and maintaining Phazerville, awesome work here. I am having some issues upgrading to 1.8.3 and I wanted to share it here in case you have some ideas or can provide some advice on how to identify where is the issue.

  • Issue: after upgrading to 1.8.3, O_C doesn´t boot up but Teensy works normally. It seems that the LCD screen is not working. Rollback to 1.8.2 (any version) fix the issue.

  • Hardware: DIY 1U O_C Version with Tensy 3.1/3.2. I believe it´s based in MXMXMX with variable CV (hint: polymorphic CV), but I can't confirm which version is exactly. For more details see the attached picture.

  • Steps to reproduce & other information: Simply compile any 1.8.3 build using GitHub options or locally building it will crash the O_C. Tried multiple versions (custom, prod, vor, etc.) with same result. Always working in 1.8.2 without issues. I have compiled one custom 1.8.3 version with the -DPRINT_DEBUG flag (Thanks to o_C-phazerville-v1.7_T40-6d32547c.hex freezes on powerup. #55) and the O_C seems to boot normally but the screen is off:

* O&C BOOTING...
* v1.8.3
Cal.Storage: PAGESIZE=128, PAGES=1, LENGTH=128
Calibration data loaded...
CV scale not set, using default
Set screensaver timeout to 25000
Configuring encoders: normal (0)
* CORE ISR @60us
* UI ISR @1000us
Set screensaver timeout to 25000

I saw the support for SPI added in the new release (#91) so I am wondering if any of the changes could have caused this issue but I prefer to double confirm it with you before going down the wrong way.

Happy to provide more information / tests if required.

Image
Image

@djphazer
Copy link
Owner

My apologies - your hardware is probably not handling the display driver changes very well, from commit 893662f

I probably need to revert the sub-page transfer stuff to make it stable again on T3.2.
A potential workaround might be to slow down the screen refresh rate, by increasing the value of REDRAW_TIMEOUT_MS here - https://github.com/djphazer/O_C-Phazerville/blob/phazerville/software/src/OC_config.h#L22
(try something like 10ms)

Also, to clarify, your unit does NOT have VOR... the word "polymorphic" is just a fancy way of saying it's a multifunction module ;)

@HeWhoWantsJeansAgain
Copy link

I think I just ran into this flashing the latest version on my o_C builds by CalSynth running T4.0. After flashing with 1.8.3 the display would not come on. I just downgraded to 1.8.2 and they work fine.

@s0rtega
Copy link
Author

s0rtega commented Jan 21, 2025

Hello there and thanks for the quick feedback.

[...] A potential workaround might be to slow down the screen refresh rate, by increasing the value of REDRAW_TIMEOUT_MS here - https://github.com/djphazer/O_C-Phazerville/blob/phazerville/software/src/OC_config.h#L22 (try something like 10ms) [...]

Tried a bunch of values (from 5...20) but the display is still not working. To confirm, I used the Phazerville-Screen-Capture app. and I can see the screen as expected, so it must be the feature / commit that you pointed out.

Also, to clarify, your unit does NOT have VOR... the word "polymorphic" is just a fancy way of saying it's a multifunction module ;)

Ahhh, my bad. Got caught in the fancy language 🗡 .

@djphazer
Copy link
Owner

As I'm deciding what to revert, I wonder if just this line would make a difference? "charge pump setting - enable"
https://github.com/djphazer/O_C-Phazerville/blob/phazerville/software/src/src/drivers/SH1106_128x64_driver.cpp#L74

Which actual display are you all using?

@djphazer
Copy link
Owner

I pushed a potential fix, rolling back the display driver changes - adb4921
Try it out here - https://github.com/djphazer/O_C-Phazerville/actions/runs/12917202385

@s0rtega
Copy link
Author

s0rtega commented Jan 23, 2025

Hello,

As I'm deciding what to revert, I wonder if just this line would make a difference? "charge pump setting - enable" https://github.com/djphazer/O_C-Phazerville/blob/phazerville/software/src/src/drivers/SH1106_128x64_driver.cpp#L74

Which actual display are you all using?

"charge pump setting - enable" did the trick. I will test it later tomorrow to see if there are any problem using it normally but I was able to boot up, change apps., move around. It seems totally normal now.

Here is the display that it is using:

Image

I pushed a potential fix, rolling back the display driver changes -

Also working! Thanks for taking the time looking into this.

@djphazer
Copy link
Owner

Awesome, looks like the "charge pump" setting is necessary after all! No clue why I decided to comment it out... probably a "works for me" scenario. That's a simple fix tho, thanks for your help!

@s0rtega s0rtega closed this as completed Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants