Revision from firmware 62 to 63

Discussion and support for the Nmea2Wifi multiplexer - a 2-input Nmea 0183 wifi multiplexer.
Post Reply
Luis Sa
Site Admin
Posts: 845
Joined: Thu May 04, 2017 4:12 am

Revision from firmware 62 to 63

Post by Luis Sa » Mon Dec 09, 2019 4:27 am

Hello,

Here are the differences/improvements/corrections/modifications/etc ... when going from firmware version 6.2 to 6.3
  • The following applies to both serial input ports P1 and P2. If for port, say P2, none of the routing boxes P2>P3 P2>UDP or P2>TCP is checked, P2 is ignored and not even read. You can have a sensor connected and sending data to P2 but the Green Led will not blink because the port is being ignored. It can be frustrating if you are not aware of this. An user (thank you Bernard!) call my attention to this detail and in the acknowledge web page that follows a change of settings, you can get a message like this: BAUD RATE P#2: 4800 but not used or read!
The following modifications are the same as in the "31 to 32 revision" of the 4-input multiplexer and are repeated here.
  • The reading of incoming SeaTalk1 bytes was modified aiming to be more robust. When the 2nd byte arrives, the length of the datagram is compared against a built in table and if there is mismatch the reading of the incoming datagram is abandoned. Also if before the arrival of the last byte of a datagram, a byte is received with the 9th bit set as a command datagram, the bytes received before are forgotten and the process of receiving a new datagram is initiated.
  • No change on ST=00 (depth below transducer). In response to ST=00 02 00 39 22, the multiplexer outputs a sentence of the type $SDDBT,876.1,f,,,,*05. If I send this sentence to box , it responds with ST=00 02 00 39 22. I will no use floating number operations to convert feet to meters and fathoms. It is the receiving (display) instrument which under the setting of a human user will present the depth in whatever units the user prefers. Also, I will not output the DBK sentence (depth below keel, as I would need to know the distance between the transducer and the keel) nor the sentence BBS (depth below surface, as I would need to know the offset between the water surface and the transducer). Neither I will output the sentence DPT (depth of water) except as explain below. I had several discussions with George about this subject. ST=00 brings the depth below transducer in feet. DPT has 3 fields. The first is depth below transducer in meters, which I can get from ST=00. The second field is an offset from transducer (meters positive means distance from transducer to water line, negative means distance from transducer to keel) which I could fill with a zero or a blank. As for the 3rd field, I have no idea about what it means but I could place a blank. George refers some Android apps that accept DPT and ignore DBT. If someone has this problem, please write me and I will send you a BIN file where ST=00 is converted to DPT.
  • No change on ST=10 and ST=11 (angle and wind speed) for the reasons referred to here. I do not have any SeaTalk1 wind sensor to test my idea but we need the angle and the speed. Both should arrive frequently. Just one, being it angle or speed, is not enough. I could send a sentence when the angle arrives (using the last speed that has been received) and send it again when the speed arrives (using the last angle that has been received). Good engineers like solving problems with minimal effort and cost. And being an engineer, I will only output the sequence on the speed arrival. It must be noticed that I want this software to run smoothly on the Nmea2Wifi multiplexer which does not have a powerful microprocessor as the Nmea4Wifi. Again I can change that on request.
  • ST=20 and ST=26 (speed through water)- in 31 when a ST=26 arrived a timer started. If later a ST=20 arrived it was ignored if more than 5 seconds measured on timer were elapsed. This was because ST=26 brings the speed through the water with more precision. In addition, if a Compass Heading value had been received in the last 5 seconds, the VHW sentence included that Heading. I removed all these features. In a system either the sensor transmits ST=20 or ST=26. I do not assume 2 sensors sending the same information. Even if they exist, each one will generate its VHW sentence. Also these 2 datagrams only bring speed through water. Therefore the VHW they will generate will only contain that and no Heading. Also, I will not calculate the value in kilometers per hour. The VHW will contain speed in knots, only. An additional comma "," at the end of the generated sentence was corrected.
  • ST=21 and ST=22 (Trip and Total Mileage) - now each the datagrams generate a VLW sentence like this $IIVLW,456.7,N,88.9,N*74. For example if ST=21 arrives it stores the Trip Mileage and generates a VLW sentence using this Trip Mileage and the stored Total Mileage. When a ST=22 arrives the Total Mileage is stored and is used to generate a VLW sentence using the stored Trip Mileage. If the stored values are not present (have not arrived) a blank is inserted.
  • ST=23 and ST=27 (Water Temperature) - Contrary to what I had said here that no change was needed, the conversion was not correctly done for negative temperatures. This has been corrected. Both STs will generate a MTW sentence.
  • ST=50 and ST=51 (latitude and longitude) - I detected an error in finding N or S for latitude and E or W for longitude. That is a bug that possibly never has been reported to me as I think (not sure as I do not have any SeaTalk1 GPS sensor!) that GPSs send position using the more accurate ST=58. Also if the value for minutes is greater then 60.00 (it should never happen but I was "playing" with arbitrary bytes on these datagrams) it will be truncated to 60.00. In opposition to the Raymarine box I trim the values. For example the box in the GLL sentence displays, say for the latitude of 7 degrees and 3.63 minutes North, "0703.630,N". In the case of the multiplexer this latitude will be displayed in the RMC sentence as "703.63,N". Another thing that I changed is - both datagrams should have arrived before ST=53 for the RMC sentence to be output. It serves no purpose, so I think, to send a fix with one of lat or lon missing!
  • ST=52 ST=53 ST=54 ST=56 and ST=58 (SOG, COG, Time, Date and LAT/LON) - I made no changes. I only send a RMC sentence when ST=53 arrives (as in version 31). I thought that might be an error on the building of the RMC sentence (sometimes 12 "," or 12 fields and sometimes 13 "," or 13 fields but that was due to the last field (FAA mode indicator used in NMEA 2.3 and later). I simply do not include this last field. If some user has any special requirement, please tell me and I can customize a firmware (not from May to October, when I am sailing :) )
  • ST=84 ST=89 ST=99 and ST=9C (Compass Heading on 84 89 and 9C and Magnetic Variation on 99) - no change. As referred to when describing ST=23 and ST=27, the Compass Heading is not included in the sentence MTW for speed of water.
Regards, Luis

Post Reply