diff --git a/README.multicast b/README.multicast new file mode 100644 index 000000000..150788d13 --- /dev/null +++ b/README.multicast @@ -0,0 +1,54 @@ +Planned for version 4.3 -- comments/suggestions about this are more than welcome +Multicast UDP broadcast on port 4531 (one below rigctld 4532) +Bidirectional rig control and status +Choice of token pairs or JSON +All packets will be tagged with ID=[unique name] -- so multiple rigs can broadcast/rx on the same port + + +Broadcast packet contents to be based on get_rig_info output +This will be the text format of name=value pairs +Can be multiple VFO lines +Parsers should allow for unknown tags that may be added in the future + +Rig command: \get_rig_info +Rig command: \get_rig_info +VFO=Main Freq=145000000 Mode=None Width=0 RX=1 TX=1 +VFO=VFOB Freq=145000000 Mode=FM Width=15000 RX=0 TX=0 +Split=0 SatMode=0 +PTT=1 (1=On, 0=Off) +Rig=Dummy (name of connected rig) +App=Hamlib (name of application providing the packet) +Version=20210429 (version YYYYMMDD) -- reverse compatibilty will be maintained +Status=OK (possible values OK, Offline, Error) +ErrorMsg=msg text (pipe delimited multi-line error message) +CRC=0xf49f4708 (this is just an example CRC and not accurate for this example) + +Example JSON +{ + "VFO1": { // unlimited number of VFOs possible + "VFO": "VFOA", + "Freq": 14074000, // Hz + "Mode": "USB", + "Width": 5000, .. // Hz + "RX": 0, // boolean values 0 = off, 1 = on + "TX": 0, + }, + "VFO2": { + "VFO": "VFOB", + "Freq": 14076000, + "Mode": "USB", + "Width": 5000, + "RX": 0, + "TX": 0, + }, + "Split": 0, + "SatMode": 0 + "ID": "Rig#1", // customizable rig identification + "Rig": "Dummy", + "App": "Hamlib", + "Version": "20210429", // protocol version date YYYYMMDD + "Seq": 1, // 1-up sequence number 32-bit -- wraps around to 1 from 2^32-1 + "CRC": "0xf49f4708" // 32-bit CRC of all data replacing the CRC value with 0x00000000 +} + +Will be able to set freq, mode, width, ptt