Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/KM4YRI/pyFldigi
Python library to control FLDIGI via XML-RPC
https://github.com/KM4YRI/pyFldigi
fldigi ham-radio modem morse psk python python-library rtty sdr ssb xml-rpc
Last synced: 30 days ago
JSON representation
Python library to control FLDIGI via XML-RPC
- Host: GitHub
- URL: https://github.com/KM4YRI/pyFldigi
- Owner: KM4YRI
- License: gpl-3.0
- Created: 2017-01-28T15:06:23.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2021-02-21T15:58:48.000Z (almost 4 years ago)
- Last Synced: 2024-11-09T00:54:33.378Z (about 1 month ago)
- Topics: fldigi, ham-radio, modem, morse, psk, python, python-library, rtty, sdr, ssb, xml-rpc
- Language: Python
- Homepage:
- Size: 107 KB
- Stars: 35
- Watchers: 7
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pyFldigi
[![Build Status](https://travis-ci.org/KM4YRI/pyFldigi.svg?branch=master)](https://travis-ci.org/KM4YRI/pyFldigi)
## Summary / Context
pyFldigi is a small Python library that can control the Fldigi application via XML-RPC.
Fldigi is a digital modem application that is widely used in the amateur radio community. It acts as a digital modem, intended to be coupled with a standard SSB or FM transceiver radio.
## Features
* Full implementation of the available [XML-RPC client](http://www.w1hkj.com/FldigiHelp-3.21/html/configuration_page.html) commands]
* Get FLDIGI version, name, etc.
* **Modem**: Get and set the modem type, carrier frequency, bandwidth, etc.
* **Modem**: Get and set various modem configuration options for Olivia, WEFAX, and NAVTEX
* **Transmit**: Set RX/TX mode to Transmit, Receive, or Tune.
* Abort a transmit or tune.
* **Squelch**: Get or set the squelch
* **Rig control**: Get or set various rig controls, such as frequency, mode, etc.
* **Logging**: Get and set various log field contents. This is in the context of ham contact logs, not debug logs.
* **Text**: Send text to FLdigi to be transmitted
* **Text**: Get text from FLdigi that has been received
* **Terminate the Program**: Terminate the program gracefully by asking it to close.
* Application monitoring and launching. It is possible to launch FLdigi from a Python command, and monitor it. Also the program can be killed if it refuses to shut down gracefully.
* **Configuration**: TBD. Reading and writing of the configuration file(s). Requires a restart of FLdigi.## Applications and Intended Usage
* Remote weather stations.
* Portable HF setups. Typically, HF digital setups are bulky and require several interconnected pieces of hardware, usually via audio cables. This library, along with some custom hardware, could allow a walkie-talkie sized HF digital radio that's completely integrated.
* Emcomm
* 'Headless' operation on a Raspberry Pi, BeagleBone, or any number of other Linux-based single-board computers.
* Putting a more 'user-friendly' GUI on top of FLdigi.
* Web enabled FLDIGI via HTML5 and some Javascript, that could be accessed from anywhere. Python's Flask / Django along with Bootstrap, and a few REST calls, for example.
* Allow a phone or tablet to send and receive FLDIGI messages via a custom app. There is an Android version of FLDIGI, but that might not be the best approach for every problem. A more custom application could be created to use only a particular mode and send pre-formatted data, for example, with considerably less work than it would be to fork the FLDIGI mobile application and update it.# Documentation
## API Documentation
* https://pythonhosted.org/pyfldigi/
## Useful FLDIGI documentation
* [FLDIGI Wikipedia page](https://en.wikipedia.org/wiki/Fldigi)
* [FLDIGI Users Manual - XML-RPC Control](http://www.w1hkj.com/FldigiHelp-3.21/html/xmlrpc_control_page.html)
* [FLDIGI Users Manual - Modems](http://www.w1hkj.com/FldigiHelp-3.21/html/modems_page.html)
* [FLDIGI Users Manual - Configuration](http://www.w1hkj.com/FldigiHelp-3.21/html/configuration_page.html)# License
[GPL-3.0](https://github.com/KM4YRI/pyFldigi/blob/master/LICENSE)
# Contributors
* [@KM4YRI](https://github.com/KM4YRI) (maintainer)
# Contributions and Pull Requests
If you'd like to contribute anything back to this repo, please do so via [pull requests](https://help.github.com/articles/using-pull-requests).