A pure-Python implementation of the KISS Protocol for communicating with serial TNC devices for use with Amateur Radio.
Python Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples bugfixes Aug 2, 2017
kiss updates for python 3.6 Aug 28, 2017
tests 7.x Branch Python 3.x port WIP checkpoint. Aug 2, 2017
.gitignore fixes travis targets Aug 2, 2017
.travis.yml pinning to python 3 Aug 2, 2017
CONTRIBUTORS updates Dec 14, 2016
COPYRIGHT.txt checkpoint Mar 10, 2017
LICENSE checkpoint Mar 10, 2017
MANIFEST.in updates Apr 24, 2016
Makefile bugfixes Aug 2, 2017
README.rst fixes travis targets Aug 2, 2017
requirements.txt bugfixes Aug 2, 2017
setup.cfg checkpoint Mar 10, 2017
setup.py moving out of beta Aug 28, 2017

README.rst

kiss - Python KISS Module

kiss is a Python Module that implementations the KISS Protocol for communicating with KISS-enabled devices (such as Serial or TCP TNCs).

Versions

  • 6.5.x branch will be the last version of this Module that supports Python 2.7.x
  • 7.x.x branch and-on will be Python 3.x ONLY.

Installation

Install from pypi using pip: pip install kiss

Usage Examples

Read & print frames from a TNC connected to '/dev/ttyUSB0' at 1200 baud:

import kiss

def p(x): print(x)  # prints whatever is passed in.

k = kiss.SerialKISS('/dev/ttyUSB0', 1200)
k.start()  # inits the TNC, optionally passes KISS config flags.
k.read(callback=p)  # reads frames and passes them to `p`.

See also: examples/ directory.

Testing

Run nosetests from a Makefile target:

make test

See Also

  • Python APRS Module Library for sending, receiving and parsing APRS Frames to and from multiple Interfaces
  • Python KISS Module Handles interfacing-to and encoding-for various KISS Interfaces.
  • Python APRS Gateway Uses Redis PubSub to run a multi-interface APRS Gateway.
  • Python APRS Tracker TK.
  • dirus Dirus is a daemon for managing a SDR to Dire Wolf interface. Manifests that interface as a KISS TCP port.

Similar Projects

  • apex by Jeffrey Phillips Freeman (WI2ARD). Next-Gen APRS Protocol. (based on this Module! :)
  • aprslib by Rossen Georgiev. A Python APRS Library with build-in parsers for several Frame types.
  • aprx by Matti & Kenneth. A C-based Digi/IGate Software for POSIX platforms.
  • dixprs by HA5DI. A Python APRS project with KISS, digipeater, et al., support.
  • APRSDroid by GE0RG. A Java/Scala Android APRS App.
  • YAAC by KA2DDO. A Java APRS Client.
  • Ham-APRS-FAP by aprs.fi: A Perl APRS Parser.
  • Dire Wolf by WB2OSZ. A C-Based Soft-TNC for interfacing with sound cards. Can present as a KISS interface!

Build Status

Master:

https://travis-ci.org/ampledata/kiss.svg?branch=master

Develop:

https://travis-ci.org/ampledata/kiss.svg?branch=develop

Source

Github: https://github.com/ampledata/kiss

Author

Greg Albrecht W2GMD oss@undef.net

http://ampledata.org/

Copyright

Copyright 2017 Greg Albrecht and Contributors

Automatic Packet Reporting System (APRS) is Copyright Bob Bruninga WB4APR wb4apr@amsat.org

License

Apache License, Version 2.0. See LICENSE for details.