aicodix / rattlegram

Transceive UTF-8 text messages with up to 170 bytes over audio in about a second!
BSD Zero Clause License
148 stars 26 forks source link

Feature Suggestion: Callsign Addressing (Useful for GMRS integration) #17

Open kenbuckler opened 10 months ago

kenbuckler commented 10 months ago

Currently rattlegram is functioning in a "multicast" mode, in which it is transmitting messages to anyone listening, decoding, and displaying messages from any transmission. A more ideal solution would be to allow switching between broadcast and targeted messaging using callsign addressing. This would work similar to POCSAG paging. https://www.raveon.com/pdfiles/AN142(POCSAG).pdf

How this would work: Encoding: A toggle between "multicast" and "address". When set to address, a target callsign would need to be entered. Decoding: A toggle between "rcv all" and "rcv select". When set to "rcv all" all messages (even those targeted to another callsign) would be displayed. When set to "rcv select" all messages would still be decoded, but only messages addressed specifically to your callsign would be displayed.

This feature, combined with hard messaging time limits (which will be in another feature request) would help improve some of the FCC compliance issues for using this to transmit data over certain radio frequencies, such as GMRS.

https://www.ecfr.gov/current/title-47/chapter-I/subchapter-D/part-95/subpart-E § 95.1787 GMRS additional requirements. (a) Digital data transmissions. GMRS hand-held portable units that have the capability to transmit digital data must be designed to meet the following requirements. (1) Digital data transmissions may contain location information, or requesting location information from one or more other GMRS or FRS units, or containing a brief text message to another specific GMRS or FRS unit.

xdsopl commented 10 months ago

We need some kind of filtering at the receiving end, if we only want to see (or keep) a subset of the received messages. At the moment I would suggest to add a callsign and a newline to the head of the message. Then we can either filter each message while displaying or we drop messages while receiving when they don't contain the above header. Dropping messages would be simpler to implement and would avoid spamming the list but it would also mean that potentially important messages will be lost.

texnofobix commented 5 months ago

Maybe a highlight/alert feature instead of a complete drop?

xdsopl commented 5 months ago

Oh, that is a nice idea. You could make the ones you are interested in of a different color. Would make it easier to skip the ones you are not interested in.