About NRF24 - did you see that post (I forget who it was from now) about just adding a decoupling capacitor? Apparently it solves the stability issue...
About the signal being high - I doubt it's the case - you'd have to look with an oscilloscope I'm afraid (or you could record just a short section of the data into memory and then print that). My guess is:
Espruino can't print that much data out fast enough
It has to block waiting for the print to finish
The input buffer gets full and events get missed - in this case it just happens that they're the events where the signal is lowered
ATTinys should be fine to decode the signal though - you just need to make sure it's complex enough (CRC?) that you don't get invalid data.
Even if the signal is high most of the time, when you transmit it should be fine. The automatic gain will cause the sensitivity of the receiver to lower, so that when your signal stops you get a '0' received (until the sensitivity recovers).
If you're making your own signal format, it seems a good form is:
A ~4ms '1' signal - which is easy to detect and which gives the receiver time to adjust
A series of pulses - PWM is easiest, maybe 0.7ms for a 0, and 1.3ms for a 1, with a gap of ~0.5ms
You could end with a big pulse as well so you know that the transmission has ended, but just making sure you have maybe 20 pulses after the long one is probably good enough.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
About NRF24 - did you see that post (I forget who it was from now) about just adding a decoupling capacitor? Apparently it solves the stability issue...
About the signal being high - I doubt it's the case - you'd have to look with an oscilloscope I'm afraid (or you could record just a short section of the data into memory and then print that). My guess is:
ATTinys should be fine to decode the signal though - you just need to make sure it's complex enough (CRC?) that you don't get invalid data.
Even if the signal is high most of the time, when you transmit it should be fine. The automatic gain will cause the sensitivity of the receiver to lower, so that when your signal stops you get a '0' received (until the sensitivity recovers).
If you're making your own signal format, it seems a good form is: