Giter Site home page Giter Site logo

richard-keast-bluefruit / peripheraltemplatelibrary Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pfalcon/peripheraltemplatelibrary

0.0 0.0 0.0 942 KB

Cross-platform, cross-MCU C++ template library for microcontrollers and peripheral devices

Home Page: http://pfalcon-oe.blogspot.com/2013/05/peripheral-template-library-attempt-to.html

License: GNU Lesser General Public License v3.0

C++ 97.89% Makefile 1.21% C 0.07% Python 0.73% Shell 0.10%

peripheraltemplatelibrary's Introduction

Peripheral Template Library
===========================

Peripheral Template Library is a project to develop an efficient
cross-platform library for microcontrollers. It provides
consistent API to control basic blocks of any microcontroller -
GPIO, timers, clocks, ADC, etc., then provides API/implementation of
standard protocols to access peripheral devices, like SPI, I2C, UART,
1-Wire, etc.

To achieve high-level efficiency, PTL is built using (C++) templated static
types, allowing to apply aggressive compile-time optimizations,
achieving the efficiency level of the C code purposedly written for
specific MCU. Using templates also allows to provide optimized protocol
implementations utilizing specialized MCU hardware blocks like SPI/I2C
controllers (default implementations provided use bitbanging over GPIO).

The library is currently achieving inital code stabilization, though APIs
are still not stable, there're lot of refactoring to do, and there may be
some non-ideal C++ code around.

Current targets supported (together with example boards) are:

    * TI MSP430
        * MSP430 Launchpad
    * Atmel AVR
        * Arduino Duemilanove
    * ARM Cortex-M
        * ST STM32
            * STM32VLDISCOVERY
        * Energy Micro EFM32
            * EFM32GG-STK3700
        * TI Tiva C TM4 (former Stellaris LM4)
            * Stellaris/Tiva Launchpad

Note that different targets have different level of hardware support.

For setup instructions, refer to docs/getting_started.markdown
(https://github.com/pfalcon/PeripheralTemplateLibrary/blob/master/docs/getting_started.markdown
online). More documentation is available in docs/ directory.

The Peripheral Template Library is licensed under GNU Lesser General Public
License (LGPL), version 3 or later. Please review detailed terms in the
included LICENSE file.

Author: Paul Sokolovsky {pfalcon at users.sourceforge.net}

peripheraltemplatelibrary's People

Contributors

pfalcon 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.