The embvm-drivers
organization contains device driver implementations that are designed to work with the Embedded VM framework (embvm
). They are kept in a separate organization to avoid cluttering the primary repository set.
If you are developing a driver for the embvm
framework, start with our driver-repository-template.
Many of the drivers shown here are either proofs-of-concept or under active development. We do not recommend relying on them for development at this time. However, they may serve as useful examples for your own portable driver development efforts.
- ST-VL53L1X (Time of Flight sensor)
- Functional, can be configured for all supported ranging modes and reads samples in an asynchronous manner. Will be redesigned to avoid asynchronous callback hell.
- sensirion-sps-30 (particulate matter sensor)
- Under development
- aardvark (USB-to-I2C/SPI/GPIO)
- I2C is supported and used by example projects
- GPIO is supported and used by example projects
- SPI is implemented but not tested
- two-tone-oled (OLED driver, currently targeting SSD1306)
- functional, used by embvm examples
- driver will be refactored to remove drawing functionality that should instead be kept in a standalone library
- driver will be redesigned to avoid asynchronous callback hell, reduce the number of transfers to be queued on intiailizlation, and to imrpove system memory usage (primarily by reducing transfers)
We welcome contributions from the community for all of our projects. If you are interested in contributing, please review the following information:
If you are unfamiliar with open source development, you will want to start with our Open Source Contribution Guide.