mikem

I have built a new VirtualWire library which can be used to send and receive messages with inexpensive wireless transmitters/receivers/transceivers such as the RxB1, TxC1, DR3100 at 433.92MHz (you can easily get these for under 10$ here in Australia).

Wow, that's a very professional document! And it looks like quite a useful library.

Have you considered making the API more "Arduino-like"? That is, wrapping up the functions inside of a class with a pre-instantiated instance (VirtualWire) that people can call methods on? And giving the methods names that are more consistent with those in the other libraries (e.g. begin(), read(), write(), available())? That might make it easier to use for Arduino people.

mikem

Yes, I have considered an OO interface.The next installment is expected to add an OO styled layer to provide reliable (ie with automatic retransmissions), acknowledged message delivery. That should have more arduino-like naming conventions where appropriate.

creatrope

Mike, this is a significant new module! I have the RLP434 and TLP434 and have not never able to get reliable/solid communication until now. I don't know if I had a particular fussy set of modules or it was something else, but I spent many hours on it. I had tried the Holtek HT-12E/HT-12D route, and various other encodings with only partial success until now. Your VirtualWire library is not only the simplest solution hardware-wise, it seems to work the best for me.

One small item in the library. When I run it on a atmega8 based arduino I get a TIMSK1 undeclared. I believe this notation is only valid on the atmega168. I changed it to TIMSK in VirtualWire.cpp and it compiled and ran fine. I suspect you just need to wrap in it in a processor compile-time check.