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

https://www.madresistor.com/

Maintainer

Kuldeep Singh Dhaka kuldeep@madresistor.com

Project details


Download files

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

Files for box0, version 0.3.1
Filename, size File type Python version Upload date Hashes
Filename, size box0-0.3.1-py3-none-any.whl (55.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size box0-0.3.1.tar.gz (57.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page