HDLC controller
Project description
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.inWaiting()) 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.