Skip to main content

ALBA Python Serial DeviceServer

ALBA Python Serial DeviceServer

ALBA Python Serial DeviceServer updates

ALBA Python Serial with tango DeviceServer

Apart from the core library, an optional tango device server is also provided.

Installation

From within your favorite python environment type:

$ pip install tango_serial

Library

The core of the tango_serial library consists of Serial object. To create a Serial object you need to pass a communication object.

The communication object can be any object that supports a simple API consisting of two methods (either the sync or async version is supported):

  • write_readline(buff: bytes) -> bytes or

    async write_readline(buff: bytes) -> bytes

  • write(buff: bytes) -> None or

    async write(buff: bytes) -> None

A library that supports this API is sockio (ALBA Python Serial DeviceServer comes pre-installed so you don't have to worry about installing it).

This library includes both async and sync versions of the TCP object. It also supports a set of features like re-connection and timeout handling.

Here is how to connect to a Serial controller:

import asyncio

from sockio.aio import TCP
from tango_serial import Serial


async def main():
    tcp = TCP("192.168.1.123", 5000)  # use host name or IP
    tango_serial_dev = Serial(tcp)

    idn = await tango_serial_dev.idn()
    print("Connected to {} ({})".format(idn))


asyncio.run(main())

Tango server

A tango device server is also provided.

Make sure everything is installed with:

$ pip install tango_serial[tango]

Register a Serial tango server in the tango database:

$ tangoctl server add -s Serial/test -d Serial test/tango_serial/1
$ tangoctl device property write -d test/tango_serial/1 -p address -v "tcp://192.168.123:5000"

(the above example uses tangoctl. You would need to install it with pip install tangoctl before using it. You are free to use any other tango tool like fandango or Jive)

Launch the server with:

$ Serial test

Credits

Development Lead

Contributors

None yet. Why not be the first?

History

0.1.0 (2020-12-15)

  • First release on PyPI.

Release files for py-ds-serial 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py-ds-serial 0.1.0
File Size Uploaded
py_ds_serial-0.1.0.tar.gz 9.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py-ds-serial 0.1.0
File Interpreter ABI Platform
py_ds_serial-0.1.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 12.8 kB

Release files / py_ds_serial-0.1.0.tar.gz

Download URL py_ds_serial-0.1.0.tar.gz
Size 9.1 kB
Tags Source
SHA-256 checksum
How to use checksums
34da6b8987a605a33e1017fd14737b651ae6a9b0adfb8b6f85419ee3005ad726
BLAKE2b-256 checksum
How to use checksums
ac0613d7ab34f287a33077eff3db01086c72b070ec2282cbc95fcf7c905a44d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0.post20201207 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

Release files / py_ds_serial-0.1.0-py2.py3-none-any.whl

Download URL py_ds_serial-0.1.0-py2.py3-none-any.whl
Size 3.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
4bb4ab485d65b526096e68dec4e5c966ce4256e384f539337ee4ff775e518038
BLAKE2b-256 checksum
How to use checksums
5ad68c89d469d7c534a96fe0f967b560aa09a4bd3bcbe83f9306108feab595d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.0.0.post20201207 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.7.9

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page