GithubHelp home page GithubHelp logo

cire831 / stmems_machine_learning_core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stmicroelectronics/stmems_machine_learning_core

0.0 1.0 0.0 291 KB

License: BSD 3-Clause "New" or "Revised" License

C++ 95.09% MATLAB 1.54% Jupyter Notebook 1.97% Python 1.40%

stmems_machine_learning_core's Introduction

1 - Introduction

This repository is intended to provide information on the Machine Learning Core feature available in some MEMS sensors.

Machine Learning processing allows moving some algorithms from the application processor to the STMicroelectronics sensor, enabling consistent reduction of power consumption.

Machine Learning processing is obtained through decision-tree logic. A decision tree is a mathematical tool composed of a series of configurable nodes. Each node is characterized by an “if-then-else” condition, where an input signal (represented by statistical parameters calculated from the sensor data) is evaluated against a threshold.

The results of the decision tree can be read from the application processor at any time. Furthermore, there is the possibility to generate an interrupt for every change in the result in the decision tree.

2 - Repository folder structure

This repository contains different folders which identify sensor part numbers supporting the Machine Learning Core feature.

Each folder related to the sensor part number contains sub-folders with examples of Machine Learning Core configurations. See a typical path below:

\lsm6dsox\Vibration monitoring\

The folder tools contains some additional scripts for decision tree generation.

3 - Example sub-folder file description

Each example sub-folder contains:

  • a xxxxxxx.ucf file, where xxxxxxx identifies the example. The .ucf file is the standard format for Unico GUI, which allows device configuration. Unico GUI is available for: Windows, Linux, Mac OS X.

  • a xxxxxxx.h file, where xxxxxxx identifies the example. This file is a C programming language header and can be generated by Unico GUI.

    Some examples of xxxxxxx.h file integration are available at platform independent drivers repository for STMicroelectronics sensors.

  • README.md: additional info about the specific example.

4 - Required properties

For using C header files (.h):

  • A standard C language compiler for the target MCU
  • A C library for the target MCU and the desired interface (ie. SPI, I2C)

For using Unico GUI Configuration Files (.ucf):

  • Unico GUI for device configuration

5 - Examples

The examples can be used with:

  • Unico GUI (available for: Windows, Linux, Mac OS X) and Professional MEMS Tool board (STEVAL-MKI109V3)
    • Run Unico GUI selecting the desired device, then go to the Load/Save tab, and load the Unico GUI Configuration File (.ucf)
  • Any C-programmable hardware
    • Include the C header file (.h) in the desired project
    • Use the desired interface C library for the target MCU for writing the array configuration contained in the C header file (.h)
    • Some examples of integration are available at platform independent drivers repository for STMicroelectronics sensors.

More Information: http://www.st.com

Copyright © 2019 STMicroelectronics

stmems_machine_learning_core's People

Contributors

michelefer avatar rehmc avatar mariotesi avatar

Watchers

James Cloos avatar

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.