Help about SPI of Omega2+
I try to use SPI to communicate with TI RF chip. But the first byte(register address) of a packet is not what I expected.
For example, I send 0x40 will become 0xC0, I send 0x80 will become 0x00.
The MSB is not correct, it become the same with bit 6.
Anyone know how to solve this?
Are you fixed this problem?? I got same problem..
No, they just give me a link to a 6 months ago post, nothing fixed, nothing released, no updated, no comment, no reply
At least you got something to work. I've been fighting this SPI thing for weeks, on and off. There seems to be no way to do SPI from a C program, and no good way to develop anything in C due to lack of kernel repo or at least config. I'm binning my three Omega2+s, without SPI they're useless to me. A pity, I like these things but without access to the stuff I need there's no point.
I have seen discussions about your problem with the first byte being corrupted, in the forum here but there doesn't seem to any resolution.
@Lindsay-Wright Theoretically you could put variation of the Linkit Smart OpenWrt build on them which should have the patch to switch SPI to half-duplex mode and thus avoid the bit corruption due to a hardware issue with full duplex. But that is obviously a bit of a non-trivial project - ultimately, it just resemphasizes the problem pointed out long ago, that Onion's persistent refusal to release sources which build to a system with working wifi means that the community can't fix little problems for them, and all the work of fixing everything falls on their overstretched team.
Another approach you could consider would be to bit-bang SPI, or use a small MCU to bridge to it from I2C or a spare UART.