QutiPi C++ is an opensource embedded framework to aid in creating programs on embedded platforms. The main goal is to allow easy control of IC peritherals and communication with remote on board ICs.
There are many different C++ libraries out there for the Pi specifically however the over all architecture makes them difficult to understand and expand.
The architecture of QutiPi-C++ allows addtional ICs and boards to be intergrated with ease while each implimenation is seperate from each other.
Each processir and board implimenation must apply to a stand HAL interface which allows standard C++ wrappers / drivers.
The end user will use the C++ drivers allowing them to have a standard interface for all processors and boards.
More details to follow.
Current embedded proccessors supported:
- Raspberry Pi CM3
List of currently support external ICs
- MCP3424
The main goals for this library over the next 6 months is to impliment
- Setup and control of all peripherals on the raspberry pi compute module 3
- SPI
- Delay (completed)
- I2C (completed)
- Time (completed)
- DMA
- GPCLK (semi-completed)
- GPIO (completed)
- Interrupts (completed)
- PWM
- Standard driver to controller the IC using C++ classes
- PwmOut
- HwClock
- Timer
- DigitalIn (completed)
- DigitalOut (completed)
- DigitalInOut (completed)
- InterruptIn (completed)
- SPI
- I2C (completed)
- Platform helps in application development using C++ classes
- Wait
- Time
- NonCopyable (completed[Modifed mbed implementation])
- CircularBuffer
- CallBack (completed[Modifed mbed implementation])
- Setup and control of ICs and modules
- Analogue to Digital Controllers
- MCP3424 (completed)
- GPIO
- MCP23008 (completed - missing interrupt functionality)
- Digital to Analogue Controllers
- AD5669
- Pulse With Modulation Controllers
- PCA9685A
- Real time clocks
- DS1307Z
- Temperature Sensors
- LM75
- GPIO Expanders
- Analogue to Digital Controllers
This project is no too strict on coding standard however i encourage you to have a scan through http://www.possibility.com/Cpp/CppCodingStandard.html
Noting the main difference betwen sytax for C vs C++, for example for function / method names
- C: gpio_init()
- C++: gpioInit()
This version of the QutiPi C++ was developed by Sam Mottley at the The University of Manchester's, Electronics Section (JFET Services).
This library does its best to minic the ARMmbed project to reduce learn curve.
If you after libraries with more functionality but less structure check out the below. They were also helpful in the creation of this library.
Licensed under the GNU Lesser General Public License (LGPL) version 3.
All rights reserved to change at any time.