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
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.