Coder Social home page Coder Social logo

samduino's Introduction

The Samduino library: A personal arduino library with google test facilities.

Motivation

I wanted to get my kids into programming and I was building a project with my son, Sam, who was building a digital thermometer as his first project. As we coded it, I was already wanting badly to be able to library-ize some of the things and be able to do test driven development. This project is an attempt to consolidate some of the function we wanted (and will want in the future) and give us a way to test the complexities outside of a real environment.

Layout

All of the code for the acutal library, and the associated unit tests, are found in lib. The files to setup and teardown the test arduino environment are found in test. Some examples are also available to show how some of the things are used.

Building

This library does not require dependencies for usage, but does require them for building and testing the features on your local workstation.

The local build and test (for your workstation, not for use in sketch) is based on conan and uses gtest to drive the C++ unit tests.

A sample starting flow might look like:

# Configure one-time to get access to public recipes
$ conan remote add bintray https://api.bintray.com/conan/bincrafters/public-conan

# Install necessary dependencies
$ conan install . -r bintray --build missing

# Compile locally for testing and test
$ conan build .

# It's cheating, but `package` can be used to bundle up the files
# for the actual arduino library. Just zip up all the files in ./package
$ conan package .

samduino's People

Contributors

cheezypoofs avatar

Watchers

 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.