If Master -> Client, it is the client’s radio ID, if it is Client ->
Master, it is the client radio ID. This appears to be the most correct
way, though admittedly not enforced, and might be better to use the
originating repeater/hotspot radio ID, but that’s for another day.
changed HBSYSTEM class method call to reference “send_system”, not
“send_clients”. This allows underlying hblink.py to decide if the
system is a master or client and work appropriately.
Talkgroup files are samples – pick one format or the other if you want
those aliases. this changes the type of dump you do with DMR-MARC and
the way you save files locally. CSV still works, but DMR-MARC will stop
supporting it!!! DO NOT mix .csv filenames and .json downloads. The
extension must match the file data type.
This makes hb_bridge_all a more capable program with multiple ingress
and egress ACLs for SID and TGID filtering. It’s not as simple as
“blacklist” and “whitelist” since MULTIPLE endpoints exist, unlike an
MMDVM that has only one connection.
Changed the logic for determining when to “re-connect” to the master.
This will break if the ping timeout is set too low. Recommend keeping
it at 4-5 seconds.
Random:
* Commented out per-packet debug logger lines (uncomment locally when needed)
Problems Fixed:
CLIENT MODE: hblink.py
hblink.py did not properly parse the radio_id in a MSTNAK message. We searched for
"MSTN" - 4 characters, and neglected to parse the radio ID at offset 6, after "MSTNAK"
instead of after 4, "MSTN".... rookie mistake:
elif _command == 'MSTN': # Actually MSTNAK -- a NACK from the master
- _radio_id = _data[4:8]
+ _radio_id = _data[6:10]
hblink.py did not actually keep track of missed keep-alives correctly to reset a connection.
This has probably been fixed. At worst, no more broken than it was. Would like to have
some folks test it by breaking connectivty froma client to master and watch what happens.
Appears to work now.
Minor logging bug when master receives and unknown command. It tried to
log _radio_id, but in this case, we don’t know the radio ID since we
can’t parse the HBP PDU.