Skip to content

Instantly share code, notes, and snippets.

@hsiboy
Last active June 4, 2021 19:50
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hsiboy/df84a3a4d25d93b72ec2408ee01be9d3 to your computer and use it in GitHub Desktop.
Save hsiboy/df84a3a4d25d93b72ec2408ee01be9d3 to your computer and use it in GitHub Desktop.
Interface Specification for NASA Marine PC Navtex Pro
Interface Specification for NASA Marine PC Navtex Pro
1 - Electronic Interface
Power input: +10Volts to + 16Volts.
RS232 interface:
data format: 8 bits, 1 start bit, no parity, 1 stop bit.
Connector: 9-pin D-type socket mounted on the board.
pin 2: 38,400 Baud output from Engine to PC
pin 3: 38,400 Baud input to Engine from PC
pin 5: common (ground).
Amplitudes: standard PC RS232 (0 to 5V)
2 - Power-up settings
On power-up, the unit selects the following default conditions:
Reception on 518kHz (channel A).
Internal clock OFF.
Timed channel switching OFF (no times set).
3 - Data format (Stored Navtex Messages)
Navtex message storage is initiated within the PC Navtex Engine by receipt of the ZCZC sequence and terminated by the NNNN sequence.
Every character between ZCZC and NNNN is stored, followed by a terminator sequence.
Each stored and transmitted Navtex message begins with a “>“ character followed by the received message ID (even if faulty).
The terminator sequence consists of a <CR><LF> sequence followed by a lower case “a” or “b” to signify that the preceding message was received on 518kHz (“a”) or 490kHz (“b”), an ASCII number in the range 0 to 255 representing the number of Forward Error Corrections (FEC) made during reception of the message, and a final <CR><LF>.
Each complete message following that format is immediately transmitted to the RS232 interface and stored in on board memory for later recall on command by a PC.
If, following reception of a valid ZCZC sequence, a message is lost, or the NNNN terminator sequence is faulty, or a new ZCZC sequence is received before an NNNN sequence, the faulty message is not stored or transmitted to the PC.
4 - Data format (PC to Engine)
Commands sent by the PC to the Engine are listed below.
In all cases where more than one command is to be sent, the next command should not be sent until a response is received from the Engine signifying that the Engine has finished processing the previous command.
The valid commands comprise the following types:
A. Select 518kHz (channel A):
send $A<CR><LF>
B. Select 490kHz (channel B):
send $B<CR><LF>
Sending either of the above commands stops timed channel switches so the unit remains in the selected channel. These commands are abbreviated versions of the channel switch commands as follows.
C. Select timed switches to 518kHz (channel A):
send $A,hhmm,hhmm<CR><LF>
D. Select timed switches to 490kHz (channel B):
send $B,hhmm,hhmm<CR><LF>
- where hhmm defines the 24-hour time, between 0000 and 2359, at which a switch to channel A or B is to occur. If only one timed switch per day is required, send the same time in the two hhmm fields.Sending either of these commands establishes timed channel switches. If the clock has not been set, timed switching cannot (of course) occur. Any of the abopve commands trigger an acknowledgement string of <CR><LF>ok<CR><LF>.
E. Set the internal clock (24-hour mode):
send $C,hhmm<CR><LF>
- where hhmm is the 24-hour time between 0000 and 2359. The clock starts when the command is received, and “ticks” once a minute thereafter. Sending this command does not establish timed switching, which is set up by the commands defined above. Note that, in addition to the “ok” response, this command also triggers an acknowledgement with the time set, and the A and B channel switching times.
F. Send all messages, oldest first:
send $S<CR><LF>
G. Show software version number:
send $V<CR><LF>
5 - Transmission priority (PC to Engine)
If the PC transmits a switch channel command to the Navtex PC Pro at the same time as it is receiving a message, the command will not be implemented in the Navtex PC Pro until after the completion of the present message. Any further commands will be ignored until the “ok” response is sent by the Engine.
6 - Data format (Engine to PC)
The messages sent by the Navtex PC Pro shall comprise strings transmitted on the RS232 link at 38,400 Baud.
There is an arbitrary delay between receipt of any command and issuing the response specified below if the Engine is busy with other activities (such as saving incoming messages, etc.).
Communications from Engine to PC consist of:
A. A sign-on message sent on power-up as follows: <CR><LF>“NASA Navtex PC Pro.<CR><LF>Version: Annnn.n”<CR><LF> (without the quotes), and where “Annnn.n” is a NASA Marine Ltd. in-house software version code.
B. Single complete Navtex messages transmitted immediately following receipt on the selected channel (a = 518kHz, b = 490kHz) as specified in section 3.
C. All stored messages, sent oldest first. The transmission of all available stored messages is terminated with the sequence<CR><LF>“end”<CR><LF> (N.B. lower case, without the quotes).
D. The message “<CR><LF>ok<CR><LF>“ (without the quotes) following any valid $A, $B, or $C command which has been successfully implemented. (Note the lower case “ok”.)
E. The software version number, having the format defined as part of the sign-on string in 6.1 following receipt of a $V command.
F. A message <CR><LF>“Command not recognised.”<CR><LF> (without the quotes) following receipt of an unrecognised command.
G. A message <CR><LF>“No messages saved yet.”<CR><LF> (without the quotes) if a Send All command (see above) is received before any messages have been stored.
---
An updated Shipping Forecast is broadcast six times a day from five Navtex transmitters situated around the coast of the United Kingdom and Republic of Ireland:
Station Transmitter site
Niton 50°35'N 1°18'W
Cullercoats 55°04'N 1°28'W
Portpatrick 54°51'N 5°07'W
Malin Head 55°22'N 7°21'W
Valentia 51°27'N 9°49'W
Summary of UK/Irish NAVTEX broadcasts on 518 kHz
Station [B1 character] Scheduled slot times Slot times for weather information
Niton [E] 0040 0440 0840 1240 1640 2040 0040* 0840 2040
Cullercoats [G] 0100 0500 0900 1300 1700 2100 0100* 0900 2100
Niton (1) [K] 0140 0540 0940 1340 1740 2140 None
Portpatrick [O] 0220 0620 1020 1420 1820 2220 0220* 0620 1820
Malin Head [Q] 0240 0640 1040 1440 1840 2240 1040 2240
Valentia [W] 0340 0740 1140 1540 1940 2340 0740 1140 1940 2340
*Extended Outlook
Note 1: The transmission via Niton [K] is for the input of MSI information by France for the English Channel south of the median line along the Channel and east of 3°W.
The B2 character character (see Table below) denotes the subject matter of message which follows, 'E' for example, indicates that the message is a Meteorological forecast.
The heading also contains the serial number nn of the message inserted by the originator.
For example, all forecasts provided by the Met Office and broadcast via Niton have the heading EEnn.
character Subject
A Navigational warnings*
B Meteorological warnings*
C Ice reports
D Search and rescue information*
E Meteorological forecasts
F Pilot service messages
G Defunct in European waters but used in other areas for DECCA messages
H LORAN messages*
I Available if required*
J SATNAV messages
K Other electronic Navaid messages (messages concerning radio navigation systems)
L Subfacts/Gunfacts (UK use) – advisable not to reject this class of message in UK waters
V Amplifying Navigational warnings initially announced under category A
*Subject cannot be rejected by the receiver
---
Connections for Nasa Marine Raymarine E/C Series is as follows:
PC NAVTEX Engine C/E Series
Power input: +10Volts to + 16Volts.
RS232 interface:
data format: 8 bits, 1 start bit, no parity, 1 stop bit.
Connector: 9-pin D-type socket mounted on the board.
pin 2: 9600 Baud output from Engine to MFD (PC) - Black connect to white on Raymarine.
pin 3: Frequency select - Red, do not coonect PC, see below.
pin 5: common (ground) - shield coonect to green on Raymarine.
Amplitudes: standard PC RS232 (0 to 5V)
Red wire (pin 3)- leave unconnected to receive 518kHz (International)
OR
connect to negative to receive 490kHz (National, local language - available in certain areas only)'
On boot:
NASA Navtex Simple Engine,
Version: T0602.!
@PRBgithub
Copy link

PRBgithub commented Dec 4, 2020

Thank you very much for this precise spec. I have re-engineered same interface. Now almost ready with VB .NET program which is easier to use and has better functionality than originial software:
easier message selection; programmed channel A-B switching >2 times a day; storage of messages and reception time are some of the features. This is now a robust working prototype, but needs further tidying up of code and user interface; portability has not been included.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment