inverting a VirtualWire (rx) signal

I am playing around using VirtualWire on an infrared link, using a 38Khz receiver module. I reckoned that as it has agc and data slicing like a rf module, the manchester encoding of VW should work well, and it does, but the receiver module has an inverted data output, so I have stuck a transistor inverter between it and the VW rx pin of the arduino.

Is there a way I can simply invert the signal from the VWrx ? ( there is an inverting option of the push to talk, but I need the data inverted )

but I need the data inverted

Inverted in what way? The bits should be reversed, end to end? Or, the ones should become zeros and the zeros should become ones? Inverting the data is pretty simple if either of these is what you mean by inverted.

I think you're better off with the transistor. No mucking around in the VW receive software to change the "software uart" functionality. Keep it simple.

@ Paul, yes the data is inverted by IR receiver modules, the output is pulled up to 5v via a 10k, and bursts of of IR pull it down.

@ Crossroads, yes perhaps one transistor and a resistor is a lot easier than messing with the library " when ignorance is bliss, tis folly to be wise "

I am goig to play with the VW baud rate now, its running at 6000 at the moment, and the IR receiver module has a nice shaped waveform coming out.

6000! Wow, the math in the manual suggests that 2000 is the max due to the times needed to put together the sync bytes and manchester encoding & stuff. Are you getting good data coming out at that speed?

I had it running slower to start with but didnt like the look of the data ( but that was of course when I had the data inverted ) so without checking the VW recommendations, I just kept increasing the speed until it looked similar to the bursts from my TV remote ( I was thinking about the IR Rx bandwidth rather than the VW )

I am now going to play with the speed and see whats best. Thanks for pointing that out .

Looking again at the VW manual, the 2000 bit rate is used in his calculation, but later on he shows results at various speeds

At 7000bps, Range about 90m
At 5000bps, Range about 100m
At 2000bps, Range over 150m
At 1000bps, Range over 150m

I had switched to testing with softeasytransfer, ( which also has waveforem issues to cater for ) but might go back to VW at 5000 again to see what happens.