Skip to main content

libbox0 Binding

Project description

pyBox0
======

Python binding for libbox0

Dependencies
============

* cffi
* numpy

In C:

* libbox0
* libusb

Installation
============

$ python setup.py build
$ python setup.py install

Configuration
=============
in local.properties
_binding.py, build_path variable to tell where to look for header and library

Usage
=====

lots of demo code in test/ and example/
a generic approch to opening device and module and do something with them

import box0

# open any supported usb device
dev = box0.usb.open_supported()

# open the gpio0 module (assuming the device support it)
# if you need to iterate over the supported modules using dev
gpio0 = dev.gpio(0)

# set to output mode
gpio0.dir(0, gpio0.OUTPUT)

# set value of pin 0
gpio0.value(0, gpio0.LOW)

#disable hiz mode of pin 0,
# note: all pins are in hiz mode right after opening (for protection)
gpio0.hiz(0, gpio0.DISABLE)

// wait
try:
while True:
time.sleep(.5)
except:
pass

# close resources
gpio0.close()
dev.close()

Note
====
pyBox0 uses same style as libbox0 and
much of the documentation of libbox0 is applicable to pyBox0

int b0_<section>_<func>(<section-object>, params....)

in pyBox0:
instead of int, an exception (ResultException is raised) when int-val < 0
so, now the return value is used for other tasks

"b0" tag is now replace with "box0." as python have concept of modules

<section> is replace with files.
for example: <section> = "device" , theirs device.py
and it contain Device.py


<func> these are under-scored style name in libbox0
in pyBox0, camelcasing is used
for example b0_usb_open_supported() is box0.usb.openSupported()

most of the library assumes numpy array.
numpy is good and you should always use numpy with pyBox0 as
it much better in long run

Getting help
============

get on to #box0 on IRC freenode
and report bug on https://gitlab.com/madresistor/pyBox0

Getting involved
================

get on to #box0 on IRC freenode
and report bug on https://gitlab.com/madresistor/pyBox0

Licence
=======

GNU/GPLv3 or later (see COPYING)

Credits and references
======================

http://www.madresistor.org/

Maintainer
==========

Kuldeep Singh Dhaka <kuldeepdhaka9@gmail.com>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

box0-0.1.0.tar.gz (50.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page