433MHz Receiver #636
Replies: 3 comments
-
Posted at 2014-11-15 by DrAzzy Yeah, it pretty much floors the receiver. Right now, an Espruino can't receive unless it knows a message is coming (like I do in my test code in the thread linked below). See my thread (page 2 has some better receive code than you're using): Gordon's thread talking about possible improvements - so this is hopefully going to be fixed: My thread about this locking up the espruino: |
Beta Was this translation helpful? Give feedback.
-
Posted at 2014-11-15 by favo Thank you for the links @drazzy, they seem to shed some light on it. I'm going to read everything in there tomorrow :) |
Beta Was this translation helpful? Give feedback.
-
Posted at 2014-11-17 by @gfwilliams I should really create a module for 433Mhz with basically the fastest JS code I can get for the receiver. The impression I get is that with debounce on the setWatch it should be just about usable (although it could miss the occasional transmit). With careful forming of the signals you send (eg. a long (4ms?) pulse of radio at the start, which will give Espruino a noiseless period in which to chew through all the data it buffered up) it should still be pretty reliable though. I will be fixing the issue with Espruino being overwhelmed in version 1v72 of the firmware, so at least that shouldn't be such an issue any more - however USB/Serial share the same buffer as interrupts, so if the buffer gets full you'll still have trouble communicating with Espruino. Hopefully when I get time to implement this 'native code in interrupts' thing the problem will be totally solved though. |
Beta Was this translation helpful? Give feedback.
-
Posted at 2014-11-15 by favo
Hi!
I'm playing around with a pair of 433MHz receiver/transmitters and while everything works great on the transmitting part, I was trying to pair two espruinos (as test-replacement while waiting for my NRF24L01+).
The problem I ran into is that when I set watches for the receiver it seems to put too much load on the board, making it nearly impossible to run anything else.
Is there a trick to handle the receiving part with less processing power or is this a waste of time and I shouldn't even try?
As soon as I pull the plug from A0 (data line), the terminal becomes responsive again.
I just used one of the example snippets:
Thanks for any advice!
Mario
Beta Was this translation helpful? Give feedback.
All reactions