Skip to main content

libbox0 Binding

Project description

pyBox0
======

Python binding for libbox0

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

* cffi
* numpy

In C:

* libbox0

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 dio0 module (assuming the device support it)
# if you need to iterate over the supported modules using dev
dio0 = dev.dio(0)

# Prepare for basic mode (basic functionality)
dio0.basic_prepare()

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

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

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

# start the basic mode
dio0.basic_start()

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

# Stop basic mode
dio0.basic_stop()

# close resources
dio0.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.open_supported()

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

box0-0.3.0-py3-none-any.whl (43.9 kB view hashes)

Uploaded Python 3

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