Epse / vSMR-belux

EuroScope Plugin to simulate the AMS RDD ground radar system on VATSIM
GNU General Public License v3.0
2 stars 1 forks source link

Implement CPDLC MIN and MRN #1

Open Epse opened 1 year ago

Epse commented 1 year ago

See https://www.diva-portal.org/smash/get/diva2:1345445/FULLTEXT01.pdf for info.

In a pretty standard DCL response message:

/data2/1//NE/DEPART REQUEST STATUS . FSM 1925 230102 EBBR @AFR1604@ RCD RECEIVED @REQUEST BEING PROCESSED @STANDBY

the MIN or Message Identification Number is in this case 1, it's the number right after the data type (data2 in this case). This number should increment per message sent by the transmitting station to the destination station and is independent per destination.

The MRN or Message Reference Number is an optional number that's positioned after the MIN (here blank, would go between the slashes) and contains the MIN of a message sent by the receiver of the current message. This marks the current message as a reply to that message, useful for keeping DCL requests and responses grouped.

Both MIN and MRN are integers in the range 0-63, wrapping.

We want to keep track of MIN numbers to use per callsign and MRN numbers to reference when handling a DCL.

Epse commented 1 year ago

We already keep a messageId field, but it's shared between all stations, not capped at 63 and only used for sending the final clearance. MRNs are not used.

We can probably get away with using the messageId globally, if we recycle it

Epse commented 1 year ago

Since d177190 we now have a passable implementation of MIN, no MRN used yet. Topsky also appears to not send MRN's, so that part may not be very important.

Labelling as enhancement as the required parts are implemented.