UPDATE: I have decided that using the VirtualWire library is a problem. It would need to be used in my 434MHz transceiver which currently uses my LightwaveRF library. The problem is that VirtualWire uses the timer2 interrupt and my library uses an external interrupt on pin 2. If I leave timer2 on when I am sending and receiving LightWaveRF messages, it will affect the timing of receiving and transmitting bits. Similarly if I leave the in 2 interrupt on while receiving or transmitting VirtualWire messages, their timing will be messed up. I would need to keep disabling and enabling the different interrupts, and I would not be able to receive messages using both libraries. For this reason, I have decided to use Jeelib messaging for the IR remote, and leave the 434MHz transceiver just doing LightwaveRF messaging. Currently I have the IR remote working with the RFM12B board and an Arduino Uno, but it needs to packaged in a suitable box. I am using two Infrared LEDS so that I can point one at the TiVo and AV Receiver (which are next to each other) and one at the TV. This seems to work.
I am beginning to rethink what RF to IR device I will use to control my TV etc. The Jeenode Infrared plug does not seem to be suitable for my needs, as it is limited to 38khz and its library only deals with the NEC IR protocol. My devices seem to use a mixture of NEC, RC5 and other protocols, and operate at both 36khz and 38khz. The irremote library is much more capable than the Infrared Plug Jeelib implementation, and I found problems with both the library and examples in the Jeelib version, which suggests it is not very much used. More importantly the method of generating the carrier frequency with a 555 timer that the Infrared plug uses, is much less flexible than the PWM method that Ken Shirriff’s library uses.
Another consideration is that it is going to be hard to have a battery version of this device as it needs to be constantly listening for RF messages, and that will quickly drain batteries. It looks like I will need to mount the RF to IR remote device somewhere near a power socket, so it can be permanently plugged in.
This probably means that I might as well stick to my old device that uses an Arduino and a Cool Components RF receiver, rather than using a Jeenode version. It will be my only use of the VirtualWire library, but I don’t think that matters.