Skip to main content
Help us improve Python packaging – donate today!

HDLC controller

Project Description

Build Status

HDLC controller written in Python and based on the python4yahdlc Python module to encode and decode HDLC frames.

Installation

With pip (recommanded)

pip3 install hdlcontroller

From sources

git clone https://github.com/SkypLabs/python-hdlc-controller.git
cd python-hdlc-controller
python3 setup.py install

Usage

To create a new HDLC controller instance, you need to call the HDLController class with two parameters :

hdlc_c = HDLController(read_func, write_func)

The first parameter is a function used to read from the serial bus while the second parameter is a function to write on it. For example, using the pyserial module :

ser = serial.Serial('/dev/ttyACM0')

def read_serial():
    return ser.read(ser.in_waiting)

hdlc_c = HDLController(read_serial, ser.write)

To start the reception thread :

hdlc_c.start()

To send a new data frame :

hdlc_c.send('Hello world!')

And to get the next data frame received available in the HDLController internal queue :

data = hdlc_c.get_data()

The get_data() method will block until a new data frame is available.

Finally, to stop all the HDLController threads :

hdlc_c.stop()

License

MIT

Release history Release notifications

This version
History Node

0.4.0

History Node

0.3.2

History Node

0.3.1

History Node

0.3.0

History Node

0.2.0

History Node

0.1.1

History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
hdlcontroller-0.4.0.tar.gz (6.7 kB) Copy SHA256 hash SHA256 Source None Aug 2, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page