| As featured on... |
![]() |
You might also like NMEA/SiRF Compass. The coolest skinnable compass, GPS info display, time synchronizer, plus GPS log and playback through XPort.
Version 1.22
- 4/08/08: Fixed a MULTIPLE_IRP_COMPLETE crash under Vista.
Version 1.21
- 3/07/08: No more XPortA. Too much trouble. Big fix with
SERIAL_TIMEOUT parameters.
Now works with ShipPlotter.
How to use:
When starting XPort3, there will be no
window if it's currently installed. Just a tray icon (that's for rebooting
without any annoying popups when it starts). Double-Click on the tray icon to open the
configuration dialog.
Scan for your GPS or set the input manually if you already know, and set the outputs to a few unused COM ports, then hit
"Enable Ports" and it's ready to go. You may now close the
dialog. XPort will continue to run in the task bar and will start when Windows starts
(except under Windows Vista - See note below).
Just below the output ports is the log output. Enable the check mark to
start logging data from the GPS.
The device list at the bottom works much like DevCon, and is for devices that
have trouble with hibernation. Check only the devices you have trouble
with. XPort will stop the driver before hibernation, then
start after resume, then retry any driver that fails to start a few seconds
later. Use with
caution. Some devices may freeze XPort or fail to disable or enable.
Each device may add several seconds delay, so it may not be a good option to
use. You can test each device by disabling/enabling in Device Manager.
How to uninstall:
If XPort is running, uncheck "Enable Ports" and close the window, then
delete the XPort.exe file.
Notes:
Download
(by clicking this, you agree that you have at least glanced at the large
complicated instructions above, and you will in no way redistribute, make money
off of or use in any way other than for personal use)->
XPort.zip (24KB)
![]() |
// Example code for
sending data to XPort. You would really want to slow this
down. SendToXPort(1, NULL, 0); // Pause real GPS before sending for(;;) { Read( hFile, szString, 100, &dwLength ); if( dwLength == 0) break; SendToXPort(2, szString, dwLength ); // Send NMEA data } SendToXPort(0, NULL, 0); // Unpause real GPS when done sending
void SendToXPort(ULONG ulMsg, char *pszData,
ULONG ulLength) |