Probably also works on most Handheld PC 2000 running Windows CE 3.0,
PNA or AIO (All In One) systems running Microsoft Windows CE 4.0 / 4.2 / 5.0 Core Version and Smartphone.
SirfTech may not be bundeled with other software, included on CDs etc,
linked to from other web sites or made available for download elsewhere.
Link to this page instead.
History
6 January 2006, version 1.0
First release of SirfTech version 1.0. So far only tested on my own Yakumo Delta 300 GPS.
17 January, version 1.02
Two users, Asimakis and Derek, have reported problems using
SirfTech with Bluetooth connected Globalsat BT-338 GPS.
More debug messages.
Find GPS would hang on com ports with settable timeouts.
Verified on my Yakumo Delta 300 GPS, USB port and Asimakis' Dell Axim X50v, Native IR port.
Fixed 2006-01-17.
18 January, version 1.03
Only com ports supporting all baudrates from 1200 to 115200 could be opened.
Bluetooth, I think typically supporting only 38400 obviously suffers from this.
Fixed 2006-01-18.
5 February, version 1.05
Found a reason for Bluetooth problem.
There is actually an error in the Bluetooth driver.
It reports dwMaxBaud and dwSettableBaud as BAUD_128K.
That's not helpful when I try to be nice and not use unsupported baudrates.
Coded a work-around showing a message box about the
faulty driver and allow opening the port anyway.
11 March, version 1.07
SirfTech is now more tolerant to communication errors.
A status message is printed with number of received bytes and errors
when manually opening a port and no protocol is detected.
Optional logging of received data to file.
Sending of freely composed NMEA messages. Can be used for tweaking NemeriX.
Additional command sent for 'Get' SBAS. May work for GSW3.
21 March, version 1.08
New 'Find Baud' function.
Improved communication multitasking.
For Bluetooth, I am now hopeful but not sure if 'Find Port & Baud', 'Find Baud', 'Get' and 'Set' commands work.
9 April, version 1.12
Display satellite signal strength and status.
Log files can now be freely named and placed.
SiRF 'Get' functions are automatically executed when property sheet page is displayed.
Improved 'NAcknowledgment' handling.
Find more comm port friendly names.
Avoid endless "Buffer Full" messages in certain conditions.
Remove PurgeComm call which caused errors on some ports.
Avoid some 'WriteFile 1' error messages.
There has been reports of problems for GlobalSat SD-502 and
Asus MyPal A632/A636 using other baudrates than the default 4800.
Now when default baudrate for a port is not the usual 9600:
- 'Find Port & Baud' and 'Find Baud' will only open port at the default baudrate.
- 'Open' port and switching protocol at another baudrate gives a confirmation message box.
Might benefit Bluetooth ports aswell.
10 April, version 1.13
Now this version even works. :-)
22 April, version 1.15
Fixed mistake with com port friendly names in v1.13.
Now works with Asus MyPal A632/A636 at other baudrates than 4800.
Now when default baudrate for a port is not the usual 9600:
- 'Find Port & Baud' and 'Find Baud' will open port at any baudrate.
- 'Open' port at another baudrate gives no confirmation message box.
Remember last used NMEA and SiRF baudrate.
Now works with NMEA sentences without checksum.
Main screen shows somewhat cryptic receive time for SiRF messages.
8 June, version 1.16
Drastically improved SiRF binary message receiving when characters are lost
because of bad communication.
New option to open serial port with default unspecified baudrate.
Comm dialog displays number of received messages, bytes, bad bytes, errors
and effective baudrate for troubleshooting communication problems.
Corrected SiRF, Advanced Power Management, Timing Priority options.
Removed warnings for too much power saving for Advanced Power Management,
Low Power and Trickle Power update intervals < 10 s.
It made setting back to less power saving more difficult.
Display live On-Time, Off-Time and UTC in Trickle Power and Advanced Power Management
dialogs to improve understanding of settings.
Display live UTC on Switch to NMEA dialog to see when switch has been done.
Remember last used Switch to NMEA, Message Update Rates.
New SiRF dialog Set Message Rate for setting any message's update rate,
turn on/off and displaying which messages are received.
Display message id 29 Nav.Lib. Differential GPS Data in SiRF main screen
if activated in Set Message Rate dialog. What is IOD = Issue Of Data?
Display fix type including DGPS in main NMEA and SiRF screens.
Display list of satellite numbers including SBAS 120-138 in SiRF main screen.
Improved handling of unknown NMEA messages and GSW3 PSRFTXT messages.
Adjusted long scroll lists to fit in landscape mode.
12 July, version 1.17
Optimised baudrate find function.
Cleaned up NMEA main screen display.
Display list of satellites in NMEA main screen.
Display message 27 DGPS Status in SiRF main screen.
Display aproximate northing and easting in meters instead of latitude and longitude in SiRF main screen.
Added SiRFstarIII Evaluation Kit User Guide to recommended reading in help screen.
Made 'Find Port & Baud', 'Find Baud' and 'Open' passive.
I.e. not transmitting poll requests for quicker protocol detection.
Might make SirfTech work with Nokia LD-3W. (It didn't).
29 July, version 1.18
Display DGPS corrections from message id 29 not just for one satellite but for all with available corrections.
Go to 'Set Message Rate' property sheet.
Disable message id 27 and enable message id 29 to display corrections for GSW3 properly.
Display live 'Time of Week' value on 'Initialize Data Source' property sheet to make it clear when a Set command has taken effect.
29 September, version 1.19
Display baudrate announced by SiRF chip at restarts in NMEA mode in the Comm dialog.
Changed from property sheet to popup menus for SiRF dialogs.
Combined About and Help dialogs and display at startup to reduce number of popup menus.
Display in SiRF main screen:
EstimatedVerticalPrecisionError
EstimatedHorizontalVelocityError
HeadingError
ClockBiasError
ClockDriftError
Distance
DistanceError
EstimatedTimeError
On my GPS only EstimatedVerticalPrecisionError shows live values.
The others will be removed unless I get reports on them being live items on other firmware versions.
Removed display of DGPS status in SiRF main screen. Will move it to a DGPS dialog.
15 October, version 1.20
Adjusted some dialogs and scrollbars for Windows Mobile 2003 SE square screens and VGA screens.
Moved display of MID 27 and MID 29 DGPS status to DGPS Source dialog.
Enable these messages as needed in the 'Set Message Rate' dialog.
13 November, version 1.21
New NMEA dialogs: Navigation Initialization, Set Message Rate, Development Data, Select Datum and Set Serial Port.
NMEA debug and unknown messages removed from main screen and displayed in dialogs instead.
Easier changing of Pocket PC baudrate directly in protocol change dialogs.
Automatic opening of com port on program start.
Removed dead SiRF values from main screen.
Corrected display of SBAS Get parameters.
Show live MID 50 SBAS Status and MID 4 Measured Tracking Data in SiRF SBAS dialog.
Fatal crashes after com port open on some devices.
Reported for Loox N560, Loox T830, Mio P350 and Mio A201.
14 November, version 1.22
Removed automatic opening of com port on program start.
18 November, version 1.23
Made dialog handling more robust by avoiding use of invalid dialog handles.
19 November, version 1.24
Avoid concurrent write to registry from two threads.
20 November, version 1.25
Reinstalled automatic opening of com port on program start.
Disabled parsing of NMEA debug and unknown messages.
Doesn't crash anymore.
21 November, version 1.26
Reinstalled corrected parsing of NMEA debug and unknown messages into NMEA dialogs bottom grey text box.
A big thanks to everyone submitting error reports and offering debugging help. Thanks.
5 December, version 1.27
Two updates for SiRF Star IIe/LP firmware version 231.000.000ES with incomplete mid41 data:
- SiRF main screen fix data now taken from mid2 instead of mid41.
- SiRF UTC seconds faked from mid2 time of week if mid41 UTC hour is zero.
8 January 2007, version 1.28
Changed SiRF SBAS dialog live MID 4 Measured Tracking Data State
from decimal to hex display as in SiRF main page.
30 January 2007, version 1.30
Ignore a number of serial port interface errors and announced missing functionality and just try and use the serial port anyway.
Introduced extra Sleep(2000). Test for HTC Artemis P3300.
Calculate sun and moon positions.
15 February 2007, version 1.31
Removed extra Sleep(2000).
Try and receive characters at any serial event except errors.
Thanks to Nick Tcholakov for the programming tip.
He had the same problem communicating with a HTC Artemis P3300.
20 February 2007, version 1.32
Improve sharing of comm port.
Try polling serial port for received characters instead of event driven reception.
23 March 2007, version 1.32
Replace MID 50 SBAS Status with list of SBAS SVs with azimuth and elevation in SiRF SBAS dialog.
16 November 2007, version 1.32
Display polar plot of visible SBAS SVs, sun and moon in SiRF SBAS dialog.
New dialog 'Graph' for scaling 10 data sources for graphs displayed as an alternative to main screen text output.
Help buttons in NMEA, Set Serial Port and SiRF, Switch to NMEA Protocol dialogs
telling the risks of choosing unsuitable baudrates when switching protocol.
No preselection of baudrate to switch protocol to.
Removed "This baudrate might not be safe to use." message.
Eliminate 'Readfile' error message when closing program or serial port.
Added satellite elevation on SiRF main screen.
Added version information to SirfTech.exe file.
11 January 2008, version 2.0
Added Zero and Save buttons in Graph dialog.
Added text "SirfTech is no longer freeware." etc. in About dialog.
Reinstated preselection of baudrate to switch protocol to but only when previous switch was successful
or a baudrate was detected from restart PSRFTXT message.
Display number of received NMEA and SiRF messages separately in comm dialog.
Removed confusing display of "bad bytes" in comm dialog.
Replaced NMEA longitude and latitude reporting with northing and easting.
Added GAGAN PRN 128 on list of possible SBAS to show on visible list.
15 January 2008, version 2.0
Selectable Time Scale for graphs.
18 January 2008, version 2.0
More Time Scales for graphs.
Corrected position of GAGAN PRN 127 for SBAS visible list.
Corrected graph grid positioning when resuming.
20 January 2008, version 2.0
Removed "Default" baudrate option.
Display polar plot of visible SBAS SVs, sun and moon in SiRF SBAS dialog also when receiving NMEA.
I will try to outline in reasonable detail how I would go about turning off static navigation on an unknown Smartphone.
At first start of SirfTech the about dialog is displayed. Close it with the OK button.
Next you need to get communication to work between the GPS chip and SirfTech.
Use menu NMEA, Communication to open the Communication dialog.
If you know which com port the GPS is connected to, select that port else use the 'Find Port & Baud' button.
If you know at which baudrate the com port can receive data from the GPS correctly select that baudrate else use the 'Find Baud' button.
If you selected the correct com port it should show by an incrementing received bytes counter.
If also the baudrate is correct you should also see the NMEA or SiRF or even both message counters incrementing.
Only now if you are receiving messages you can actually use SirfTech to do anything useful else you can only look at the menus and dialogs. Exit the communication dialog.
For starters you can observe incoming GPS data in the main screen. You can also switch to the graph screen to see trends of various data.
Next would be to try if it is possible to execute some command to the GPS in the protocol it is currently running. That is if the NMEA message counter is incrementing, only commands on the NMEA menu will work and if the SiRF message counter is incrementing, only SiRF menu commands will work. Communication and Graph dialogs are of course independent of protocol.
For now I assume the GPS is outputting data using the NMEA protocol. Most devices do so by default.
Use menu NMEA, Navigation Initialization. With the radio button 'Snap Start' marked use the Set button to send the command to the GPS chip. If successful the GPS chip will output some information text that is parsed by SirfTech to populate the empty text boxes. Executing a snap start restarts the GPS chip program in the same way as turning the power off and on. A hotstart is the same only that it is the same as having the power turned off for a longer time, I guess some minutes. If you don't get any reaction from a snap start, it might not be impemented in the chip, try a hot start. If you do get a reaction, go to the read only edit box at the bottom of the dialog. Scroll down the text to find a baudrate. This is valuable information for safely switching protocol later.
To be able to switch static navigation off on a SiRF GPS chip, it has to be using the SiRF binary protocol. Switching protocol on a SiRF GPS chip unfortunaltly means that you also have to specify a baudrate to be used by the GPS chip when restarting using the new protocol.
Even more unfortunat is that some GPS devices or rather communication channels don't support all possible baudrates that the chip can be set to use. Bluetooth devices as an example typically support only 38400 baud so switching protocol on one of these to another baudrate then 38400 will cause loss of communication. You cannot receive proper data and you cannot send any command to rectify it. All data in both directions is garbled by the incorrect baudrate. To get such a device back in working order can mean leaving it to discharge internal batteries until a reset to default settings occur after maybe weeks of waiting.
Use menu NMEA, Set Serial Port. The protocol is by default selected to SiRF protocol. If a previous snap start resulted in a text with a baudrate being output and correctly picked up by SirfTech, that baudrate should now already be selected and safe to use.
On some devices you can open the com port at any baudrate and still receive correct data. This means that you cannot trust that the baudrate selected for the com port is the same as the baudrate the GPS chip is using. If on the other hand you can receive proper data only when opening the com port at one specific baudrate that baudrate should be safe to use and probably other baudrates to but I would not bet on the others.
If you did not get an indication of a safe baudrate I recommend not going further. You would not want to be the first to find out if your device can handle only one baudrate. Search the internet to find out more.
If you are confident enough to go on, use the Set button to send the command. If successful the NMEA time should stop incrementing. If using a low baudrate like 4800 and SiRF binary protocol it could take 30 seconds before responding to commands. It works but with slow response. If the selected baudrate was the same as the com port was opened with the SiRF time should start incrementing. If not, use the =Baud button to adjust the com port baudrate.
Now assuming the GPS is already outputting data using the SiRF protocol.
Try menu SiRF, Poll Software Version. Opening a SiRF dialog actually activates the Get button automatically to send a command to the GPS chip to read the current value of settings. In case there is no response try using the Get button manually.
Having gotten this far successfully, you can go on to the SiRF, Static Navigation dialog. Uncheck the checkbox and use the Set button to send the command to turn off static navigation. Check the checkbox and use the Get button to verify.
Observing the main screen speed and direction numbers (or the bottom two graphs) after getting a fix indicates very clearly if static navigation is on or off.
For switching back to NMEA protocol using the SiRF, Switch to NMEA dialog, the same precaution regarding using a known safe baudrate applies. Don't try it if you are not sure.
If the GPS was using NMEA before it is very likely that your other programs using the GPS output must have the GPS chip back to NMEA protocol at the same baudrate as before to work.
Best Regards
Dennis Gröning