There are several Manchester Coding libraries for Arduino wireless transfer (See http://tinyurl.com/jh95cju), I have gotten two of them to work satisfactorily for communicating a single byte of data. Both the “Mchr3k” library “http://mchr3k.github.io/arduino-libs-manchester/” and cano64’s library “https://github.com/cano64/ManchesterRF” worked for singly byte transfers but I needed more than one byte. The libraries of both Mchr3k and cano64 claim support array transfer but I could never get cano64’s to work. However, I was successful with Mchr3k’s transmitArray() and beginReceiveArray().
void transmitArray(uint8_t numBytes, uint8_t *data);
void beginReceiveArray(uint8_t maxBytes, uint8_t *data);
Getting Mchr3k’s code to work was a bit exasperating but ultimately successful. Mchr3k’s minimal documentation is focused on the single byte transfer. Array transfer is mostly ignored in the documentation. As a result, it was not obvious, to me at least, that the first byte in the array MUST be the array size. I had incorrectly expected the array size to be internally added and stripped such that the library would deliver an unmolested data array. I didn’t want to store the array size in my array but it was unavoidable. This was NOT the case I eventually discovered that the first byte in the array MUST be set to the array size by the coder and Bingo – it started working. Before I discovered this, the first byte of my array just happened to be a zero and that did not work at all – requesting to send zero bytes has exactly that result!