U8G2 HW SPI breaks after update from 2.6.2 to 3.6.0 #1733
-
Hi, I've been using Arduino Pico 2.6.2 for a long time but recently updated it to current (3.6.0) because I saw there are some new features , but now my SPI LCD won't work. My Hello World code is below:
Declaring as software SPI works, but the refresh rate is very low. Declaring HW SPI like I used to and the screen has no response. If I compile using Arduino Mbed, HW SPI works, but my other projects use RPi_Pico_TimerInterrupt which Mbed errors on, saying it's not supported. I'm using the default SPI0 and default pins, and it always worked on 2.6.2 so I'm not sure what's happened. Hopefully someone has an insight. Thanks,
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 15 replies
-
Sorry, but you're going to have to provide more info to get help. What exactly is happening? Is it hanging? Report device not found? Any other debug info? (Turn on Tools->Debug Port->Serial and then Tools->Debug Level->SPI to capture). You can also try bisecting things by moving somewhere between 2.6.2 and 3.6.0 (i.e. does 3.0.0 work but 3.1.0 fail) which would narrow things down tremendously. |
Beta Was this translation helpful? Give feedback.
Gotta say that I'm pretty stumped now. No issues with other SPI users so there still must be something specific about this use case. I'm thinking it might not be the protocol so much as something else here.
SPI interfaces normally have a CS, yes? Are you sure the CS pin is disabled until the GFX lib starts communicating? There might always be some glitchiness as the SPI unit comes online and takes over the pins, but it would be ignored since CS would be deasserted until a real command comes. Can you capture the CS pin as well and see that it's disabled until the 1st valid bit of data?