-
Notifications
You must be signed in to change notification settings - Fork 58
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
Arduino Uno R4 Issues/Status #41
Comments
First thing I noticed from the output is that While most sketches and libraries won't have an issue with this, as they are not using the pins directly, I found the issue.
I'll bug this in the R4 core. In terms of other sketches not working. The only sketch that looks like there is an issue (other than I2CexpDiag) is LCDiSpeed. We need to get I2CexpDiag working to fully test the environment. You will want to change this:
to this
This will allow I2CexpDiag to work so it can test things. |
Made that change and also incorporated the PRs for SPI, Micros, and setClock while I was at it. Diag is now working:
With the LCDiSpeed see two screens before turning to gibberish:
Running the LCDiSpeed400 = works better continually cycles through the screen data showed for the LCDiSpeed sketch |
ByteXfer of 1094us is quite slow. It less than half that on something like a normal UNO or Mega. What do you mean by "gibberish"? Interesting/odd that LCDiSpeed400 works better. What is the ByteXfer time when using a 400 KHz clock? |
When there is garbage like that, the host and the LCD have lost nibble sync. The most common causes of this are from glitches on the I2C bus, or if LCD timing is violated. Once nibble sync is lost it will never recover on its own. For timing, the 400khz clock should transfer bytes faster than 100khz. Does your LA have i2c decoding? I'm going to have a look a the Wire code in that core to see if there is any obvious contributing to this. |
Yep, Well that didn't take long to find what I believe to be the cause of why the write performance sucks.
That is a stupid way to try to handle a timeout. |
Good Morning Bill Here is a whole discussion on it: https://forum.arduino.cc/t/bug-in-wire-timeout-loop-cause-poor-performance/1151584/3 |
I saw those. Those demonstrate the same problem on the read side. |
As we talked about on the R4 forum here are some comments using the NOYITO 1602 16x2 LCD Module Shield https://www.amazon.com/gp/product/B07SYPPTWN/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&th=1.
From what I see its using a PCF8574 port expander, if that matters.
Results from running the I2CexpDiag:
Not sure why its showing SDA/SCL shorted.
HelloWorld, Serial2LCD, UpTime, CustomChars, ReadWrite, sketches are working with the display.
Ran the LCDProc sketch and got:
LCDiSpeed Test: Just showing jibberish on the display
LCDCharSet looks like its working
Thats not too bad.
The text was updated successfully, but these errors were encountered: