Reworked the receiving logic as the old code was occasionally decoding data incorrectly.
It now uses level change interrupts to detect the data incoming - annoyingly it seems level interrupts can be missed when servicing the wifi, so a timer is set up to fire inside the start pulse so try and mitigate this.
Also includes various changes with stability and project migration from arduino IDE to platformIO
Reworked the receiving logic as the old code was occasionally decoding data incorrectly. It now uses level change interrupts to detect the data incoming - annoyingly it seems level interrupts can be missed when servicing the wifi, so a timer is set up to fire inside the start pulse so try and mitigate this.
Also includes various changes with stability and project migration from arduino IDE to platformIO