So you're a Noob? Post your questions here until you graduate! Don't be shy.

User avatar
By Duckle
#78270 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:

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.
Last edited by Duckle on Fri Sep 21, 2018 4:09 pm, edited 1 time in total.
User avatar
By Duckle
#78352 The problem has been solved. Apparently, you can't have const variables in the header, and then use them to initialize an object in the initializer list of the constructor. At least not the way we did it.

If anyone else finds this is 50 years, check the linked issue, and the commit that fixes it.