The Swift Console is a Graphic User Interface (GUI) for controlling, monitoring and visualizing data from Swift Navigation products. It displays information and allows you to adjust the settings on your hardware. Swift Console can communicate with receivers over serial (RS-232 or USB) or Ethernet interfaces and is available for Windows, Linux and OSX computers.
Refer to Swift Console Installation for program installation instructions.
Starting Swift Console
To start the Swift Console double-click on Swift Console icon on the desktop or select it from the programs or applications menu.
When Console is started without parameters it first displays a “Select Piksi Interface” window.
Select a communication interface and its parameter, then press OK button to connect with the device.
Swift Console can be started and connected before the Swift Navigation device has completed it booting process only if RS-232 interface is used. If USB or Ethernet is used, wait for the device complete booting before starting the Console. Swift Console can also be started with a command line parameters to select interface, enable logging, etc. See Appendix A at the end of this guide for details.
Navigating the GUI
The Swift Console window is divided into four sections as shown on the picture below.
- Title Bar: Displays the Swift Console software version and connection details. Once connected, the communications interface and last six digits of the device serial number are displayed.
- Main Window Tabs. Provides visualization of device data through a series of tabs (described in the the “Main Window Tabs” section).
- Console Logging Control: Displays text messages from the device and Console itself and enables user to start and stop logging:
- Press CSV Log button to start recording data from the device in Comma Separated Values (CSV) files. Three CSV files will be saved: baseline, position and velocity.
- Press JSON Log button to start recording data from the device in JSON format. For any operation and performance analysis Swift will require a JSON log of the event.
- CSV and JSON logs are saved in the folder specified. Press folder button to select a different place to save logs or type it in the folder field.
- Data recording is indicated by depressed button. Press the same button again to stop recording.
- Status Bar. It contains interface information, solution type, number of satellites used in the solution, base station data latency and Device UUID number. Blue icon on the right indicates an active device connection.
The Title Bar, Logging Control and Status Bar are always visible regardless of tab selected.
Main Window Tabs
Along the top of the Swift Console window, there are several tabs. When clicked, these tabs provide different views which display device data and controls.
- Tracking - displays which satellite signals your device is tracking.
- Solution - displays information regarding the absolute position of your device.
- Baseline - displays information regarding the high-accuracy RTK position solution of your device.
- Observations - displays the GNSS observation data of the local and remote devices
- Settings - provides controls to view and modify the settings of your device
- Update - provides controls to retrieve and update device firmware and Swift Console
- Advanced - provides a few specialized functions for advanced users (System Monitor, IMU, Magnetometer, Networking)
- Skylark - provides the unique device UUID information required for skylark activation
Tracking Tab
This tab shows the satellite signals being received (tracked) by the Swift Navigation device.
Graph Description
Each signal is represented by a colored line on the graph, and the line's position on the graph represents the strength of the satellite's signal over time. The x-axis is the time and the y-axis is Carrier to Noise Ratio (C/No), in dB-Hz, which is the signal strength of the satellite. The most recent time is on the right hand side and the graph scrolls to the left. The higher the value on the y-axis, the stronger the signal.
Solution Tab
This tab shows the device's absolute position, which is the device’s location on Earth (latitude, longitude, and altitude/height).
Note: The RTK absolute position of the rover will not be shown unless the base station has entered and is broadcasting its surveyed position.
Graph Description
The Latitude parameter graphed on the vertical axis describes the angular distance north or south of the Earth's equator, in decimal degrees. The Longitude parameter graphed on the horizontal axis describes the angular distance east or west of the Prime Meridian, in decimal degrees.
This graph shows the position solution of the device. The solution type is indicated by color:
- SPP - blue
- SBAS - green
- DGPS - cyan
- RTK float - purple
- RTK fixed - orange
During operation, each receiver will automatically output its single point position, represented as blue points on the graph. The Console will also render an orange line when RTK fixed position is available from the device. An RTK fixed Position Solution is a high precision GPS position solution, with an accuracy of a few centimeters. The blue dots will have less precise positions and will therefore appear as a noisy cluster around the orange RTK fixed line.
Table Description
The table on the left side of the Solution tab displays various metrics regarding the state of the position solution:
Label | Item | Description of Values [units] |
GPS Week | GPS Week | Gives the number of whole weeks since the first epoch. |
GPS TOW | GPS Time of Week | Gives the number of whole seconds since the beginning of the week. |
GPS Time | GPS Time | Displays the current GPS time. |
UTC Time | Universal Time Coordinated | Displays the current UTC time |
UTC Src | UTC Offset Source | Displays the source of UTC time offset |
Sats Used | Number of Satellites | Shows the number of satellites Piksi is tracking. |
Lat | Latitude | Represents the angular distance north or south of the Earth's equator. |
Lng | Longitude | Represents the angular distance east or west of the Prime Meridian. |
Height | Height (Altitude) | Represents height [meters]. |
Horiz Acc | Horizontal accuracy | Estimated horizontal accuracy [meters] |
Vert Acc | Vertical accuracy | Estimated vertical accuracy [meters] |
Pos Flags | Position Flags | Describes current solution mode. 0x02 : DGPS 0x03 : RTK float 0x04 : RTK fixed. |
Pos Fix Mode | Position Fix Mode | SPP / DGPS / RTK Float / RTK Fixed |
Vel. N | Velocity North | Represents the device’s Northern velocity [meters per second]. |
Vel. E | Velocity East | Represents the device’s Eastern velocity [meters per second]. |
Vel. D | Velocity Down | Represents the device’s vertical "down" velocity [meters per second]. |
Vel Flags | Velocity Flags | Describes velocity mode. 0x00 : invalid 0x01 : Measured Doppler derived 0x02 : Computed Doppler derived |
PDOP | Position Dilution of Precision | Describes the relationship between the error in the device’s position and the error in satellite position. |
GDOP | Geometric Dilution of Precision | Describes relationship between changes in output position and changes in measured data. |
TDOP | Time Dilution of Precision | Represents the measurement of position accuracy through clock offset. |
HDOP | Horizontal Dilution of Precision | Represents the measurement of position accuracy through two horizontal coordinates. |
VDOP | Vertical Dilution of Precision | Represents the measurement of position accuracy through height. |
DOPS Flags | Dilution of Precision Flags | Indicates the position solution with which the DOPS message corresponds. 0x000 : Invalid 0x001 : Single Point Position (SPP) 0x002 : Differential GNSS (DGNSS) 0x003 : Float RTK 0x004 : Fixed RTK |
Buttons Description
Button | Function |
Pause | Pauses the output of position solutions on the graph. |
X | Erases previous plotted position solutions and starts over plotting new position solutions. |
Full Screen | Encompasses all position solutions to be displayed on the graph. |
Center Piksi | Centers the current position solution on the center of the graph. |
Baseline Tab
This tab shows the relative RTK vector between the base station and a rover.
Graph Description
This graph will show the base station as a red cross, the rover as an orange cross, and the path of the rover as blue dots.
- Within Swift Console, the receiver that is connected to the Console is always the rover and the unit not connected to the Console is always the base.
- The base is always considered to be at coordinate [0,0].
- The rover position data is a relative vector between the base and the rover, given as a distance North (graphed on the vertical axis, in meters), East (graphed on the horizontal axis, in meters), and Down (not graphed).
Table Description
The table on the left side of the Baseline tab displays various metrics regarding the state of the Piksi RTK system:
Label | Item | Description of Values [units] |
GPS Week | GPS Week | Gives the number of whole weeks since first epoch |
GPS TOW | GPS Time of Week | Gives the number of whole seconds since the beginning of the week |
GPS Time | GPS Time | Displays the current GPS time. |
UTC Time | Universal Time Coordinated | Displays the current UTC time |
UTC Src | UTC Offset Source | Displays the source of UTC time offset |
N | North | Displays the north-south relative offset between the base and rover modules of the RTK system [meters]. |
E | East | Displays the east-west relative offset between the base and rover modules of the RTK system [meters]. |
D | Down | Displays the up-down relative offset between the base and rover modules of the RTK system [meters]. |
Horiz Acc | Horizontal accuracy | Estimated horizontal accuracy [meters] |
Vert Acc | Vertical accuracy | Estimated vertical accuracy [meters] |
Dist. | Distance | Displays the distance between the base and the rover antennas [meters]. |
Sats Used | Number of Satellites | Gives the number of common satellites that both modules of the RTK system are simultaneously tracking. |
Mode | Fix mode | Invalid / DGNSS / Float RTK / Fixed RTK |
Flags | Flags | Debug |
Corr. Age [s] | Correction Age | Time elapsed since the last correction data received [seconds] |
Button Descriptions
The first four buttons are described in the Solution Tab section. The remaining button on the right side of the Console is described below:
Button | Function |
Reset Filters | Resets both the "float filter" and the "integer ambiguity test filter". |
Observations Tab
This tab displays raw GPS observation data in numerical form. The upper table shows data measured by the local device (the one connected directly to your computer). The lower table shows data received from the remote device - usually the base station.
Table Description
Each table corresponds to a device in your RTK system. The columns are as follows:
Label | Item | Description of Values [units] |
PRN | Pseudo Random Noise code | Represents the Pseudo Random Noise code, which is the unique identifier of each satellite. |
Pseudorange (m) | Pseudorange | Displays the raw measurement of the range to the satellite (uncorrected for clock error), measured in meters. |
Carrier Phase (cycles) | Carrier Phase | Displays the raw value of the offset of the wavelengths from a nominal value, measured in wavelengths (cycles). |
C/N0 (dB-Hz) | Carrier to Noise Ratio | Gives the carrier to noise ratio, measured in dB-Hz. |
Meas. Doppler (Hz) | Measured Doppler | |
Comp. Doppler (Hz) | Computed Doppler | |
Lock | Lock Timer | This value gives an indication of the time for which a signal has maintained continuous phase lock. |
Flags | Flags |
Settings Tab
This tab lets you customize various settings of your Swift Navigation device to suit your application. If you change any value in this section, the change will only apply while the device remains powered, unless you save the changes to the flash. Settings can be saved to memory by pressing the "Save to Device" button near the top of the screen.
Clicking any setting on the table to the left on the tab will bring up a description in the right side of the Console. A complete list of the settings - with descriptions - can be found on Piksi Multi Specification page.
Button Descriptions
The buttons on the right side of the Swift Console are described below:
Button | Function |
Save to Device | Saves current set of settings in memory to the persistent storage flash media on device so the configuration will persist between reboots. |
Export to File | Exports the complete set of device settings to a configuration file in the .ini format. Note, this will export ALL the settings (even those that are read-only). The file should be hand edited to include only the settings of interest for the application and remove any irrelevant or read-only settings if used to configure the device through the “Import from a file” button. |
Import from file | Imports a saved .ini file of device settings. Any errors in the chosen file will abort the operation. It is important to make sure the imported file includes only settings of interest for the intended application. All settings in the file must exist and be writeable to the values in the file for the operation to succeed. Upon success, user will be prompted to choose whether to save settings to device. Read-only settings can be imported without error provided the values in the imported file match exactly the current values. |
Reset to Defaults | Erases all settings and resets the device to factory defaults. |
Auto Survey | Computes approximate location of the receiver by averaging last 1000 position solutions and stores the resulting values to the Surveyed Position section. |
Refresh Device Settings | Thus button re-sends the query to discover all settings from device and their current value. Use this button to recover from a situation where the settings table is blank or you wish to confirm the value of a setting. |
Show Advanced Settings | Some settings are not intended for typical user interaction with the device and are only visible when the “Show Advanced Settings” checkbox is checked. |
Update Tab
Swift Navigation periodically releases software updates to add features and improve performance. In this tab, you can check if you have the latest version of Swift Console and device firmware. If the firmware on your device is out of date, the Swift Console will automatically prompt you to download and install the latest files.
If you need to update your firmware or Console, follow the instructions here:
Advanced Tab
Additional options for advanced users are detailed below.
- System Monitor - displays overall performance and health of your system.
- IMU - displays raw data from the device’s IMU
- Magnetometer - displays raw data from the device’s magnetometer
- Networking - presents options for UDP streaming
System Monitor
The System Monitor tab displays device system information (CPU and memory utilization), observation latency, and diagnostic information for the communication interfaces.
The Reset Device button restarts the device and has the same function as the RST button on the Piksi Multi Evaluation board.
IMU
The IMU tab displays the raw data from device’s onboard IMU.
Magnetometer
The magnetometer tab displays the raw data from device’s onboard magnetometer.
Networking
The Networking tab displays configuration options for UDP Streaming.
UDP Streaming - Broadcast SBP information received by the Console to other machines or processes over UDP. With the Observations radio button selected, the Console will broadcast the necessary information for a rover device to achieve an RTK solution. This can be used to stream observations to a remote device through aircraft telemetry via ground control software such as MAVProxy or Mission Planner.
Appendix A - Swift Console Command Line Options
usage: console [-p PORT] [-b BAUD] [-v] [-f] [-l] [-r] [-o LOG_DIRNAME]
[--logfilename LOGFILENAME] [-a APPEND_LOG_FILENAME]
[--file] [-d TAGS] [-t] [-i INITLOGLEVEL] [-u]
[--toolkit TOOLKIT] [--error] [--log-console]
[--skylark SKYLARK] [--serial-upgrade] [-h]
optional arguments:
-p PORT, --port PORT specify the serial port to use.
-b BAUD, --baud BAUD specify the baud rate to use.
-v, --verbose print extra debugging information.
-f, --ftdi use pylibftdi instead of pyserial.
-l, --log serialize SBP messages to autogenerated log file.
-r, --reset reset device after connection.
-o LOG_DIRNAME, --log-dirname LOG_DIRNAME
directory in which to create logfile.
--logfilename LOGFILENAME
filename to use for log. Default filename with date
and timestamp is used otherwise.
-a APPEND_LOG_FILENAME, --append-log-filename APPEND_LOG_FILENAME
file to append log output to.
--file Read with a filedriver rather than pyserial.
-d TAGS, --tags TAGS tags to decorate logs with.
-t, --tcp Use a TCP connection instead of a local serial port.
If TCP is selected, the port is interpreted as
host:port
-i INITLOGLEVEL, --initloglevel INITLOGLEVEL
Set log level filter.
-u, --update don't prompt about firmware/console updates.
--toolkit TOOLKIT specify the TraitsUI toolkit to use, either 'wx' or
'qt4'.
--error Do not swallow exceptions.
--log-console Log console stdout/err to file.
--skylark SKYLARK key value pairs to pass to sbp_relay_view initializer
for skylark
--serial-upgrade Allow software upgrade over serial.
-h, --help Show usage help in a GUI popup.