I am using the ADS1258 in auto scan mode and channel data read command mode.
I can write to and read from registers successfully (MUL =0)
I do not use DRDY but I have START tied high to always convert and have CS tied to a GPIO pin controlled by sw.
I have set up:
CONFIG0 = 0x16 // MUXMOD = 0, external conditioning(BYPAS = 1), CHOP=1, STAT=1
CONFIG1 = 0x70 // max delay, also tried 0x0 for no delay
MUXDIF = 0
MUXSGO = 0x7 // convert continuously first 3 single ended channels
MUXSG1 = 0
SYSRED = 0
CS is brought low for a write/read cycle then brought hi afterwards between events.
For reads I use
C[2:0] = 0x1 // Channel Data Read Command
MUL = 1
A[3:0] = 0 // dont cares
So I thought if I read 4*3 + 1 bytes I think I should see all 3 channels of data (4 bytes per channel including status word and dummy first byte read)
But I only see one channel per Channel Data Read Command and it rotates thru channels (somewhat randomly) when I do the next read...
If I add a second Channel Data Read Command as the 5th written byte(4th is too soon) I see a copy of the original channel read with the New bit not set(since channel index doesnt seem to increment the new bit is responding correctly)
So how do I control the channels indexed in the Channel Data Read Command in auto-scan mode? What is the index mechanism?
Thanks,
-Phil B