Manage GT-730FL-S using GPSBabel on Mac OS X



# Intro
I'm using a GPS logger GT-730FL-S. It is handy and was easy to get. But it doesn't bundle any utility tools for Mac OS X.
The [GPSBabel](https://www.gpsbabel.org/), a open source GPS data management tool, supports GT-730FL-S as a SkyTraq compatible device. It can manage the GPS data on the device, as well as the device configurations.
This post explains how you can manage your GT-730FL-S device using GPSBabel.

# Software versions
* Mac OS X 10.10
* GPSBabel (built from source)

Since the latest GPSBabel (1.5.3) has an issue , I needed to fix it and build the tool from the source code. This post is based on the locally modified code. You'll need to wait for my patch would be merged into the latest release.
**[Updated on 2019-12-29] [My patch](https://github.com/gpsbabel/gpsbabel/pull/41) has been merged into the branch, and the issue is no longer available on the latest binary. Now you don't need to build it from source code, instead you can get the pre-build binaries from the GPSBabel official page.**


# Install USB Serial driver
The GT-730FL-S has an USB connector, but its logical interface is a serial port. You need an USB serial driver to connect it to your Mac and communicate with.
I'm using [PL2303](http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41) driver to connect my GT-730FL-S to my MacBook.

# Command samples

## Check the device file
If you plug your GT-730FL-S into your Mac and turn the power on, it will be mounted as a device file. You can check the device file as follows.

```sh
ls /dev/cu.*
/dev/cu.usbmodem1421
```

If you would see multiple device files in the output, please try the following command one by one. You'll find a device file which would work.

```sh
./gpsbabel -i skytraq -f /dev/cu.<foo> 
Failed to open port (Resource busy)
skytraq: Can't open port '/dev/cu.<foo>'
```

If you won't see any device files with the ``ls /dev/cu.*``, or all ``/dev/cu.*`` won't work, please check the followings.

* Please make sure you installed the USB driver correctly.
* You plugged your device into your Mac.
* You turned the power of the device on.

In the following sections, let's assume ``/dev/cu.usbmodem1421`` as the device file for your GT-730FL-S.

## Check the current status of the device
You can specify debug level as ``-D`` parameter. If you set it to 1, you can see the current status of the device.

```sh
./gpsbabel -D 1 -i skytraq -f /dev/cu.usbmodem1421
GPSBabel Version: 1.5.3 
options: module/option=value: skytraq/erase="0" (=default)
options: module/option=value: skytraq/baud="230400" (=default)
options: module/option=value: skytraq/initbaud="0" (=default)
options: module/option=value: skytraq/read-at-once="255" (=default)
options: module/option=value: skytraq/first-sector="0" (=default)
options: module/option=value: skytraq/last-sector="-1" (=default)
options: module/option=value: skytraq/no-output="0" (=default)
skytraq: Probing SkyTraq Venus at 9600baud...
skytraq: Venus device found: Kernel version = 1.101.101, ODM version = 2.218.3, revision (Y/M/D) = 13/09/16
#logging: tmin=6, tmax=3600, dmin=0, dmax=10000, vmin=0, vmax=65535
skytraq: Device status: free sectors: 476 / total sectors: 510 / 7% used / write ptr: 148362
skytraq: Reading log data from device...
skytraq: start=0 used=35
skytraq: opt_last_sector_val=-1
skytraq: Got 17443 trackpoints from 35 sectors.
cet_util: Converting from "UTF-8" to "US-ASCII", done.
```

See below sections for what you can find in the output.

#### Device version
```sh
skytraq: Venus device found: Kernel version = 1.101.101, ODM version = 2.218.3, revision (Y/M/D) = 13/09/16
```

#### Logging config
```sh
#logging: tmin=6, tmax=3600, dmin=0, dmax=10000, vmin=0, vmax=65535
```

#### Storage usage
```sh
skytraq: Device status: free sectors: 476 / total sectors: 510 / 7% used / write ptr: 148362
skytraq: Reading log data from device...
skytraq: start=0 used=35
skytraq: opt_last_sector_val=-1
skytraq: Got 17443 trackpoints from 35 sectors.
```

## Update logging config
You can change the logging config as follows. The value should be in the ``tmin:tmax:dmin:dmax`` format.

```sh
./gpsbabel -i skytraq,configlog="10:3600:0:10000" -f /dev/cu.usbmodem1421
```

Then, you can check the updated config as follows.

```sh
./gpsbabel -D 1 -i skytraq -f /dev/cu.usbmodem1421 | grep logging
GPSBabel Version: 1.5.3 
#logging: tmin=10, tmax=3600, dmin=0, dmax=10000, vmin=0, vmax=65535
```

### How the ``tmin:tmax:dmin:dmax`` works?
It specifies the interval of the logging. The GT-730FL-S will record a new trackpoint if at least one of the following conditions would be satisfied:

* More than ``tmax`` seconds passed after the last trackpoint.
* You moved more than ``dmax`` meters in distance since the last trackpoint.
* More than ``tmin`` seconds passed after the last trackpoint, AND You moved more than ``dmin`` meters in distance since the last trackpoint.

## Download GPS data as a file
You can download GPS data on the device as a file. In the following example, it will be downloaded as a GPX file (raw.gpx).

```sh
./gpsbabel -i skytraq -f /dev/cu.usbmodem1421 -o gpx -F raw.gpx 
```

* -o : The output data format.
* -F : The output file name. 

You can use other format as well. For the list of supported format, please refer to [Chapter3. The Formats](https://www.gpsbabel.org/htmldoc-development/The_Formats.html) in the GPSBabel Main Doc.

## Clear GPS data on the device
You can clear the GPS data on the device as follows. Please note that **you can't undo this command**. Please use it carefully.

```sh
./gpsbabel -i skytraq,erase,no-output -f /dev/cu.usbmodem1421
```

* erase : Erase the data on the device.
* no-output : Won't write the GPS data to anywhere.