Giter Club home page Giter Club logo

elk-gpio-protocol's Introduction

Gpio Protocol

Protocol and library to control Gpios in Elk Audio OS devices, which provides an abstract interface for low level gpio control.

The protocol allows for describing various physical devices connected on the pins such as buttons, leds, pots etc, configuring their behavior and run time manipulation and querying of their values. This enables a high level program (such as sensei) to control gpios by communicating with the gpio protocol to with an low level program such as an embedded system which performs the gpio logic.

Gpio Client Library

Real time safe header only library to perform low level gpio logic and communicate using the gpio protocol as per the specification (see docs).

This can be used as a bare metal application in an embedded device or as a standalone program and communicate with another program (such as sensei) which acts as the gpio protocol master.

Importing into your project

Add the subdirectory gpio_protocol to your CMakeLists.txt

add_subdirectory(gpio_protocol)

Cmake Build Options

To enable the client library pass -DGPIO_PROTOCOL_BUILD_CLIENT_LIB=TRUE to your cmake.

You can also set the log level to info, warning or error by passing the cmake option -DGPIO_LOG_LEVEL=< info, warning or error>

Usage

See the project SENSEI where this library is used to process gpio data from shift registers.

Copyright 2019 Modern Ancient Instruments Networked AB, dba Elk, Stockholm

elk-gpio-protocol's People

Contributors

noizebox avatar shdrmr avatar

Watchers

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