cancel
Showing results for 
Search instead for 
Did you mean: 

Unico UCF file format

Balázs VARGA
Associate II

Hi,

I am evaluating the LSM6DSOX sensor, focusing on the machine learning features. I have generated a UCF file using the Unico GUI, and I'd like to upload the configuration to the chip. I am using a custom board, not one of the official motherboards, so Unico cannot communicate with my hardware, I need to do the configuration manually.

However, I have found no documentation on this. Looking into the UCF file, the lines look suspiciously like register address-value pairs. Can somebody confirm that this assumption is correct? If so, what is the "Ac" prefix? Is it relevant?

Here are the first few lines of my UCF file as an example:

-- Machine Learning Core GUI v8.0.1.0, LSM6DSOX
 
Ac 10 00
Ac 11 00
Ac 01 80
Ac 17 10
WAIT 50 ms
Ac 05 00
Ac 17 00
Ac 01 00
Ac 10 A0
Ac 11 A0
Ac 10 00
Ac 11 00
Ac 01 80
Ac 17 40
Ac 02 11
Ac 08 EA
Ac 09 4A
Ac 02 11
Ac 08 EB
Ac 09 03
Ac 02 11
Ac 08 EC
Ac 09 54
Ac 02 11
Ac 08 ED

Thanks,

Balázs

4 REPLIES 4
Balázs VARGA
Associate II

Well, I eventually confirmed this myself, if anyone is wondering. However, the initialization process encoded in the UCF file seems to be unnecessarily convoluted. Turning peripherals on and then immediately off, writing illegal values to reserved bits etc. See below.

Ac 10 00 -- accelerometer power-down
Ac 11 00 -- gyroscope power-down
Ac 01 80 -- enable access to the embedded functions registers
Ac 17 10 -- this is invalid (reserved bit), see page 124 of the datasheet
WAIT 50 ms
Ac 05 00 -- disable MLC, FSM, FIFO compression
Ac 17 00 -- clear the bit that shuld not have been set in the first place
Ac 01 00 -- disable access to the embedded functions registers
Ac 10 A0 -- accelerometer data rate 6.6 kHz, full scale 2 g
Ac 11 A0 -- gyroscope data rate 6.66 kHz, full scale 250 dps
Ac 10 00 -- accelerometer power-down
Ac 11 00 -- gyroscope power-down
Ac 01 80 -- enable access to the embedded functions registers
Ac 17 40 -- enable advanced features page write
...
several writes to addresses 0x02, 0x08, 0x09
(PAGE_SEL, PAGE_ADDRESS, PAGE_VALUE)
...
Ac 01 00 -- disable access to the embedded functions registers
Ac 12 00 -- disable address auto-increment during multiple-byte accesses
Ac 01 80 -- enable access to the embedded functions registers
Ac 17 40 -- enable advanced features page write
...
several writes to addresses 0x02, 0x08, 0x09
(PAGE_SEL, PAGE_ADDRESS, PAGE_VALUE)
...
Ac 01 80 -- enable access to the embedded functions registers
Ac 17 00 -- disable advanced features page write
Ac 04 00 -- disable motion detection, tilt calculation, pedometer
Ac 05 10 -- enable machine learning core
Ac 02 01 -- select page 0
Ac 01 00 -- disable access to the embedded functions registers
Ac 12 04 -- enable address auto-increment during multiple-byte accesses
Ac 01 80 -- enable access to the embedded functions registers
Ac 60 15 -- machine learning core data rate 26 Hz
Ac 01 00 -- disable access to the embedded functions registers
Ac 10 24 -- accelerometer data rate 26 Hz, full scale 16 g
Ac 11 00 -- gyroscope power-down

KWine
Senior

Hi Balasz,

Looks like you are a year ahead of me here. Did you find that programming the LSM6DSOX in your custom hardware produced the desired result? I am having trouble getting the ST sensor box to give robust output using the Unicleo graphics tools, etcbut if i can simply program the LSM6DSOX registers in my custom hardware this would make it very easy for me!

Thanks for any suggestions.

Kris

ladislas
Associate II

I'm in the same situation with a custom board and would love to find more documentation on this. Or access to Unico source code so that we can investigate.

TWade.1
Associate II

Did anyone ever find out an answer to the decoding of the ucf file? Thanks