Latest versions,  

the changes

Version 5.0.0 of 8 November 2024

·     SPD can now use the actual air density and temperature to calculate the difference between what a polar assumes and the actual values. High pressure and cold temperatures cause air to be more dense (more kilograms per cubic meter) and warm, low pressure makes air lighter. The difference can be up to 15 to 20% mass of the air. This has an impact on the force of the wind on the sails, obviously.

Also, wind with gusts has an impact: because the air layers mix better with gusts, the air at deck level will be a bit faster than in a situation with very steady, not gusty air. Total power from the sails will be a bit higher when it is gusting as the bottom part experiences more wind.

Input of the values is in your boatspecifics file, like this:

[Inputcontrol]

AIR dens = 1013

AIR temp = 20

Wind Gusts = N

Too high or low values are discarded and replaced by the default values.

Wind Gusts can be Y or N.

Impact of these parameters is calculated by increasing or decreasing the TWS accordingly, but only for the calculation of performance, not for display or logging of TWS. There the measured TWS is used, of course.

The increase or decrease of power in the sails is shown in the window at startup, when you are asked if all values are ok.

With the button I/O&Files you can of course re-read the active boatspecifics while SPD is running. This way, you can change the 3 values for air type while sailing. Edit the boatspecifics and press I/O&Files.


·     It is now possible to change just the boatspecifics file at startup and still use the same polar, heel polar, deviation and stw correction that were used the previous run of SPD. This makes it easier to just change the boatspecifics used. You do not have to select these 4 files as well. Of course, this is only possible when the No Questions Asked value in processfile.ini is set to N.

When you change to another boatspecifics file you can then later keep the current 4 files or also select different ones.

Version 4.13.3 of 29 October 2024

·     Missing XTE no longer set to N/A but to 0.00, as N/A caused dials on webserver pages to behave erratically.

·     XTE now always rounded at two digits, as some NMEA record types have 1, some have 2 digits. Screen and web server now always show 2 digits. Gives a more quiet image.

·     Additional XTE dial added to the web page with 28 dials: original dial XTE was between -1 and +1 Nm. Second dial is between -0.1 and +0.1 Nm for more precision.

·     Name of (latest) PDlog file added to the exit message presented when stopping SPD.

Version 4.13.1 of 3 October 2024

·     PDLogs sometimes contain errors and can have text lines written to the log; also, calibration of STW to SOG (a button) writes to the log. When doing PDlog post processing, these lines, especially errors, can cause a post processor to fail. The PD log combiner, one of the post processors, now can clean a PDlog. It will check the dates in the first and 3rd columns and will see to it that the LONH column has an E or a W. Erroneous records are skipped for the resulting combination file. You can use PDlogcombiner also to just clean 1 PDlogfile. Errors (the faulty records) are written to the Python logfile, in case you are interested to see them.

·     By using the IO&Files button, you can re-read the boat specifics file while SPD is running. If you edited the boat specifics file while SPD was running, not all changes were used correctly. F.i. if you changed the logging of AIS-records into the NMEA-in-log from N to Y, this did not result in these records being logged. Small error, but now corrected.

·     The NMEA cleaner introduced with SPD version 4.12.2 now has one extra step: it starts with making an inventory of what NMEA0183 record types are available in the NMEA file, and how many of each type there are. It writes the results in a file. It will look like this: 

$SADPT 13396

$SADBT 12064

$SAVHW 17870

$SAMTW 18054

!AIVDO 10842

$AITXT   742

$        656

$*2F       1

!1,1,, 1

$2,L,S     1

$54.5,     1

If you find records like the last 5 in this list, there is something wrong with your NMEA network. This is a real-world example…..

Version 4.13.0 of 25 September 2024

·     After a hick up in an incoming serial NMEA connection SPD sometimes did not continue after the connection was restored. This is now solved. Of course, this only works when Run on empty = Y in processlist.ini  . With Run on empty = N SPD will stop when the NMEA input is no longer coming in.

·     ORC polars now include 24 kts wind speed. All 4 routines that create polars from the ORC database (via jieter) now produce polars including 24 kts of wind: SPD-polars, OpenCPN polars, RAK24 polars and Axiom polars.

Version 4.12.2 of 11 September 2024

·     A routine has been added that checks raw NMEA logs (not PD-logs!) for odd records and implausible data. It can happen that checksums are not correct, that records are partly overwritten by the next record, that implausible data sits in the records.

This new routine in its first step reads your raw NMEA log and produces two files: a clean copy with the error-records left out and a copy with just the errors found.

Then in the second step (which can be skipped) some data fields are checked for plausibility. COG and BTW have to be between 0 and 360. Speeds (SOG and STW) cannot be negative and are suspect above 25 kts. Heel has to be max 45 degrees (+ or -) . AWA bigger than 180 is suspect, as is AWS above 50 kts.

This second step again produces two new files. One clean and one with the implausible nmea records.

To be started with a boatspecifics file

[General]

activity = NMEAcleaner

After cleaning the NMEA files and when many errors are found, you can then run SPD in replay mode with the clean file as input.

That will produce a new PDlog, based only on correct NMEA.


Version 4.12.0 of 24 August 2024

·        SPD can now announce (with speech) how many meters are lost with a tack or jibe. As all speech facilities, this only works on Windows.

For this calculation SPD takes the difference between the pre-tack (or -jibe) performance and the actual average performance during the Tack/Jibe. In boatspecifics, you can specify the normal time for a tack:

[Trimadvice]

tack time = 30

This calculation assumes that after 30 seconds (or whatever you specify) performance should be normal again. Losses after this period are not considered part of the tack-loss. The boat speed at the time of the end of the tack time is used to calculate the meters lost.

For this to work, in your boatspecifics, set

[Trimadvice]

-   tack perf = Y

-   speak advice = Y

SPD will tell you after a tack or jibe:

“lost xx, repeat xx”

·        In Windows 11, some users report errors (SPD stopping) with the speech routines from PYTTSX3. All calls to PYTTSX3 modules are now behind a Python TRY command and can no longer cause SPD to fail.

·        The preprocessor to create an Axiom polar now included some extra questions to the user, related to a future (at this moment) release of the Axiom software.

Version 4.11.0 of 11 July 2024

·        SPD can now announce (with speech) when a wind shift makes it desirable to tack (only when beating to windward, of course, at a TWA between 30 and 50 degrees). As all speech facilities, this only works on Windows.

For this to work, in your boatspecifics, set

[Trimadvice]

-   tack perf = Y

-   speak advice = Y

As before, a wind shift is defined as:

-   the difference between first and second half of the averaging period defined by the buttons for Wind Filter + -

-   a shift in geowind bigger than the value determined by the buttons Less Shift and More Shift.

By using these four buttons you can define the sensitivity of SPD for the detection of shifts. If you average the wind over 1 minute, the first 30 seconds are compared with the second 30 seconds of that minute. If that difference is bigger than the Shift value (threshold) the Tack warning will sound and be displayed.

If the wind direction change is accompanied by a big drop in wind speed, it is probably a velocity header and a Tack is not announced.

Tack-warning is now also part of the wind messages over UDP, and also displayed in the Smart Warnings box on screen.

Version 4.10.0 of 10 June 2024

·        The calculations of leeway and of the sideways-speed in kts (as a result of leeway and/or current) are even further refined. Both rely heavily on noisy data and are now averaged over 30 seconds to get a stable result. As before, sideways-speed includes current, leeway does not. Sideways movement from current is clearly separated from leeway caused by wind. Both are shown in degrees, negative to Port, positive to Starboard.

·        A new post processor for PDlogs will show the pitch logged for each TWA and TWS in the PDlogfile. Use a boatspecifics file with

[General]

activity = pitchtwstwa

·        A second new postprocessor will in one go show the output of all ‘simple’ PD-post processors. It will show 11 boxes on screen with all output from these PD-post processors.

[General]

activity = showall


Version 4.9.0 of 08 June 2024

·        The routine that converts a NMEA XDR record (with Roll, Pitch, Heave and Yaw) has been made even more resiliënt. Errors in the data can no longer cause SPD to fail. This was an extremely rare event. XDR records are produced by a.o. Miniplex multiplexers.

 

·        The calculations of leeway and of the sideways-speed in kts (as a result of leeway and/or current) are improved. Both rely heavily on noisy data and are now averaged over 60 seconds to get a stable result. As before, sideways-speed includes current, leeway does not.


Version 4.8.3 of 5 June 2024

·        The average performance measured by SOG excluding current impact is now included in the webserver output. Keyword is Average-Performance-SOG .

 The actual XTE is now logged in the PDlog. Column name is XTE .

 

·        Average-Performance-SOG is now included in the HTML file with those 27 ,now 28, dials

Version 4.8.2 of 29 May 2024

·        In the Speed box on screen there is now the average performance measured by SOG excluding current impact. It is calculated right from the start of SPD.

·        When you hit the New Log button, a new PDlog will be created starting at that moment and also the average performance is reset and recalculated from that moment onwards.


Version 4.8.1 of 26 May 2024

·        SPD did write its PDlogfiles with the extension CSV in capital letters. However, all log-postprocessors only searched for logfiles with .csv in small letters. Under Windows this is no problem, but with Unix (Ubuntu, Pi) it is: PDlogfiles would not be found easily. SPD now writes its logfiles with extension .csv, no capitals.

·        All post-processors now automatically start looking for PD-logfiles in the directory where these PDlogs normally can be found: /sailingpd/PD-logs

·        A new post-processor is added. It calculates the SOG-performance (ex-current) for each TWA sailed. Output goes intoa csv-file which can be analysed and plotted with Excel. It gives great insight in which TWAs have a below-target performance. In below example, performance between 100 and 170 TWA is clearly not good enough. This post processor requires a special  PDlog. The first 6 lines deleted, new first line the column names. And the whole file sorted (with Excel) by TWA, low to high. Keyword in boatspecifics:

[General]

activity = sogperfpertwa

 

Version 4.8.0 of 18 May 2024

·        XTE is added to the SPD screen, in the Course box. 

·        The 25-dials HTML screen (for web server output) now has a dial for XTE.

·        Also, this screen now has a dial for Distance to Waypoint.

·        And it shows the active waypoint.

·        The UDP messages for wind, current etc (see sendoverwifi.ini) now have an indication of the source (boat name). This can be useful when boats send these UDP messages over internet to some remote receiver

·        The “Angles” UDP message now includes the heel error value: too much or too few (negative value) heel

·        SPD now takes the lat-lon position from every RMC record and converts it into a decimal position looking like xx,xxxxxxx N xx,xxxxxxx E. This position is logged in the PDlogfile. It is also sent over USB in the wind-USB-messages. This way, there is a link between a boat’s position and all measurements taken and logged.

Version 4.7.1 of 16 May 2024

·        When creating an Axiom polar from an ORC-polar, you now get the question if you want a simple polar (only including the TWAs of the ORC-polar), or an extended one, with TWAs smaller than UA or wider than DA added based on VMG-info available in the ORC-polar

·        A small error in the calculation of bestangle (up or down) in the UDP-messages was corrected

·        UDP-wind-messages now also have the geowind kts, next to the TWS measured on board

Version 4.7.0 of 8 May 2024

It is now possible to create a polar for use in an Axiom plotter from the ORC polar database. Use a boatspecifics file containing:

[General]

activity = AXIOMpolar,NED6890

(or any other valid ORC certificate)


Version 4.6.0 of 21 April 2024

Version 4.5.0 of 2 April 2024

It is now possible to create a polar for use in RAK24 from the ORC polar database. Use a boatspecifics file containing:

[General]

activity = RAK24polar,NED6890

(or any other valid ORC certificate)


Version 4.4.0 of 28 March 2024

It is now possible to create a polar for use in OpenCPN from the ORC polar database. Use a boatspecifics file containing:

[General]

activity = OpenCPNpolar,NED6890

(or any other valid ORC certificate)


 Version 4.3.0 of 14 February 2024

A new dial for Ground Wind is now present in several html files for the web server output. It shows ground wind in a compass view. Many thanks to Menno for this dial!

Version 4.2.9 of 5 February 2024

·        Attempts to do a new build to get rid of cchardet error. Attempt successful this time, thanks to aiohttp no longer calling the defective cchardet routines. 

. No changes to SPD itself. PI-4 users report a fully functional SPD! 

Version 4.2.7 and 4.2.8  of 3 February 2024

·        Attempts to do a new build to get rid of ccharset error. Attempts failed in the Build fase (token expired)

Version 4.2.6 of 30 June 2023

·        Error with missing UDP port for UDP messages corrected. Sometimes, SPD just ran into an error stating the UDP port for outgoing messages was suddenly missing. Strange error. It is now bypassed.

 

·        Geowind now includes the effect of current; when sailing in current, the Geowind as calculated from Apparent Wind and COG-SOG does logically not take into account that the wind as measured is influenced by current. How would a wind instrument know there is current. The wind instrument has no knowledge of current. The boat does, however, SOG and COG include current while HDG and STW do not, and hence we can calculate the correct, real Geowind. When sailing with the wind from behind and current also from behind, the real wind is more kts than measured etc etc. Also, the direction of the geowind is now corrected for the effects of current. As before, Geowind kts is normalised to a height of 10 meters, as used in the weather forcasts.


Version 4.2.5 of 29 April 2023

·        It turned out that SPD hangs during startup when the Windows PC it is running on does not have a sound card and/or speakers/headphones. This can now be prevented by using a new key in processlist.ini,

[Starting specials]

Speech enabled = N

This will prevent all speech attempts made by SPD. Setting it to Y will enable speech.

Version 4.2.4 of 12 April 2023

·        A few additions to the webserver output, mainly handy for display on dials:

Rel-HDG, Rel-COG and Rel-BTW now present HDG, COG and BTW in negative for westerly HDG etc (-90 for West etc)

Bow-AWA and Bow-TWA give AWA resp TWA in negative with wind from Port

Heel-error gives the amount of over- or under-heel. Negative when actual heel is less than target heel.

The webserver-key for Speed from current is now called Speed-from-current. HTML did not like the spaces.

·        A new HTML file, with 21 offline dials, is now included in web_root.

Version 4.2.3 of 7 March 2023

·        Now available in /systemfiles/web_root, a new HTML file named SPDdials_offline.html

The previous html-files with dials in them used the Google presentation of the dials, and they needed an online (internet) connection at startup of the browser page (webserver page).

The SPDdials_offline.html is fully local and does not need internet.

You can modify it to your likings. It is a working example.

Thx to Menno for building these files for SPD, and to the creator of the dials, mentioned in the document included in web_root that describes all  possibilities.

Version 4.2.2 of 2 March 2023

·        Changed (again…) automatic detection of the directory of SPD. This is an unreliable OS-call it seems, influenced by multi-threading, ‘start in’ directories given in a Windows Shortcut etc. Unclear how Linux (and Pi-Linux) handles this OS-call. It might be unavoidable to change directory in the start-up sequence of SPD before you start SPD. At least, that is when you want to avoid the question to point out the SPD-directory with all its files. If SPD cannot detect that directory itself, you have to help out.

Version 4.2.1 of 28 February 2023

·        Improved (again…) automatic detection of the directory of SPD.

·        Root window top border will now show when Noquestionsasked mode is active

·        Number of satellites in view and HDOP added to the PDLog

Version 4.2.0 of 25 February 2023

·        IMPORTANT: for the communication via the webserver, SPD uses some open source functions, aiohttp, Asynchronous IO HTPP. There is an issue with a module used by aiohttp (i.e. cchardet) since mid-2022. Cchardet is no longer supported by Python version 10 and above. It is also no longer maintained, it seems.

Even in Python version 9 (used by SPD) cchardet causes a shutdown of SPD when the aiohttp routines are loaded into memory, at least on some Pi 64bit machines.

The solution has to come from the aiohttp-developers, SPD can at the moment only bypass the problem.

If you encounter the following error:

“ModuleNotFound Error : No module named ‘cchardet’

the bypass is to disable the webserver in SPD.

Go to sendoverwifi.ini in /systemfiles/ and set

Webserver = N

Restart SPD.

This way, all activity relating to aiohttp and cchardet is skipped in SPD.

You will not have any webserver output as a result, but it is better than a complete crash of SPD anyway.

Of course we are looking for a real solution, but that has to come from the aiohttp open source team.

 

·        SPD needs, after being started, to know in which directory all its required files can be found. The way in which SPD discovers from which directory it was started (and where also all other stuff is) has now been improved. It is now the very first action of SPD after the start.

Version 4.1.5 of 16 February 2023

·        example files added with CSV-separation with comma’s and with decimal point. For 4 types of file: polar, heelpolar, stw correction and deviation 

·        a complete instruction for the use of SPD under Linux on a Pi4 added: download, unzip and start. New separate document in the folder.

Version 4.1.4 of 9 February 2023

·        Performance in- and ex-current swapped on SPD screen.

Easier now to compare STW-perf and SOG-excurrent perf as these are closer together on screen.

 

·        Added the number of satellites in view and the HDOP to the top line on the screen-output and also to the webserver output, with 2 new keywords for webserverselection and in the webserver output:

Satellites

HDOP

Version 4.1.3 of 31 January 2023

·        Error in the post processor for heel and target heel corrected (targetheelcheck)

Version 4.1.2 of 30 January 2023

·        Small error (incorrect date when writing to PDlog with button) corrected.

Version 4.1.1.1 and 4.1.1.2 of 21 December 2022

·        2 changes to Workflow and run-on-arch, both required by Github.

No impact on users or source code.

Version 4.1.1 of 18 December 2022

·        Instructions for use with SignalK and Node Red improved.

Version 4.1.0 of 16 November 2022

·        During Replay of a raw NMEA log, SPD can now, if so requested, send its own NMEA0183 records via COM or TTY.

This can be useful during the testing of NMEA output on your instruments on board. You can now debug your system (multiplexer, cabling, instruments) with recorded data in Replay mode. No need to have live data for such test.

It requires a new keyword in your (replay) boatspecifics file:

[NMEAoutput]

During Replay = Y

The Section [NMEAoutput] is already there to define which NMEA messages SPD will send.

The NMEA output records will come via the port as defined with [Serial] in the boatspecifics file.

Version 4.0.6 of 4 October 2022

·        Some small errors in 2 PD post processors corrected.

 

·        A new Post Processor is added: it calculates the difference between the Target Heel (from the Speed Guide) and the actual heel. This is done for a range of TWA’s and TWS’s and also it shows separate results for Port and Starboard tack. Quite useful to get insight (after sailing) in the amount of sail used. This PD post processor is to be started with the keyword

[General]

activity = targetheelcheck

in a boatspecifics file.

Version 4.0.5 of 24 September 2022

·        Instruments can not display negative values in many cases. So a negative VMG (downwind) or a negative Closing Speed to a WP (sailing away from it) does not show.

These values are now made positive, in order to display them on a NMEA instrument.

If they are not available (no active WP), N/A is shown on the SPD screen and 0 will show up in all other outputs.

 

·        Bestangle when going downwind is now bestangle minus 100 in the NMEA output records. This way, display of a 3 digits angle is possible on NMEA displays. F.i a DA of 160,5 will display as 60,5 on a NMEA display. You will know what to do when going downwind!

 

·        Calculation of current impact on course is improved. It shows the actual impact of the current on the direction of the boat, without the leeway component.

 

·        The current component is no longer part of the calculated actual leeway displayed on the SPD screen: the value of the total actual leeway (including current) is still calculated as before but the current component is now removed from that value.

 

·        When doing a Replay, a copy of all NMEA coming in (from file) was created when the boat specifics stated NMEAin copy = Y . This is not useful, as a file with all that NMEA already exists (the one that is replayed). So, in Replay mode, no more NMEAin copy is created.


Version 4.0.4 of 2 September 2022

·        When no water speed data were available in NMEA0183, SPD still tried to calculate current (direction and speed). With the default for water speed set at 0 kts, this resulted in a current equal to SOG, straight ahead. As a result, some performance data gave unreliable results.

This is now corrected. When no water speed data are available, current kts and direction are set to 0.

In such case, speed STWc and performance STWc-water will show N/A.

In the PDlog, the values will still be0, to accomodate some of the PD post processors.

 

·        When no waypoint was active, performance VMG to WP and speed VMGwp showed 0. That is now changed to N/A.


   ·        No changes to the manual, 4.0.3 is still current.


Version 4.0.3 of 21 August 2022

Both PD postprocessors for the PDlog that create Deviation tables  (with and without heel) now take tLEEWAY from the PDlog to correct COG for target LEEWAY. HDG is without leeway anyway, so to find the difference between HDG and COG (the deviation), tLEEWAY has to be taken out of the equation.


Version 4.0.2 of 15 August 2022

·        TWA to WP gave a TWA value even when no waypoint was active, it showed the GEOwind direction. Now it will show N/A if there is no waypoint

·        In a situation with no SOG and COG = 0 (i.e., when completely stationairy) the GEOwind could be from a direction greater than 360. This is now corrected.


Version 4.0.1 of 8 August 2022

·     The calculation of Upwash, using Arvel Gentry’s formulas, delivered a high Upwash value of 7 or 8 degrees in very light air, leading to an unrealistic TWA. This is influenced by 2 keys in processlist.ini,

[Upwash control]

Gentry S0 = 2.5

Gentry S1 = 3

The default value for S1 is now set to 3, it was 8 earlier.


·        SPD corrects Apparent wind (angle and speed) for a number of factors. Apparent Wind Angle AWA is corrected for heel, for upwash, for leeway and for wind-change along the height of the mast. More wind up high, so wider AWA there. But 10 meter high is the reference height.

Apparent Wind Speed AWS is corrected for heel: many wind sensors will measure less when heeled.

In the documentation of the ORC for measurement certificates, it is assumed that Upwash and Leeway effects on AWA cancel each other out, net effect zero degrees.

SPD makes an attempt to really correct AWA for heel (using target or measured heel), for upwash (using Arvel Gentry’s formulas), for leeway (using target leeway from ORC K-formula), and for mast height above 10 meter (using a formula from The Art and Science of Sails by Tom Whidden).

The AWS correction for heel could already be fine-tuned by users by changing processfile.ini:

[Wind corrections]

AWSheelcorrection = 0.4 

which stands for 0.4 % more real wind per degree of heel). Setting it to 0 eliminates this correction, f.i. for ultrasonic wind sensors.

Now, the AWA corrections can also be switched off by the user, so that the raw measured AWA is used in SPD. In processlist.ini:

[Wind corrections]

AW raw = Y

Will make SPD skip all corrections for heel, mast height, upwash and leeway.

 

·        The calculation of actual leeway is improved. That is a complex calculation, based on Geowind TWS, Boat TWS, current speed and current angle, boat speed and on TWA.

Some of these variables and the underlying ones are noisy in nature. Hence, actual leeway can be noisy also. It should be seen as an indication. The actual leeway is not used in any other calculation in SPD. It is available on screen and in the webserver output.

 

 

Version 4.0.0 of 5 August 2022

· SPD after startup first reads a few records from the NMEA source (serial, network, replay). This is done to see if the records really needed (RMC and wind) are available. Also, SPD then checks which other useful record types are in the data stream. Sometimes there are very many AIS records in the data stream, and reading a few 100 records is then not enough to identify all useful types. This has now been improved: !AI records are ignored during this NMEA test, and 100 NMEA $-records are read. This improves the chances that all record types are found immediately.

 

· The variable NMEAHz (from processlist.ini) is also taken into account for this record-test. SPD will try to identify NMEAHz * 100 records at the start. This way, 10 Hz GPS records will not overshadow less frequent wind records, etc.

 

· The key Printnetworkrecords (in processlist.ini) to see what is coming in when live now also works with a serial connection, not just with a network connection (UDP or TCP).

 

· The handling of incoming NMEA via Network, over UDP and TCP, has been greatly improved. Chances of NMEA records being missed are now drastically reduced. Also, thruput of NMEA over Network, especially over TCP, is much improved. A lot of changes!

 

· In the log, the DATE and TIME columns are now always taken from the GPS RMC record, so this is always GPS date and time from live NMEA or from replayed NMEA records. Earlier, during live running of SPD, these 2 were taken from the computer’s date and time. Now they are in UTC.

 

· Also in the PDlog, 2 new columns (the first 2) are available with the local date and time of the computer when running SPD. Column names are locDATE en locTIME. If no info is availabe, N/A is logged.

 

· In Boatspecifics, a new key to get spoken windshift messages:

[Trimadvice]

shiftmsg = Y

Every time a windshift is detected (the size of which you can adjust with a button) SPD will tell you so. Header or lifter, preceded by V for velocity and R for a real one.


Version 3.7.6 of 27 July 2022

· In the PDlog, 2 colums were added, for raw AWA and raw AWS. In these, the values of AWA and AWS are logged before any corrections for heel, upwash, leeway and mast height are applied, and before any filtering. This is the data as they come in from your wind sensor.

Column names are AWSraw and AWAraw.

 

· Some additional testing added in the reading of CSV files for Deviation and STW correction. These files can be simple, without heel, or with 9 rows for 9 heel angles (0, 4 SB and 4 Port heel)

When (new) users of SPD are not sure how to use these options, the error messages were not optimal. A lot has been improved now to help new users getting started.


Version 3.7.5 of 25 July 2022

·        Creating a polar.csv from the Jieter ORC database suddenly delivered a polar with decimal dots. May be something has changed there?

Now corrected: if your CSV Separator is a semicolon the polar will be created with a comma for decimals. With a comma as CSV separator, the decimal dot is used in the polar.

 

·        After re-reading the book ‘The Art and Science of Sails’ I could not resist adding a small correction for AWA. As AWA is measured at a different height than the 10 meter standard for an ORC Measurement Certificate, a lot higher in most cases, it is a little bit too wide to calculate a correct 10m TWA: there is more wind above 10 meters, giving a wider AWA.

This is now corrected before TWA is calculated.

The ratio between boat speed and wind speed is also taken into account: the AWA gets even wider up there with heavy air (as we all know).

Version 3.7.4 of 19 July 2022

·        Reading of Deviation and stw correction CSV files made more robust against user errors in the CSV (like spaces etc).

·        A new HTML file with just 2 performance dials: SPDperfjustdials.html

 

·        Filter lengths can now be adjusted more precisely. Until now, changing a filter (with a button) doubled or halved the length of the list of data in the filter. Now you can also add just one value to the length of the filter list, or remove 1 (oldest) value. Control is via processlist.ini, with a new command:

 

[Filters changes]

Step = DH 

 Will double or halve the list of values per button click, or

 Step = +-

 if you want subtle 1-value changes

 This works for all 3 filters (performance, wind, AW).

If not specified, the default is (still) double and halve.

Version 3.7.3 of 11 July 2022

·        Added a Transducer name for XDR records for a new device, for roll and for pitch. Transducer names are AS08_ROLL and AS08_PITCH, for the Quark Elec AS08 compass and attitude sensor.

 

·        Users can now specify a transducer name for pitch and for roll in a boatspecifics file. These names were hard coded until now (many still are) but you can add the transducer names that your measuring device or multiplexer uses in the XDR records it creates.

 

[Inputcontrol]

XDR_roll = yourrolltransducer

XDR_pitch = yourpitchtransducer

For both roll and pitch values, it is assumed the measurement values are in degrees, not radials.

·         Error when sending UDP to non-existing socket corrected. Was a rare error only happening during shutdown.


Version 3.7.2 of 16 June 2022

·        A new key in boatspecifics allows for logging in the copy-nmea-in file of all !AIS records received.

These were skipped until now; if you want them logged as well, specify, in your boatspecifics:

 [Outputfiles]

AISin copy = Y

 Of course this only works if you have also selected

 [Outputfiles]

NMEAin copy = Y

 This way, you can use SPD to create a complete log of all NMEA-records including all AIS records. Nice to replay a race and also see the position of the competition.

 

Version 3.7.1 of 26 May 2022

·        Smileys removed from printing smartwarnings. Some Pi’s could not handle them.

   ·        ThisPC_IP set to “not available” if not possible to get that IP from the OS. Stupid Pi again 😉

 

·        Queue for webserver increased from 8 to 32


Version 3.7.0 of 25 May 2022

·        New key in processlist.ini

[Thresholds]

connect_retry = 10

 

·        SPD will now try to repair a lost TCP connection (to your NMEA source) a number of times (connect_retry times) when no more NMEA is coming in over TCP.

This is first noticed by a time out on the connection (hard defined at 10 seconds).

You will be notified of this on-screen, or in print or webserver when headless.

Then every 10 seconds SPD will try to restore the TCP connection, for a maximum of connect_retry times.

When all that fails, SPD will stop.

NB this only applies when setting Run on empty = Y in processlist.ini

With Run on empty = N, SPD will stop after the first time out on the NMEA connection.

 

·        In case of a serial connection, COM or TTY, all the above is also applicable, with the caveat that it is only working for the incoming COM or TTY. If you also use a separate, second COM or TTY for SPD-NMEA-Output, that one will not be restarted.

 

·        For completeness sake:

when using a UDP connection for incoming NMEA and with Run on empty = Y, SPD will wait endlessly untill NMEA is received again over UDP. The UDP socket is not re-started.

 

·        A warning: there can be situations wherein all this restarting will not work. Sometimes COM-ports and TCP-sockets behave not completely as expected (or as they should).

 

·        When operating SPD in headless mode with web output, SPD will now also print every notification message to the standard output file, so not only deliver it via the webserver.

This can it make easier to debug things when you have changed the environment or some SPD settings.