Skip to main content
Visitor II
March 4, 2019
Question

Unico UCF file format

  • March 4, 2019
  • 4 replies
  • 2026 views

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

    This topic has been closed for replies.

    4 replies

    Visitor II
    March 13, 2019

    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

    Visitor II
    May 27, 2020

    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

    Visitor II
    June 29, 2020

    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.

    Visitor II
    August 31, 2021

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