-
What I was told on the Arduino forum is that the the receivers autoadjust their gain towards a ~50% duty cycle, so if the training burst is a solid pulse, that causes it to crank down the gain down too much.
About going the other way - I'm actually really considering trying to build in some simple functionality for reading radio/IR signals (effectively specifying min + max pulse widths for a start pulse, 0 and 1)
Oh cool!
Great! In terms of making it simpler/faster, what about:
So:
digitalWrite(0)
at the endI'm actually really surprised you need the training pulses... Personally I'd have just sent out one long pulse at the start:
Then hopefully you could just detect that pulse in the receiver and use it as a 'start of frame' - I think it's just a longish burst of transmit that is needed to let the receiver get its gain set properly. It should work, but then I guess it may not :)
About going the other way - I'm actually really considering trying to build in some simple functionality for reading radio/IR signals (effectively specifying min + max pulse widths for a start pulse, 0 and 1). That'd let it handle noise a lot better, and would mean it could go to sleep right after processing a pulse - it would massively increase battery life on the receiver end.