NeoTrellis INT line Bug Report

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Post Reply
User avatar
LuLu100
 
Posts: 18
Joined: Fri Aug 10, 2018 3:34 pm

NeoTrellis INT line Bug Report

Post by LuLu100 »

Hi,

Bug Report:
==========
The NeoTrellis INT line occasionally getting stuck low issue.


Reproduce Case:
===============
I created a very simple reproduce case that is documented below:


Setup (pictures attached):
=========================================================
- (1) ItsyBitsy M4
- (1) NeoTrellis Keypad
- (1) Adafruit example code: interrupt.ino from the Adafruit seesaw Library\examples\NeoTrellis\interrupt\interrupt.ino
(this Adafruit example code polls the neotrellis INT line (there are no interrupts being used on the M4...the file name interrupt.ino is a bit confusing)
(this reproduce case is 100% Adafruit example code)


Test:
====
- press a kypd button a few times with the loop() delay set to 2ms.
- press a kypd button a few times with the loop() delay set to 50ms.


Results:
=========================================================
1) when the delay() in loop() is 2 ms the INT line does Not get stuck low
2) when the delay() in loop() is 50 ms the INT line Does get stuck low occasionally (anything >= a 7 ms delay() will cause the INT line to occasionally get stuck low)


Conclusions:
=========================================================
1) the length of the delay() in loop() appears to adversely affect the neotrellis INT pin's behavior
2) any code in loop() that takes longer then 7 ms to run will cause this issue to appear
3) this seems like a bug in the neotrellis firmware (ATSAMD09D14A see saw firmware)
4) this is a very straight forward way to reproduce the issue for testing and debugging

Let me know what you make of this reproduce case,
Louie

p.s. i have 13 of these neotrellis boards.
p.s. there is a workaround...detect when the INT line is stuck low and call NeoTrellis.SWReset()
p.s. i think Adafruit is awesome. I am very happy Adafruit customer. Your sw libraries make building so easy.
Attachments
neoTrellis_issue_1.jpg
neoTrellis_issue_1.jpg (937.12 KiB) Viewed 115 times
neoTrellis_issue_2.jpg
neoTrellis_issue_2.jpg (892.64 KiB) Viewed 115 times
neoTrellis_issue_3.jpg
neoTrellis_issue_3.jpg (858.29 KiB) Viewed 115 times

User avatar
mikeysklar
 
Posts: 8152
Joined: Mon Aug 01, 2016 8:10 pm

Re: NeoTrellis INT line Bug Report

Post by mikeysklar »

Nice bug report. Thank you for narrowing down the timing and the hard work.

Would you mind filing it with the Adafruit Seesaw github repo?

https://github.com/adafruit/Adafruit_Seesaw/issues

User avatar
LuLu100
 
Posts: 18
Joined: Fri Aug 10, 2018 3:34 pm

Re: NeoTrellis INT line Bug Report

Post by LuLu100 »

Hi Mike,

I created a github issue per your request:
https://github.com/adafruit/Adafruit_Seesaw/issues/76

Louie

User avatar
mikeysklar
 
Posts: 8152
Joined: Mon Aug 01, 2016 8:10 pm

Re: NeoTrellis INT line Bug Report

Post by mikeysklar »

Louie,

Thank you for all your work here. Good stuff.

User avatar
adafruit2
 
Posts: 21109
Joined: Fri Mar 11, 2005 7:36 pm

Re: NeoTrellis INT line Bug Report

Post by adafruit2 »

we're aware o the bug but have not had the time to sit down and figure out whats up!

Post Reply
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”