Skip to main content

A collection of libraries to handle communication and interpretation of MotoTRBO Data Services (ARS, TMS, LRRP, Job Tickets, etc)

Project description

trbo-data-svc

This is a collection of multiple different libraries and programs that interface with MotoTRBO digital radios.

Currently supported:

  • ARS
  • TMS
  • LRRP (50%)

In the works:

  • Job Tickets
  • Impres OTA Battery Management (low priority, weird format)

Basic Layout

Most of the basic data services can be set up as such:

from TrboDataSvc import ars
def callback(rid, data):
    print("Got a message from radio id {}".format(rid))
    return True
listener = ars.ARS()
listener.register_callback(callback)
listener.listen()

That's all you need!

Further Documentation

The callbacks

The callback function definition should be in the following format:

def callback_name(rid, data)

Obviously the name can be whatever you want, but the arguments must be rid and data, in that order. The type of data and what it passes will differ between the different functions. It can be either an int, string, or dictionary.

Additionally, the callback must return True on successful processing and False on unsuccessful processing. Returning true means an ACK gets sent to the radio when necessary. Examples of failed processing might be an exception, upstream server offline, etc.

Listen function

The listen function creates a separate process to process the incoming data. This creates a new Process for each listener. This shouldn't be a huge deal but on embedded systems it might be something to consider as a new Process creates an entirely new memory space.

Other tools

The util class offers a few utilities such as id2ip and ip2id that convert the OTA IP to a radio ID. In case you are not familiar, the DMR radio ID gets mapped to an IP address for data transmission over the air. These functions let you easily convert between OTA IPs and RIDs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

TrboDataSvc-0.0.8.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

TrboDataSvc-0.0.8-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file TrboDataSvc-0.0.8.tar.gz.

File metadata

  • Download URL: TrboDataSvc-0.0.8.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

File hashes

Hashes for TrboDataSvc-0.0.8.tar.gz
Algorithm Hash digest
SHA256 06ebb58624694a69b4824852738fc3d0aa5522e8e61c99ec182a335f9448b991
MD5 b9e78ea66b0a7ed259fd49e4180843b8
BLAKE2b-256 e502aae858c56d77441690f985c21d63f0c25ca8d377055148881e4df08632f0

See more details on using hashes here.

File details

Details for the file TrboDataSvc-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: TrboDataSvc-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

File hashes

Hashes for TrboDataSvc-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 16d9e05b2f0ae1f7ff48c85690fb424a854efd8dc2bcbf9c920c1543a03ed715
MD5 2f0dc2387306a6ada106d171a5178a26
BLAKE2b-256 bf43ba32f5c97ae658e83f2b557a13c55d00d9a28c9d06a57952a4cfae510f9a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page