Deriving a class from another class, breaks interrupts
Posted: Mon Sep 17, 2018 4:33 am
Hey there. Recently a friend and I started work on moving an existing project, first to platformio, and then making it OOP.
EDIT: More testing has gotten a different understanding of the problem.
Interrupts are firing, but they are just firing regularly every ~38 ms.
I go over this in this video here: https://www.youtube.com/watch?v=wEsCFahUyLY It's 10 minutes long, but I talk slow, so you should be able to play it at 1.5x
The following is the old understanding:
EDIT: More testing has gotten a different understanding of the problem.
Interrupts are firing, but they are just firing regularly every ~38 ms.
I go over this in this video here: https://www.youtube.com/watch?v=wEsCFahUyLY It's 10 minutes long, but I talk slow, so you should be able to play it at 1.5x
The following is the old understanding:
After doing this, interrupts used in software serial stopped firing. We have verified that the "attachInterrupt()" function in software serial actually is called, but as you can see on the github-issue tracker in the logic-analyzer captures, the falling_edge interrupt doesn't ever fire.
You can check the minimal code to reproduce here: https://github.com/Hal9k-dk/bigbro/tree ... rmware/src The display code isn't actually needed, but serves as a sort of "heartbeat" to see that the board is otherwise running.
I'm currently waiting for a few boards to hook this up to JTAG, and continue my debugging from there, but would love to hear other ideas of what in the world could be causing this.