multipass is a C++ Library Operating System for a few embedded architectures. As such, it does not provide multi-threading support or similar conveniences. Its objective is similar to the Arduino environment: provide a simple framework for embedded application development, and get out of the way as much as possible. It favors simplicity over performance and abstraction. Re-using components outside of multipass should be fairly simple.
Supported Architectures
ATMega168P, ATMega328P (Arduino Nano)
- I²C, SPI, UART
- ADC
- NeoPixel / WS2812B (Adafruit driver)
MSP430FR5969, MSP430FR5994 (MSP430 Launchpad)
- I²C, SPI, 2×UART (additional I²C/SPI/UART interfaces are not supported)
- ADC
POSIX (e.g. running as linux thread on a raspberry pi)
- I²C via
/dev/i2c
Included drivers
- AM2320 I²C Temperature+Humidity Sensor
- BME280 I²C Temperature+Humidity+Pressure Sensor (Bosch SensorTec driver)
- BME680 I²C Temperature+Humidity+Pressure+Air Quality Sensor (Bosch SensorTec driver)
- CCS811 I²C Air Quality (TVOC) Sensor
- DS2482 I²C 1-Wire Bus Controller
- HDC1080 I²C Temperature+Humidity Sensor
- LM75 I²C Temperature Sensor
- MAX44006 I²C RGB + IR Light Sensor
- MAX44009 I²C Light Sensor
- MPU9250 I²C Accelerometer+Gyroscope+Magnetometer Sensor
- SCD40/SCD41 I²C CO₂ Sensor
- SEN5x I²C particulate matter (PM1.0/PM2.5/PM4.0/PM10) and VOC sensor
- SSD1306 I²C OLED display controller
- VEML6075 I²C UVA/UVB Light Sensor