Thanks for your response. So I racked my brain and tried a bunch of different approaches. I think I made some progress.
First, I noticed that the tutorial measures the length of the gap between pulses and I thought that was curious. Ie, why not the length of the pulses themselves?, particularly, because IRReceiver module seems to allow both. So I coded this up: http://pastie.org/8997007 and measured the lengths of both and saw that both the pulse gaps and pulse lengths were not consistent across a button press. Then I went back to the documentation that I linked to above and saw that command length was around 82ms. My code in the pastie above puts a line break after 82ms has been reached and I noticed a pattern.
Then, I had the thought to divide the length of each output by the bit length of ~2ms. Depending on whether it was rising or falling dictated whether the output was a logic 1 or logic 0. By doing this, I get the binary specified in the documentation for each button. Which is awesome, because now I'm getting somewhere.
So now I just have to create a driver to output this binary in pulse length and pulse gap lengths and I should be in business. We'll see... I have to take a break now and will report my results later.
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.
Hi Gordon,
Thanks for your response. So I racked my brain and tried a bunch of different approaches. I think I made some progress.
First, I noticed that the tutorial measures the length of the gap between pulses and I thought that was curious. Ie, why not the length of the pulses themselves?, particularly, because IRReceiver module seems to allow both. So I coded this up: http://pastie.org/8997007 and measured the lengths of both and saw that both the pulse gaps and pulse lengths were not consistent across a button press. Then I went back to the documentation that I linked to above and saw that command length was around 82ms. My code in the pastie above puts a line break after 82ms has been reached and I noticed a pattern.
First, the command is repeated, which I learned is a common pattern after reading Adafruits tutorial(http://learn.adafruit.com/ir-sensor/overview)
Then, I had the thought to divide the length of each output by the bit length of ~2ms. Depending on whether it was rising or falling dictated whether the output was a logic 1 or logic 0. By doing this, I get the binary specified in the documentation for each button. Which is awesome, because now I'm getting somewhere.
So now I just have to create a driver to output this binary in pulse length and pulse gap lengths and I should be in business. We'll see... I have to take a break now and will report my results later.