/kiss3

A pure-Python implementation of serial KISS and KISS-over-TCP protocols for communicating with TNC devices

Primary LanguagePythonOtherNOASSERTION

kiss3 - Python KISS Module

kiss3 is a Python Module that implements the KISS Protocol for communicating with KISS-enabled devices (such as Serial or TCP TNCs) and provides support for encoding and decoding AX.25 frames.

Versions

  • 8.x branch from python-aprs as kiss3, supports python 3.6+

Previous versions were released by ampledata as kiss:

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

Installation

Install from pypi using pip: pip install kiss3

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 tox:

tox

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!

Source

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

Authors

Greg Albrecht W2GMD oss@undef.net

http://ampledata.org/

Masen Furer KF7HVM kf7hvm@0x26.net

Copyright

Copyright 2022 Masen Furer and Contributors

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.