I've tested with separate power suppliers. No success. Received numbers correlate with sent ones but I don't understand why transformation occurs. When I changed code to see which bytes are sent and received I saw something like this transformation table:
Byte 4 was transformed to 11. Byte 3 - to 10, byte 2 - to 9. And it corresponds with numbers which I get when use code with myTransfer.txObj(val, sizeof(val)) instead of byte-by-byte. For example if 3 becomes 10 then likely receiving part of SerialTransfer multiplies it 256 and adds the second byte. It gives something like ~2700 - that's what I observe. I don't know though if the second byte is transformes or not but at least first one definitely yes.
How can it be? It's already nightmare for me.