At IR frequencies, what @MattC has done should really be fine. It's interesting that the first few things are spot on and it's the later ones that are off though.
You could check that E.getErrorFlags() is  - just on the offchance that the input buffer got overflowed.
The timings are only recorded on Puck.js using the RTC - which runs at 32kHz - so you don't get super-accurate, but it should be enough for IR. The Espruino boards use the internal high-speed oscillator and measure to 1MHz, but on the Puck I've had to try and aim more for minimum power usage.
I was actually planning on doing a video on this today, so I'll have a poke around and see if something's not working right.
It's also possible that you're just not recording the right signal - I've found that IR remote controls also send different codes - like a Volume up key might send a 'volume up' command followed by what looks like a much shorter 'repeat' command if you hold the button down.
If you wanted a second opinion it's relatively easy to wire the receiver up with a battery and to then connect it to your PC's line in/mic jack. You can then use some audio recorder software like audacity to analyse the signal you're getting.
© Espruino, powered by microcosm.
Report a problem