Giter Club home page Giter Club logo

lsm6dsox's Introduction

LSM6DSOX

Arduino library to support the LSM6DSOX 3D accelerometer and 3D gyroscope

API

This sensor uses I2C or SPI to communicate. For I2C it is then required to create a TwoWire interface before accessing to the sensors:

TwoWire dev_i2c(I2C_SDA, I2C_SCL);  
dev_i2c.begin();

For SPI it is then required to create a SPI interface before accessing to the sensors:

SPIClass dev_spi(SPI_MOSI, SPI_MISO, SPI_SCK);  
dev_spi.begin();

An instance can be created and enabled when the I2C bus is used following the procedure below:

LSM6DSOXSensor AccGyr(&dev_i2c);
AccGyr.begin();
AccGyr.Enable_X();  
AccGyr.Enable_G();

An instance can be created and enabled when the SPI bus is used following the procedure below:

LSM6DSOXSensor AccGyr(&dev_spi, CS_PIN);
AccGyr.begin();	
AccGyr.Enable_X();  
AccGyr.Enable_G();

The access to the sensor values is done as explained below:

Read accelerometer and gyroscope.

int32_t accelerometer[3];
int32_t gyroscope[3];
AccGyr.Get_X_Axes(accelerometer);  
AccGyr.Get_G_Axes(gyroscope);

Documentation

You can find the source files at
https://github.com/stm32duino/LSM6DSOX

The LSM6DSOX datasheet is available at
https://www.st.com/content/st_com/en/products/mems-and-sensors/inemo-inertial-modules/lsm6dsox.html

lsm6dsox's People

Contributors

alvaro-oliver avatar cparata avatar patricklaf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

lsm6dsox's Issues

Example code

We are evaluating this device for a new product using multiple IMUs for medical applications. An simple example showing how to pull the raw data would be extremely helpful.

I3C disable register

My fault, Read code again found that is my misunderstanding, sorry about that.

Method "lsm6dsox_i3c_disable_set" will write "1" (0x80 right shift 7) to offset 18h. But according to spec, bit 0 should keep "0", and I3C_disable should be bit 1.
Not sure it's a typo of bit shifting?

Example on how to upload configuration to MLC

I am currently using the following setup:

NUCLEO-L476RG
X-NUCLEO-IKS01A3
STEVAL-MKI197V1

I want to be able to use the ARDUINO IDE to LOAD configuration files (.ucf files) to the LSM6DSOX and use the Machine Learning Core(MLC) feature.

I have tried looking at the Arduino Library code for the LSM6DSOX and the X-NUCLEO-IKS01A3.
But there are no examples on how to do this.

Can anyone provide a high-level Arduino code that is able to upload configuration file to the MLC and is able to read out the MLC registers and Interrupts?

Edit:
UNICO generates a .h file using the .ucf file.
So arduino code would be using that header file NOT the .ucf file directly.
Like this: LINK

I have also put this issue on the X-NUCLEO-IKS01A3 Github page as I am not really sure where it belongs.

Applying filters.

I can't figure out how to enable and configure a filter. Could you please point me the way to enable a low pass filter on the gyroscope? Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.