[Hamlib-developer] Adding a backend to hamlib
Library to control radio transceivers and receivers
Brought to you by:
n0nb
From: <man...@sa...> - 2023-05-24 19:57:41
|
Hi, I'm looking into implementing a backend for Hamlib to interface with Primetec's Primesat Controller, and I have a couple of questions about the integration of the controller with Hamlib that I couldn't find answers for in the docs. Hope that this mailing list is the correct place to ask for help. This controller is a simple hardware interface module that allows the user to control a radio and/or a rotator via a serial connection. It supports Yaesu G5400 and G5500 rotors, and ICOM IC821, IC910, and IC706, Kenwood TS790, TS2000, and TS850, and Yaesu FT736, FT847, and FT857/897 radios. Currently, I have the following questions: - I understand that Hamlib already has backends for these rigs when connected to the computer using their native interfaces. Still, would the maintainers accept merging a backend for this interface device? - The controller receives radio and rotator commands through a single serial port. From my understanding of Hamlib's architecture and source code, this means that it is not possible to use both rigctl and rotctl at the same time as the first to be launched would lock the serial port and stop the other from issuing commands to the module. It this correct? Or is there another way of sending both types of commands via the same serial port? - When filling out the rig_caps or rot_caps structure, what is the correct way to fill the members corresponding to unsupported capabilities? Should the member still point to a function returning an error? RIG_ENAVAIL? Or should these members point to NULL? - The controller is a very simple device with no internal state, and it does not send any data out. It only receives messages via the serial port. The only confirmation that the commands are successfully being received is through a display on the front panel of the device. Do you recommend that I implement some get functions using rig_state or priv_data? Or should I implement only the set functions since that is the functionality the hardware actually supports? Best regards, Manuel Santos |