ge0rg / aprsdroid

APRSdroid - Geo-Location for Radio Amateurs
https://aprsdroid.org/
GNU General Public License v2.0
504 stars 96 forks source link

Request to accept data from KISS BT non-zero radio channels #379

Closed VK2HFG closed 3 months ago

VK2HFG commented 3 months ago

Currently it appears that APRSdroid ignores incoming data with a non-zero radio channel. I would like APRSdroid to not filter for only channel 0.

I use APRSdroid for station information display and message handling connected via a KISS terminal to a tracker running DireWolf on a Pi to which both a 40m radio and a 2m radio are connected. I would like to see stations heard by both radios and to receive messages from both radios but currently only packets and messages from the radio on channel 0 are accepted by APRSdroid.

I acknowledge that position beacons and messages sent from APRSdroid would go to the radio currently on channel 0 in DireWolf.

VK2HFG commented 3 months ago

My modified version of DW's kissutil now adds KISS records to the DW serial KISS device,. Ch2 records are obtained from another TCP KISS port (KISSPORT 8002 2) to which only ch2 records are sent and with the channel already set to 0.

na7q commented 2 months ago

care to elaborate on what you've done?

VK2HFG commented 2 months ago
  1. Used the DW 1.7 option to direct output from radio channel 2 to a second TCP KISS port (KISSPORT 8002 2).
  2. Modified my kissutil source under a different name to cater for an extra optional parameter (-O) to allow an additional output device (/dev/ttyS0) which is the same device specified for my DW serial KISS device, including checking that the device existed.
  3. Added logic directly after the existing -o output code to output to the -O device if the parameter was specified.
  4. Compiled my modified kissutil using the normal procedures, having temporarily renamed the original kissutil source and executable then renamed back after the compile. I could have just replaced the original kissutil but wanted to continue using the original version for an existing kissutil task in case I had unknowingly upset other logic.
  5. Created an empty directory for my modified kissutil to monitor so that it would continue to wait for data on the 8002 TCP KISS port as it needs to run without a console, having been started as a system service. Graeme
na7q commented 2 months ago

Very interesting. I'm going to look into this. Wondering if I could add a setting for this in the app..

VK2HFG commented 2 months ago

Perhaps just not exclude non-ch0 data, leaving the responsibility to the user to have the appropriate radio on ch0 as the return radio.