Skip to content

machinekit/pymachinetalk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

be4bffd · Sep 22, 2020
Oct 18, 2018
Sep 22, 2020
Oct 15, 2018
Apr 22, 2017
Sep 11, 2020
Oct 26, 2015
Apr 9, 2017
Sep 11, 2020
Apr 9, 2017
Sep 22, 2020

Repository files navigation

Machinetalk bindings for Python

PyPI version Build Status License: MIT Code style: black

This repository contains Machinetalk bindings for Python. Machinetalk is the middleware for Machinekit the open source machine control software.

For more information visit:

Examples

You can find examples how to use pymachinetalk in ./examples/

HAL Remote Quickstart

import time
from pymachinetalk.dns_sd import ServiceDiscovery
import pymachinetalk.halremote as halremote

sd = ServiceDiscovery()

rcomp = halremote.RemoteComponent('anddemo', debug=False)
rcomp.newpin('button0', halremote.HAL_BIT, halremote.HAL_OUT)
rcomp.newpin('button1', halremote.HAL_BIT, halremote.HAL_OUT)
led_pin = rcomp.newpin('led', halremote.HAL_BIT, halremote.HAL_IN)
sd.register(rcomp)

sd.start()

try:
    while True:
        if rcomp.connected:
            print('LED status %s' %s str(led_pin.value)
        time.sleep(0.5)
except KeyboardInterrupt:
    pass

sd.stop()

Install from PyPi

Pymachinetalk is available on PyPI

You can easily install it via pip:

sudo apt install python-pip
sudo pip install pymachinetalk

Note: If you need Python 2.7 support, use version 0.12.3 from PyPI.

Install from Source

Requirements

Pymachinetalk depends on the machinetalk-protobuf, fysom, zeroconf and pyzmq Python packages.

Note that you need a recent version of fysom (> 2.0) for pymachinetalk to work properly.

On Debian based distributions you can use the following commands:

# install everything from pip
sudo apt install python-pip
pip install -e .[dev]

Install

You can install pymachinetalk using the Python setuptools:

sudo python setup.py install

TODO

  • more and easier examples
  • more testing