mbof / hxsync

Program Standard Horizon marine radios (HX870, HX890, HX891BT, and GX1400) from any computer using your browser
https://mbof.github.io/hx/
MIT License
4 stars 1 forks source link

USCG MMSI cannot be test-called #34

Closed mbof closed 6 months ago

mbof commented 6 months ago

Repro steps:

  1. Set up the MMSI directory to contain
    name,mmsi
    USCG,036699999
  2. Write the MMSI directory
  3. Power cycle the device to return it to normal operation
  4. Press Menu, DSC, DSC Test, Memory

Observed:

Possible fixes:

Leaning towards special casing this number to make it easier for most, and giving users an option to override what gets stored as an individual MMSI and what gets stored as a group via an extra, optional column

mbof commented 6 months ago

Reading up on it more, it seems like inference is a bad idea. Fix is a variant of "adding a column to indicate which numbers are individual and which are groups" - instead we ask for group numbers to be prefixed with a "G" in the CSV.

johannessen commented 6 months ago

May I ask: What is this group MMSI 036699999 actually used for in the U.S.?

I note that the coast station that the USCG set up for testing has the MMSI 003669999, which is not a ship station group identity, but a coast station identity, as it starts with a double zero.

All coast station identities do so. You can reliably use the first two or three digits to tell what kind of MMSI it is. Additional flags should not be required.

I expect the device won’t allow DSC test calls to groups, as the replies would clog channel 70 quite a bit. It does allow DSC test calls to individual stations and to coast stations.

mbof commented 6 months ago

Good point. I might have gotten it wrong and it's the coast station identity that should be used. That uscg.gov site looks pretty authoritative!

In any case, I came across other info online that said to put the single-0 number into individual DSC directory - for example: https://cruisingclub.org/communications/dsc-groups "Calls to all U.S Coast Guard ships within VHF range can be made by entering 036699999 in the INDIVIDUAL directory and then placing a DSC call."

Thus it seems that at least in some cases, even something that parses as a group MMSI needs to be put in the individual memory. The use of a heuristic inference can cause individual and group directories to be changed on round-trip, even without a clear user request to do so. (This is similar point you had made in issue #27 - round trips without user intent to change should not result in changes.)

johannessen commented 6 months ago

Ah, gotcha. Interesting, thanks for that. Didn’t realise you could place group calls to a group you’re not a part of yourself, but it makes perfect sense.

So then the G flag determines which directory a group MMSI goes into, as it could well go into either or even both. I agree it’s required.