Skip to content

STMicroelectronics/st-mems-android-linux-sensors-hal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

207 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Introduction

This repository hosts the STMicroelectronics HAL (Hardware Abstraction Layer) for MEMS sensors running on Android or Linux systems. It is based on the STMicroelectronics IIO drivers available on GitHub.

This HAL implementation is leaning on the Linux IIO framework to gather data from sensor device drivers.

You can find a list of sensors supported directly in the source code at Supported Sensors.

Architecture

Four different components can be identified:

  • core :: This is the main component of the HAL. All the adapter components are interacting with the core in order to send commands and receive sensors data and events.
  • android multi-hal (Android 11 and above) :: Android multi-hal adapter.
  • android hidl 2.0 (Android 10 and above) :: Android HIDL 2.0 adapter (full treble).
  • android aidl (Android 13 and above) :: Android AIDL AIDL adapter (full treble).
  • android legacy (Android 10 and inferior) :: Android legacy (pre full treble) adapter.
  • linux :: Linux implementation adapter.

Android

HAL is compiled using different makefiles in order to support the two different modes. Fortunately this is transparent at the end for the build system, correct declaration is needed in order to choose the version to build and install.

In Android legacy mode (pre full treble) the HAL is build as dynamic library (.so) and the Android framework or HIDL 1.0 service load the library at runtime. In Android HIDL 2.x and AIDL (full treble) mode, HAL is build as an executable and a service is created to run within it.

You can find the related documentation for Android here:

Linux

In Linux, HAL is build as an executable using cmake. Current version does list the sensors found and exit, user needs to implement the final application.

Linux

Core

This is the main component of the project. All the 'wrappers' are using this component for sending commands and receive data stream.

Core you can find the related documentation.

About

ST MEMS sensors-hal for Android and Linux platforms.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors