I stopped part 1 when I was trying to find which datagram forces the Raymarine box to output a RMC sentence. In the specifications of some available SeaTalk1 to Nmea 0183 converters, I read that they store values obtained from the datagrams and sent the RMC when a given sentence comes. As I explained above, I am doing almost the same and I output the RMC sentence when ST=53 arrives (and if there are lat/lon values available in memory). I will try now the succession of all the datagrams related to GPS. The following "send file" containing the following was sent just once:
and no RMC was generated by the Raymarine box. Here is what it sent out
Code: Select all
03:03:26 $IIBWC,140147,,,,,,T,,M,,N,*06
03:03:26 $IIGLL,0403.700,S,01243.956,W,140147,A,A*56
03:03:27 $IIVTG,321.0,T,,M,4633.6,N,85.3,K*7D
03:03:28 $IIBWC,140149,,,,,,T,,M,,N,*08
03:03:28 $IIGLL,0403.700,S,01243.956,W,140149,A,A*58
03:03:30 $IIBWC,140151,,,,,,T,,M,,N,*01
03:03:30 $IIGLL,0403.700,S,01243.956,W,140151,A,A*51
03:03:32 $IIZDA,140153,18,11,2018,,*5F
03:03:32 $IIVTG,321.0,T,,M,4633.6,N,85.3,K*7D
03:03:32 $IIBWC,140153,,,,,,T,,M,,N,*03
03:03:32 $IIGLL,0403.700,S,01243.956,W,140153,A,A*53
03:03:34 $IIBWC,140155,,,,,,T,,M,,N,*05
03:03:34 $IIGLL,0403.700,S,01243.956,W,140155,A,A*55
03:03:36 $IIBWC,140157,,,,,,T,,M,,N,*07
03:03:36 $IIGLL,0403.700,S,01243.956,W,140157,A,A*57
03:03:37 $IIVTG,321.0,T,,M,4633.6,N,85.3,K*7D
03:03:38 $IIBWC,140159,,,,,,T,,M,,N,*09
03:03:38 $IIGLL,0403.700,S,01243.956,W,140159,A,A*59
03:03:40 $IIBWC,140201,,,,,,T,,M,,N,*07
03:03:40 $IIGLL,0403.700,S,01243.956,W,140201,A,A*57
03:03:42 $IIZDA,140203,18,11,2018,,*59
03:03:42 $IIVTG,321.0,T,,M,4633.6,N,85.3,K*7D
03:03:42 $IIBWC,140203,,,,,,T,,M,,N,*05
03:03:42 $IIGLL,0403.700,S,01243.956,W,140203,A,A*55
03:03:44 $IIBWC,140205,,,,,,T,,M,,N,*03
03:03:44 $IIGLL,0403.700,S,01243.956,W,140205,A,A*53
... I aborted here as it was sending this continously
In a separated experiment I noticed that the box does not responds to ST=50 or ST=51 unless it has the "other value" in memory. So if we send ST=50 and ST=51 there is no response to ST=50 but, when ST=51 arrives, it generates a GLL using the latitude learned and stored after ST=50. It is like that:
Before I conclude let me paste here what I obtain with the 32ST. I had already analysed ST=50 followed by ST=53. It genererates an incomplete RMC because the 32ST only knows the value of latitude (coming with ST=50) and Coarse Over Ground (coming with ST=53). So, placing ST=53 in the end of the "Send file" we got this
I must revise the RMC as I note the number of commas "," varies (!!!). I may generate sentences like the Raymarine box in addition to store values to build the RMC sentence when: ST=53 arrives? or ST=58? or both? I will resolve these questions when I will revise this. This post will help me a lot and I just need to work on the software, putting the hardware apart.