Posted by: Ger Rietman | October 1, 2009

NemaStudio Beta 5 released

IBM548 punch card interpreter (about 1966)

The origin of beta testing

“The term beta test comes from an IBM hardware product test convention, dating back to punched card tabulating and sorting machines. Hardware first went through an alpha test for preliminary functionality and small scale manufacturing feasibility. Then came a beta test, by people or groups other than the developers, to verify that the hardware correctly performed the functions it was supposed to, and could be manufactured at scales necessary for the market. With the advent of programmable computers and the first shareable software programs, IBM used the same terminology for testing software. As other companies began developing software for their own use, and for distribution to others, the terminology stuck—and now is part of our common vocabulary.”
(Source: , the image shows an IBM548 punch card interpreter).

NemaStudio Beta 5

This week Beta 5 of NemaStudio was released. This will be the last beta, the next will be the RTM (release to market) version.

Here is a list of the updates:

  • According to a setting in the general settings the objects (instruments, targets) will either be saved always, never or on request
  • The control center reflects the settings for either kilometres or miles now
  • Sentences can now optionally be logged in an external log file
  • A licensing mechanism has been included
  • A splash screen has been added giving the option of entering license data
  • An ‘about’ form has been added, showing licensing terms
  • Better ‘Single Shot’ functionality in GPS
  • Position update interval can now be set in GPS (was fixed at 1 second)
  • Trace panel renamed to “I/O monitor”
  • Help functionality with help file introduced (help file still to be completed)
  • Installer shows license terms you have to agree with
  • Heading instrument includes functionality to copy the course from a selected GPS
  • Custom Instrument now saves the control center settings
  • Velocity instrument gives now the possibility to set each data validator
  • Heading instrument now copies ROT from rudder setting also
  • Many more minor improvements
  • Most issues that you reported are solved in this version

From a user perspective the most visible change is probably the nag screen reminding to purchase a license. Unregistered use will output a maximum of about 500 sentences. Note that this is considerable more than the unregistered version of NemaTalker (100 sentences). Since NemaStudio is capable of spitting out data of a much larger number of instruments and targets simultaneously, trial users should get a better impression of the usability of the program when a larger number of sentences is output before the trial limit is reached.

Of course current beta testers will receive free license codes for NemaStudio.

Posted by: Ger Rietman | June 12, 2009

NemaStudio Beta 4 released

NavMonPC 001

This week the Beta 4 version of NemaStudio was released. It includes many improvements compared to Beta 3. The most important is that now all instruments have been implemented, including Weather, Sounder, Velocity, Radar and Heading. Also included is the possibility to configure your own “Custom” instrument. All objects have improved functionality compared to NemaTalker. And of course, you can ´mix and match´ the assignment of serial ports  to the different instruments as required.

Rudder control

A new `RUDDER`control was added to the Control Panel. With this control you can steer the GPS, simulating a rudder change of your vessel. I have plans to include this functionality in the AIS Class A and Class B targets also.

New test tool

In the picture above you see a test setting with a large laptop at the left and a mini notebook at the right. They are connected via Bluetooth dongles, NavMonPCset up for serial port communication. (See also my article on serial port connections). On the large laptop runs NemaStudio, on the mini notebook runs a tool I found recently, called NavMonPC,  according to the author “A Windows Program for the Display, Capture, and Playback of NMEA data”. I found this a great tool for testing NemaStudio output sentences because NavMonPC dynamically parses many NMEA sentences directly to a nice graphical representation, not only with good looking gauges for Course, Speed and Wind but has also a nice map for showing AIS targets.

Posted by: Ger Rietman | June 12, 2009

What’s in a name…

nmea_logo

Recently I got a question from a NemaTalker user asking why I use the term "Nema" instead of "NMEA" in product naming. I know that many more people have been wondering about this. Here is the explanation. I choose for NEMA because I am not certain whether "NMEA" is a registered brand or not and that in no way I am waiting for problems with the NMEA organization concerning naming/branding issues. Besides, I noticed that the term "nema" is often used as a pronunciation shortcut for N-pause-M-pause-E-pause-A in the professional marine business. So if you were also wondering why I use “Nema” instead of N.M.E.A, now you know the reason. If you have an opinion about this, please let me know!

Posted by: Ger Rietman | May 6, 2009

Virtual Serial Port drivers and NMEA0183

image

Many NMEA related PC applications send and/or receive NMEA data over a serial connection according to the NMEA0183 standards.

The official NMEA standard recommends a EIA-422 connection, but that is impractical on a normal PC so in most cases RS232C will be used.

In the image we see a serial cross cable, sometimes also known as null-modem cable. It crosses the transmit and receive lines and is used to interconnect two serial ports, either on the same computer or between two different computers. Of course, this cable can only be used directly if there are serial com ports available.

Unfortunately serial ports are becoming rare species on today’s PC’s and almost all currently available laptops have no serial port at all anymore.

So how do we connect serial devices to a PC or how do we connect two PC applications that require serial port communication if there are no serial ports available on our system? Fortunately there are several options we can choose from.

Option 1, USB-to-Serial adapters

If both, or one of the computers we want to connect lack any serial com port, we can use USB-to-Serial adapters. During the installation of the drivers for such an adapter the setup software will install one or more serial ports on your computer. You can check this with Windows Device Manager. But still you need the cross cable for the connection even if you use a USB-to-Serial adapter on both computers, but now you connect the cable between both adapters.

Option 2, Bluetooth

Another option is using Bluetooth. For less than $20 you can purchase two Bluetooth USB sticks and configure serial ports on them. After pairing you have a wireless serial connection between two computers. Make sure that serial ports are supported when you buy the Bluetooth adapters!

Option 3, Virtual Comports

For two applications to be able to talk to each other over a serial connection on one and the same computer, this is by far the most convenient solution. A commercial product for example comes from Eltima, http://www.virtualserialport.com/,  and another one from KernelPro image http://www.kernelpro.com/advanced-virtual-com-port.html. There are lots of others of course. A great open source virtual comport product I like very much is com0com. You can create any number of serial port pairs on your system. Each pair you may compare to a cross cable if you like. For example, app A transmits data via  COM10, app B receives this data via COM11. I use com0com a lot in the configuration as shown in the screenshot while testing NemaStudio against different software like SeaClear, Y-Tronic, Fugawi, CoastalExplorer and others. Just recently I discovered another virtual serial port emulator from Eterlogic, VSPE. I have not been able to test it out yet, but the specs look very promising, and from the specs it should be able to do a lot more but just virtual serial port emulation.

Other options

If you need to connect an external serial device like a GPS and your desktop PC has no serial ports you can purchase and install extension cards with one or more serial ports. For a laptop with a PCMCIA slot you could also buy a PCMCIA card with one or more serial ports.

Posted by: Ger Rietman | April 24, 2009

Conversion from AIS to NMEA Radar $RATTM

Hugin_Explorer

Past couple of weeks I’ve been working hard on a very interesting project commissioned by SeaBird Exploration. They provide seismic services for the international gas and oil industry and run a fleet of 8 vessels equipped with highly sophisticated equipment.
SeaBird asked Sailsoft to develop software for dynamically converting AIS messages of type 1 to NMEA RADAR $RATTM sentences in order to feed the survey software aboard Hugin Explorer. The vessel is currently in operation in the Mediterranian.

This assignment was a real challenge because a number of parameters in the TTM sentence have no direct counterpart in the AIS message type 1 and have either to be calculated or defaulted, including the calculation of CPA (Closest Point of Approach) in time and distance units. The Target Name parameter in the TTM sentence is filled with the MMSI number from the AIS message 1, since we decided not to interpret message type 5. The program keeps a table for maximum 99 targets, because this is the maximum the NMEA $RATTM sentence can bear.

Different threads are maintained for incoming and outgoing messages. Message handling is complicated by the fact that we have to deal with different speeds for incoming and outgoing messages, 38400 and 4800 bps respectively.

The application is currently in operation aboard the Hugin Explorer, and as it looks so far without problems. Although a very interesting project for me it has delayed the release of NemaStudio for a couple of weeks unfortunately. I hope my beta testers will forgive me.

Posted by: Ger Rietman | March 23, 2009

NemaStudio Beta 3 released

NemaStudioTreeviewShot

I have just released the 3rd beta version of NemaStudio to selected beta testers.

There is a lot of functionality added in his version, and also some annoying bugs have been removed. Not all, but most.

In the picture at the left you see the new treeview panel in operation. This panel represents all objects (instruments and targets) in the users database.

In addition to opening objects with the large buttons in the instrument selection panel you can also open selected objects via this treeview panel. Here you have two options: you open an object by a double-click or via a context menu that opens when clicking the right mouse button on an object. In this context menu you also have the option to permanently delete an object from the database. I have created a rather clumsy but as I hope instructive enough screen cast on how to use the treeview panel here.

What more is new in this beta? Here is a list.

1. An installer to facilitate easy install and setup has been added
2. Delete functions to delete objects from the database have been added
3. New AIS targets and messages have been added: Base Station, SAR Aircraft, Aid to Navigation, messages 4, 9 and 21
4. A treeview panel for easy opening of NMEA objects (see above)
5. Most reported bugs are corrected
6. Position update on all instruments happens now every second, and is not related anymore to the interval setting for transmitting a sentence
7. Minor improvements to the user interface like tooltips etc.

An important change is point 6. Before, a new position was calculated on each transmit interval. So if the xmit interval was set to 2 seconds, the new position was calculated every 2 seconds. Now that we have introduced AIS in NemaStudio we have much longer transmission intervals, in some cases up to 3 minutes. This was resulting in very inaccurate position updates as you can imagine.

So now there is a separate timer included in each instrument/target, that does a position update every second, independent of the transmit interval. The one-second is hard coded, but if required, I can make this a settings variable. Let me know.

I also want to take the opportunity here to thank the guys from Y-TRONIC for their help in solving a very annoying bug I had in MsgType5. These guys are real AIS experts!

Posted by: Ger Rietman | February 9, 2009

NemaStudio Beta 2 released

NmeaStudioBeta2

Today I have released Beta 2 of NemaStudio! Beta testers have been informed of where to download this version.

New in this version:

1. I have extended the Communications settings form with a button marked "Reload Ports".
When NemaStudio is run for the first time it fills a port settings table with one row for each serial port found in the system, and saves this table in an xml file for next time retrieval each time you close the program. This is done to save your specific serial port settings so there is no need to set them again each time you run the program. Adding new serial ports or removing ports thereafter was not reflected in the settings table.
Now the new button enables you to reload the table with the new serial ports collection. Consequently all serial port settings are set back to the Windows default, so if you had changed these you have to do that again for the ports involved. In most systems however adding or removing serial ports will happen seldom, so I believe this is a very minor inconvenience.

2. Most of the reported bugs were corrected.

3. This beta version includes support for AIS Class A and Class B vessels.
Class A messages include Message 1 and 5.
Class B messages include Message 18, 19, 24 and 14.
Observe that messages 1, 5, 18, 19 and 24 are embedded in !AIVDM/!AIVDO NMEA sentences, where message 14 goes into an !AIBBM sentence.

I am very anxious to the findings of the beta testers, since I have not been able to find an AIS parser that is able to parse and show all message content complete and correctly, leaving me in some state of not being certain.

SeaClear for example does not show Name, Type and Cargo correctly for Class A vessels as far as I can see, and does not show the vessels name for Class B vessels at all. Yet I believe that apparently I have Name, Type and Cargo right because other parsers show them correctly, but for Class B I really don’t know.

So if you know of a good parser for the most relevant AIS sentences please let me know! There is no need for chart plotting features, just parsing AIS data into a text window will do fine.

Posted by: Ger Rietman | January 22, 2009

Waypoint Creator can save your day!

WaypointCreatorScreenShot

NemaStudio and NemaTalker both implement ‘automatic sailing’. This is achieved by activating either the Auto or Navigate function. Both functions require a waypoint file as input. The waypoint file must contain waypoints formatted according the NMEA WPL sentence, more specific the $GPWPL sentence.

As you may know it is a pain to create such a file manually, mainly because of the way the waypoint latitude and longitude must be formatted. Take the following example of a WPL sentence:

$GPWPL,2401.28276,N,07726.39282,W,WP09243069*55

When we dissect this sentence we get the following result:

$GPWPL = sentence id
2401.28276,N = latitude (24° 01.28276’ N)
07726.39282,W = longitude (77° 26.39282’ W)
WP09243069 = name of waypoint
55 = checksum

You can imagine that when you have to write out a few hundred waypoints this way it can easily ruin your day.

This is where WaypointCreator comes to help. I wrote this handy utility over the weekend because people were asking me for it for years now, but I always gave it a low priority because I hated the hassle with copyrights of navigational charts one has to deal with in such an app.

But now we have Google Maps and Microsoft Virtual Earth! Great applications giving us free detailed maps over the internet. WaypointCreator is using Virtual Earth because I found a handy open source control based on VE here , saving me a lot of time. I wrote a small .Net application encapsulating the control, and voilá: Waypoint Creator was born.

You can download, install and use Waypoint Creator for free from the Sailsoft website, here is the direct download link.

Posted by: Ger Rietman | January 13, 2009

AIS Message type 1 in NemaStudio

NemaStudio_AIS_Message_1

Recently I got the first AIS message implemented in NemaStudio. So far I have only AIS message type 1 implemented, but others will follow soon.

It took more time than expected for various reasons.

Firstly there were of course the Christmas holidays. I took a week off and actually did not write any line of code in that week, but I really had a great time!

Then I spent much time in mastering the listview control provided in the .Net framework. I wanted this control for opening AIS targets. The control is relatively simple to use if you do not need grouping, but I wanted to group the different AIS object types together. So a group for all Class A vessels in the database, a group for all Class B vessels in the database etc.

I had much fun in designing the user interface. As always it was a challenge to get all necessary controls grouped in a logical and user friendly way, but I believe I succeeded in that quite well.

Assembling the binary 6-bit per character message as embedded part of the NMEA !AIVDM message was another challenge. I found the ITU-R M.1371-3 document I purchased useful, but there are many typo’s in that document, making some elements hard to understand.

Finally I tested the generated !AIVDM sentences in a parser I found in the public domain on internet, with good results.

Next in turn will be Message type 5. If anybody knows of a simple parser for that message type please let me know!

Posted by: Ger Rietman | November 30, 2008

First beta of NemaStudio sent out

Today I have sent out a very first beta of NemaStudio (more like still an alpha…) to a number of selected customers.

I have also created a website for reporting feedback like bugs and other issues you find and of course suggestion for improvement.

If you are also interested in participating, please let me know by email (reply to the reply address of the email you received with the license codes of NemaTalker or GpsSimul) or by using the form you will find here:
http://www.sailsoft.nl/requestform1.htm.

Older Posts »

Categories