Instructions for updating firmware on Garmin GPS-15xH with the GPS installed in the glider The procedure involves switching the GPS to 9600 baud and Garmin binary mode, using the glider to transparently pass serial traffic between the GPS and the Garmin updater software, and resetting the GPS to default (4800 baud, NMEA output) configuration. Tools required: 1. Garmin updater software, 2. Windows PC with serial port to run Garmin updater software 3. Glider firmware that supports interpolated strings in direct comms and synthetic GPS at 9600 bps. A compatible glider.run is included in this package. Step 1. Switch GPS to 9600 baud Glider menu: hw/gps/direct addlf=1 This will open direct comms, enter two commands in direct comms: $PGRMC,,,,,,,,,,4,,,, $PGRMI,,,,,,,R this switches GPS to 9600 and then resets. After the PGRMI command the GPS resets at 9600 and the terminal should display nonsense. Ctrl-Q to exit direct comms. Step 1a. Configure glider to talk to GPS at 9600 Glider menu: param/config/gps change to Synthetic w/o PPS and choose 'Y' for Re-initialize. Synthetic uses 9600 baud in UW firmware builds. Step 2. Switch Garmin to binary mode Glider menu: hw/gps/direct addlf=1 In direct comms, you should see good data again with the baud rate set correctly. Now send two commands: $PGRMC1,,2, $PGRMI,,,,,,,R This configures binary mode and resets. After the reset you should see nonsense on the terminal as the GPS outputs binary data. Ctrl-Q to exit direct comms. Step 3. Update Garmin firmware Make sure everything else is ready. The following steps are time critical. Make sure that you have the Garmin update software running on a Windows PC and that you have a serial port and know the COM number of that port. Configure the Garmin software to use that port and 9600 baud. Glider menu: hw/gps/direct binary=1 seconds=540 In this mode, the glider will enter terminal mode for 9 minutes and will pass all data through to the GPS. The only way out of this mode is for the time to expire or the glider to reboot. Ctrl-Q will not exit direct comms in binary terminal mode. Once the glider enters terminal mode, disconnect the glider serial comms cable from its serial port and connect it to the port that the Garmin software is using. Or if using the same port, close the terminal program so that the Garmin software can use the port. In the Garmin software, Click OK and the process should start. If there is a problem the GPS might not be at 9600 baud (step 1) or in binary mode (step 2) or there might be a problem with comm port setup in the Garmin sotfware. The process should take 5-6 minutes. If there is any delay or problem getting started, it is possible for the glider terminal mode to timeout (9 minutes). In that case the glider turns the GPS off and stops passing serial communications so the Garmin software will report an error that it cannot communicate with the device. You will need to reconnect the glider serial comms cable to a terminal, and reissue Glider menu: hw/gps/direct binary=1 seconds=540 move the serial cable back to the Garmin software and restart the update. IOP experience is that when an update fails partway through the process because of the glider resetting the power, that retrying the update will work, but we do not know if this will always be true. It seems possible that a failed update will brick a unit. Use caution and give yourself plenty of time. If something happens and you do not get the process started, do not just keep trying without getting back to the glider menu to reset the 9 minute timer. Step 4. Reset the Garmin settings Once the update is successful and complete move the glider serial comms cable back to the glider. You might need to wait for the 9 minute timer to expire before the glider returns to the menu. Once you are back at the menu you need to reset the Garmin to the regular glider settings. Glider menu: direct string="%9%9%9%9%9%9%9%9%$10%$0A%$02%$26%$00%$CE%$10%$03" addlf=1 This sends the binary sequence of hex bytes that tells the Garmin to exit binary mode and allows you to type commands. Once direct comms start you should see some nonsense but then regular GPS data should start. If regular GPS data does not start, exit direct comms with Ctrl-Q and try the command again. Be careful to type it correctly or if you cut and paste be careful that the paste copies all characters correctly. Once in direct comms with regular GPS data showing, issue three commands $PGRMC1,,1 $PGRMC,,,,,,,,,,3,,,, $PGRMI,,,,,,,R After the reset, the terminal should show nonsense as now the baud rates will not match. Ctrl-Q to exit direct comms Glider menu: param/config/gps Choose Garmin-15 and 'Y' to re-initialize the hardware. Step 5. Test and confirm Glider menu: hw/gps/direct to verify that the baud rate is correct and that output is NMEA. Ctrl-Q to exit direct comms Glider menu: hw/gps/version to verify that version is now updated to 4.30. The units we have updated seem to be corrected right away. One user needed much longer. You may need to let the GPS run for up to one hour with the GPS getting good signal for the date to update correctly. You may also need to turn the glider and GPS off for 12 hours to let all capacitors drain and RAM to reset on the GPS for new ephemeris to be downloaded and applied correctly.