Code Monkey home page Code Monkey logo

pydgilib's Introduction

Pydgilib provides python bindings for Atmelยฎ Data Gateway Interface (DGI) devices. See the Data Gateway Interface user guide for further details. This package works best if you have Atmel Studio 7.0 installed. If you do it will automatically make use of the installed files it requires. Otherwise you can download the required DLL from Atmel here and point pydgilib to the location where you downloaded the file.

Documentation

The full documentation can be found here.

Features

The main features of this library are:

  • It wraps the C functions of DGILib in python functions
  • It provides a class to easily log data from the power and gpio interfaces to a .csv file or a plot (using matplotlib)
  • It provides a function that wraps atprogram.exe and make.exe so it can compile projects and flash them to a board

The documentation of all the functions can be found in this overview or this list.

Installation

You will need to install pydgilib in a 32-bit Python environment on Windows because DGILib.dll is compiled for 32-bit. Other operating systems are not supported.

Installation via Pip

This package is hosted here on PyPI. The easiest way to install it is via pip.

$ pip install pydgilib

Static Installation

If you want to install a static copy of the master you can run:

$ pip install git+https://github.com/EWouters/pydgilib

Development Installation

  1. Clone the repo:

    $ git clone https://github.com/EWouters/pydgilib.git
    $ cd pydgilib
    
  2. Install symlinked to repo:

    $ pip install -e .
    

If you want to be able to run the tests or compile the docs run instead:

$ pip install -e .[test,docs]

Getting Started

  1. Connect your device that supports DGI

  2. Print the serial number of your device:

    >>> from pydgilib import DGILib
    >>> with DGILib() as dgilib:
    ...     print(dgilib.device_sn)
    ...
    b'ATML3138061800001604'
    
  3. Log the current of the board and the states of the gpio pins for one second and write the results to .csv files:

    >>> from pydgilib_extra import DGILibExtra
    >>> with DGILibExtra() as dgilib:
    ...     dgilib.logger.log(1)
    ...
    
  4. Log the current of the board and the states of the gpio pins for one second and show a plot of the results:

    >>> from pydgilib_extra import DGILibExtra, LOGGER_PLOT
    >>> with DGILibExtra(loggers=[LOGGER_PLOT]) as dgilib:
    ...     dgilib.logger.log(1)
    ...
    {48: <pydgilib_extra.dgilib_data.InterfaceData object at 0x00F22A90>, 256: <pydgilib_extra.dgilib_data.InterfaceData object at 0x00F229F0>}
    
plot example

Plot of a SAML11 board running the unit test project.

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.