Hey, I've got a newer/different model of this SPA (SB-H10) and your method of control seemed the easiest.
Unfortunately the new display can't be taken apart without destroying it (from what I can tell) so I have to put my module in the base unit. I have been copying the core of your code and trying to get it working. I'm not sure if you're still using this or have switched to diyscip but I have found a couple things that will probably fix the stability issues with this code.
The first is ICACHE_RAM_ATTR. You must put this on any function that is called directly or indirectly from an interrupt. Without this, the firmware will crash quite frequently.
Another issue is the size of your btnRequest and btnCount arrays. They are too small by one so probably cause some sort of unwanted issue.
Hey, I've got a newer/different model of this SPA (SB-H10) and your method of control seemed the easiest.
Unfortunately the new display can't be taken apart without destroying it (from what I can tell) so I have to put my module in the base unit. I have been copying the core of your code and trying to get it working. I'm not sure if you're still using this or have switched to diyscip but I have found a couple things that will probably fix the stability issues with this code.
The first is ICACHE_RAM_ATTR. You must put this on any function that is called directly or indirectly from an interrupt. Without this, the firmware will crash quite frequently.
Another issue is the size of your btnRequest and btnCount arrays. They are too small by one so probably cause some sort of unwanted issue.