Hi, I followed the process below, but still don't get what I want.
-
flash the IMU to the newest VG_AHRS/INS program.
-
inside program:
nRST->LOW
initialize SPI
sleep 500ms
nRST->HIGH
sleep 500ms
DRDY->LOW
-
CS(using GPIO)->LOW
transfer 0x04, 0x00
transfer 0x00, 0x00
CS(using GPIO)->HIGH
Note:
- I choose to use GPIO as CS control, because the spidev automatically pull high the CS between data blocks. So I use GPIO to always keep it low during transmit and receive.
- According to the time printed out in my program, the time span between transmit and receive is about 500 usec, which is greater than 20 usec, so I expect it to be working.
- Reading most of the registers give back 0x00s, only some give back weird results, like 0x37, 0x56, 0x57.
transmit 0x37 gives back 0x00 0xc0
transmit 0x56 gives back 0x60 0x00
transmit 0x57 gives back 0x00 0x06
I guess this is because the data shift for 1 bit or something, so this would be a minor problem.
But except these, the other registers don't give any information.
I'd like to know what else I can do to receive some information about the accelerations, rates, and angles.
Thanks!