Metadata-Version: 2.0
Name: pytelemetrycli
Version: 1.0.7
Summary: command-line interface for data visualization and communication with embedded devices
Home-page: https://github.com/Overdrivr/pytelemetrycli
Author: Rémi Bèges
Author-email: remi.beges@gmail.com
License: MIT
Keywords: cli plot debug lightweight communication protocol embedded telemetry remote program control
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Telecommunications Industry
Classifier: Topic :: Communications
Classifier: Topic :: Scientific/Engineering :: Human Machine Interfaces
Classifier: Topic :: Software Development :: Embedded Systems
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: docopt
Requires-Dist: numpy
Requires-Dist: pyqtgraph
Requires-Dist: pyserial (>3.0.0)
Requires-Dist: pytelemetry (>=1.1.6)
Requires-Dist: sortedcontainers
Provides-Extra: dev
Requires-Dist: check-manifest; extra == 'dev'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'

Pytelemetry Command Line Interface
====================================

This module is a powerful command line interface for extremely fast debugging and communication with embedded systems.

It allows for plotting embedded device's data on-the-fly, publishing values on any topics, listing serial ports and much more.

The CLI relies on custom protocol, implemented in Python and C languages.
The main strength of this protocol is strong decoupling between communicating devices, simplicity yet flexibility.

For instance, the protocol supports sending standard linear data, but also arrays and sparse arrays in a network-friendly manner.

-  `Project page <https://github.com/Overdrivr/pytelemetrycli>`__

.. image:: https://raw.githubusercontent.com/Overdrivr/pytelemetrycli/master/console.png

.. image:: https://raw.githubusercontent.com/Overdrivr/pytelemetrycli/master/graph.png

pytelemetry
============

This module is the Python implementation of the communication protocol.

It can be used directly (without the CLI) to script communications with an embedded device.

.. code:: python

    from pytelemetry import Pytelemetry
    from pytelemetry.transports.serialtransport import SerialTransport
    import time

    transport = SerialTransport()
    tlm = Pytelemetry(transport)
    transport.connect({port:'com9',baudrate:'9600'})

    # publish once on topic 'throttle' (a named communication channel)
    tlm.publish('throttle',0.8,'float32')

    def printer(topic, data, opts):
        print(topic," : ", data)

    # Subscribe a `printer` function called on every frame with topic 'feedback'.
    tlm.subscribe("feedback", printer)

    # Update during 3 seconds
    timeout = time.time() + 3
    while True:
        tlm.update()
        if time.time() > timeout:
            break

    # disconnect
    transport.disconnect()
    print("Done.")

Language C implementation
=========================

Telemetry is the same protocol implemented in C language.

-  `Project page <https://github.com/Overdrivr/Telemetry>`__

Centralized documentation
=========================

The documentation for all three projects is centralized `here <https://github.com/Overdrivr/Telemetry/wiki>`_.

MIT License, (C) 2015-2016 Rémi Bèges (remi.beges@gmail.com)


