NOTE – You must use -c /dev/vr485 after each command when accessing the putty when operating with Workhorse Splashproof Controller, for example:
vr_enum -c /dev/vr485
./vr_debug_putty.py [node_ID] -c /dev/vr485
convert_csv_yml.py converts a coordinate file in .csv format into a Greensea .yml mission file.
It is designed to be as easy to use as possible:
- You configure the program to match your requirements, rather than the program forcing you to modify all of your .csv data files
- Values for any data element can be assigned as a default
- The column order can be user defined
- Unused columns can be ignored by the program so you don’t have to delete them from your data
- The Lat/Lon Degrees format is flexible (DD, DDM, DMS; use +/- or N/S; use “,” “‘” and “”” or not)
The program can run on Ubuntu on the Control Console or on Windows on a PC / Laptop.
Before converting your .csv file, you will likely need to set up the defaults to match your data requirements. This manual will explain how to do that.
The program is available in the downloads section.
Convert .csv to .yml Quick Start
Installation
The program and necessary files are delivered as a zip file. These files can be downloaded and unzipped to the folder of your choice.
First Time Program Execution
To start the program:
Ubuntu on the Control Console
Open a terminal window and navigate to the folder where the program was installed. Enter:
python convert_csv_yml.py
Window on a PC / Laptop
The program requires Python be installed on your computer.
Open a DOS window and navigate to the folder where the program was installed. Enter:
python convert_csv_yml.py
When the program starts, click on the Show / Set Defaults button. Check and set the defaults according to your preference. See the Setting Defaults page for more information.

Addition information about the data format and defaults is provided in the remainder of this manual.
A sample .csv data file, mission.csv, is included as part of the installation for a test execution.
After the defaults are set as desired, save the defaults by clicking on Save Defaults to File button and then click on the Convert button.
Subsequent Program Executions
For future executions using data in the same format, you will only need to start the program, select the filenames and click on the Convert button.
Convert .csv to .yml Files and Formats
In addition to the program itself, convert .csv to .yml requires a configuration file (a .cfg file), and input file with data about the mission and waypoints in .csv format.
Additionally, two template files, one for the mission and one for the waypoints, are used in the background to create the .yml file.
When executed, it creates a Greensea mission file in .yml format for use in Greensea’s Workspace ROV control program.The files will be described on the following pages, starting with the .yml mission file.
The .yml File Format and Information
Greensea mission files contain general information about the mission, such as its name, and a series of waypoints. Mission files are stored in a .yml files. The .yml file is in text format that is easy to read. An example mission file with two waypoints is shown here:
#################################################### ### Greensea Workspace Waypoint Data ### Created by VideoRay: 2021-05-23 20:21:09 ########################## mission_data: - id: "{2fa9aade-537d-494d-b260-c236e459ae7c}" name: mission color: "#00ffff" color_propagate: false locked: false waypoints: - id: "{b1cb7cc1-c655-4444-8bce-81cae366d76d}" - id: "{5541b691-276e-405c-bb68-ef5d1707fb55}" waypoint_data: - id: "{b1cb7cc1-c655-4444-8bce-81cae366d76d}" mission_id: "{2fa9aade-537d-494d-b260-c236e459ae7c}" name: A color: "#ffff00" x: -75.5 y: 41.5 z: 0.9144000000000001 tolerance: 1.8288000000000002 z_alt: false z_matters: true speed: 0.1524 use_speed: true effort: 70 display_rb: false locked: false heading: 0 heading_mode: NONE - id: "{5541b691-276e-405c-bb68-ef5d1707fb55}" mission_id: "{2fa9aade-537d-494d-b260-c236e459ae7c}" name: B color: "#ffff00" x: -75.08722666666667 y: 41.36926166666667 z: 0.6096 tolerance: 1.8288000000000002 z_alt: false z_matters: true speed: 0.1524 use_speed: true effort: 70 display_rb: false locked: false heading: 0 heading_mode: NONE
You may notice that there are many parameters associated with the mission and each waypoint. The program allows you to set defaults for all of these values so you do not have to include these data elements in your file if you do not want to. Here is the full list of .yml data elements with descriptions. Additional information about each these parameters can be found on the CFG File page.
Mission Data
Mission ID (Auto generated by the program)
Mission Name (Text)
Mission Color (Hex RGB color value, range: #000000 – #9999FF; the program includes a graphic color picker.)
Mission Color Propagate (True / False)
Mission Locked (True / False)
List of Waypoint IDs (Auto generated by the program)
Waypoint Data
Waypoint ID (Auto generated by the program)
Waypoint name (Text)
Waypoint color (Hex RGB color value, range: #000000 – #FFFF00; the program includes a graphic color picker.)
Waypoint y [North] (Number – Degrees value)
Waypoint x [East] (Number – Degrees value)
Waypoint z [Depth / Altitude] (Number, meters)
Waypoint tolerance (Number)
Waypoint z_alt [Z is Altitude] (True / False)
Waypoint z_matters [Use Depth Lock] (True / False)
Waypoint speed (Number, speed in meters/second)
Waypoint use_speed [Use Speed Lock] (True / False)
Waypoint effort [% Effort] (Number, range: 1 – 100)
Waypoint display_rb (True / False)
Waypoint locked (True / False)
Waypoint heading (Number, range: 0 – 360)
Waypoint heading_mode (NONE / ALONG_LINE / FIXED)
Within the .yml, the Units Type is Meters and the Degrees Format is always Decimal Degrees. Your .csv file can contain units of feet and other degrees formats (Degrees Decimal Minutes or Degrees Minutes Seconds) by specifying these as default units to use.
The .cfg File Format and Information
The Configuration file is used to store default values for the program and can be modified to meet your data requirements. This table provides comprehensive information about the data and default values. An initial configuration file is provided as part of the installation and there are tools within the program to modify it.
CFG Row | Name | Description | Data Type / Explanation |
---|---|---|---|
1 | showHelp | Show Help On Start-up | True / False |
True – Show help on start-up | |||
False – Do not show help on start-up | |||
3 | outFile | Output .yml File Name | Text |
4 | mission_name | Mission Name | Text |
5 | mission_color | Mission Color | Hex RGB Color Value, range: #000000 – #FFFFFF; the program includes a graphic color picker. |
6 | mission_color_propagate | reserved | True / False |
True – | |||
False – | |||
7 | mission_locked | Mission Locked | True / False |
True – Mission is locked | |||
False – Mission is unlocked | |||
8 | unitsType | Units of Measure | Feet / Meters |
Feet – .csv units are in feet | |||
Meters – .csv units are in meters | |||
9 | degreesFormat | Degrees Format | DD / DDM / DMS |
DD – .csv uses Decimal Degrees | |||
DDM – .csv uses Degrees Decimal Minutes | |||
DMS – .csv uses Degrees Minutes Sections | |||
10 | autoIncrement | Add a sequential number to waypoint names | True / False |
True – Add a 3 digit sequential number to the waypoint name | |||
False – Do not add a 3 digit sequential number to the waypoint name | |||
11 | N/A | Reserved | Internal Note |
User Defined | name | Waypoint Prefix> | Text, added to as a prefix to the waypoint name |
User Defined | color | Waypoint Color | Hex RGB Color Value, range: #000000 – #FFFFFF; the program includes a graphic color picker. |
User Defined | y | Waypoint Latitude (North/South) | Number, Degrees Value |
Variable format – | |||
User Defined | x | Waypoint Longitude (East/West) | Number, Degrees Value |
Variable format – | |||
User Defined | z | Waypoint Depth (or Altitude) | Number, depth or altitude in selected units |
User Defined | tolerance | Waypoint Tolerance | Number, tolerance in selected units |
User Defined | z_alt | Waypoint Depth Reference | True / False |
True – z is the waypoint altitude | |||
False – z is the waypoint depth | |||
User Defined | z_matters | Waypoint Depth Lock | True / False |
True – Waypoint depth is locked | |||
False – Waypoint depth is unlocked | |||
User Defined | speed | Waypoint Speed | Number, waypoint speed in selected units per second |
User Defined | use_speed | Waypoint Speed Lock | True / False |
True – Waypoint speed is locked | |||
False – Waypoint speed is unlocked | |||
User Defined | effort | Waypoint Effort | Number, % of effort to achieve waypoint |
User Defined | display_rb | Reserved | True / False |
True – display_rb is True | |||
False – display_rb is False | |||
User Defined | locked | Waypoint Locked | True / False |
True – Waypoint is locked | |||
False – Waypoint is unlocked | |||
User Defined | heading | Waypoint Heading | Number, waypoint heading in degrees azimuth, range 0 – 360 |
User Defined | heading_mode | Waypoint Heading Mode | NONE / ALONG_LINE / FIXED |
NONE – | |||
ALONG_LINE | |||
FIXED |
This configuration file is provided with the initial installation:
showHelp=false inFile=mission.csv outFile=mission.yml unitsType=feet degreesFormat=ddm autoIncrement=false mission_name=mission mission_color=#00ffff mission_color_propagate=false mission_locked=false --You may change any of the =values in this file to set your own defaults, and you may change... name= y= x= z= color=#ffff00 tolerance=6 z_alt=false z_matters=true speed=0.5 use_speed=true effort=70 display_rb=false locked=false heading=0 heading_mode=NONE
The configuration file is named convert_csv_yml.cfg and is a text file. It can be edited using the Show / Set / Save Defaults feature provided within the program, or manually in a text editor. Either method can be used. You may use whichever is more comfortable for you.
The .csv File Format and Information
The .csv file contains your data. It may be manually created or generated by another program. If you are not familiar with .csv files, you can view a brief .csv primer.
For the purposes of using the convert_csv_yml.py program, the data represents coordinates or waypoints with one waypoint per line. Here is a sample of a typical coordinate file in .csv format with a header row.
Name,Latitude,Longitude,Depth A,41 30,-75 30,3.0 B,41 22.1557,-75 5.2336,2.0 C,41 11.0544,-75 4.2312,1.0
Commas are not allowed within a value, because they are used as the separator between values.
In addition to the list of coordinates/waypoints, the program requires that the first line of the .csv file provide information about the mission, and the header row either needs to be removed or identified as a comment by using a “#” as the first character. Lines with the “#” symbol as the first character on the line are considered comments. You can also use the “#” to exclude specific coordinates from the conversion.
Here is the required mission information:
Name,Color,Color Propagate,Locked,Units Type,Degrees Format,Auto Increment Waypoint Names
The sequence of the mission data elements must be in the order listed above, and this order cannot be modified like it can be for waypoint data elements.Here is an example of a working .csv file that the program can read and convert correctly (defaults must be set accordingly). This example conforms to the defaults as defined in the initial installation.
My Mission,#00FFFF,False,False,Feet,DDM,False #Name,Latitude,Longitude,Depth A,41 30.2,-75 30,3.0 B,41 22.1557,-75 5.2336,2.0 C,41 11.0544,-75 4.2312,1.0
Mission Information
- Mission Name = My Mission
- Mission Color = #00FFFF (Blue, Default colors can be selected using a color picker.)
- Mission Color Propagate = False (Do not propagate mission color)
- Mission Locked = False (The mission is not locked)
- Units Type = Feet(the values are in feet)
- Degrees Format = DDM (The degrees format is Degrees, Decimal Minutes)
- Auto Increment = False (Do not add an auto incremented number to waypoint names)
Waypoint 1 Information
- Waypoint Name = A
- Waypoint Latitude = 41 degrees, 30.2 minutes (North)
- Waypoint Longitude = -75 degrees, 30 minutes (The – indicates West)
- Depth = 3.0 Feet
You may notice that this data does not include many of the .yml parameters. The program will insert the default values for any missing parameters. You can also omit entire columns as long as they are at the end of the rows.
For more information about data elements and their definitions, see the CFG File page.
A sample data set is included in the mission.csv file that is included as part of the installation. It uses a blank line as the first line – All mission data is defined by defaults and not the .csv file.
Convert .csv to .yml Template Files
The program uses template files to structure the .yml. These files should not be modified without training. They are presented here for your information.
Mission Template
#################################################### ### Greensea Workspace Waypoint Data ### Created by VideoRay: <!--##creation_time##--> ########################## mission_data: - id: "{<!--##mission_id##-->}" name: <!--##mission_name##--> color: "<!--##mission_color##-->" color_propagate: <!--##color_propagate##--> locked: <!--##mission_locked##--> waypoints:
Waypoint Template
- id: "{<!--##waypoint_id##-->}" mission_id: "{<!--##mission_id##-->}" name: <!--##waypoint_name##--> color: "<!--##waypoint_color##-->" x: <!--##x##--> y: <!--##y##--> z: <!--##z##--> tolerance: <!--##tolerance##--> z_alt: <!--##z_alt##--> z_matters: <!--##z_matters##--> speed: <!--##speed##--> use_speed: <!--##use_speed##--> effort: <!--##effort##--> display_rb: <!--##display_rb##--> locked: <!--##locked##--> heading: <!--##heading##--> heading_mode: <!--##heading_mode##-->
Convert .csv to .yml Setting Defaults
The program includes tools to set or modify the defaults. To set the defaults, start the program and click on the Show / Set / Save Defaults button.

Enter or select the values for the defaults for each piece of information listed.

If you want to reorder the waypoint data elements or specify columns to ignore, click on the Reorder Waypoint Data button.

This will bring up a list of the waypoint data elements. You can select an element and use the Move Up or Move Down buttons to achieve the order that matches your data. Any data elements that you do not plan to include in your data should be moved to the bottom and the columns for these data elements do not need to be included in your .csv file.
If your data includes columns that are not required by the .yml file format, you can specify that these columns should be ignored or not used. To designate that a column should be ignored and not used click on the Insert Unused Column button and then move the “Unused” column marker to the correct position to match you data. For example, if your data has a date in the first column, insert an Unused column marker and move it to the top of the list. If you no longer want to use the Unused column marker, you can remove it by selecting it and clicking on the Remove Unused Column button.
When you are finished reordering the data elements, click on the Update Waypoint Column Order button. If you decide you do not want to reorder the columns, click on the Close without Updating button.
At this point, the default values are enabled, but not saved. If you execute the conversion, the defaults will be used as assigned. However, tif you want to save these defaults for future executions of the program, click on the Save Defaults to File button. If you only want to use the defaults this one time, click on the Close without Saving to File button.