The firmware below only supports 1000m SG and SGX vehicle configurations.
We recommend making backup copies of your existing firmware and non-volatile configuration memory (parameters, etc.) on the glider before making any updates.
This procedure assumes that you can put files on the glider microSD card. This can be done either with physical access to the motherboard, removing the card, copying files and re-installing the card or via serial transfer with pdos xr and yr commands. The latest scicon and glider firmware use ymodem to exchange files. Older systems use xmodem. If you are updating from old style to new style firmware, you should do the scicon firmware first or you might get into a case where the glider is speaking ymodem and the scicon is speaking xmodem. If you have a scicon connected to your Rev E glider you must follow steps 1 and 2 to update scicon before you update glider FW. 1. Install the new scicon bootloader (if you have a scicon) a. Copy the files "gnicl.bin" and "iap_F4_gnicl.bin" onto the scicon uSD card. You can take the uSD card out of scicon or use hw/loggers/sc/put name=gnicl.bin, etc. to transfer files from glider uSD to scicon uSD. b. Reinstall the uSD card into scicon (it if was removed) c. Boot the glider (if the card was removed) d. Go to direct comms with scicon hw/loggers/sc/direct e. at the scicon > prompt do > flash boot iap_F4_gnicl.bin f. exit to the bootloader, > quit then hit enter as soon as you see '#' to go to bootloader mode. If you miss it, don't worry, wait for the scicon to boot and try again. g. Select 'A' to make a backup copy of the current firmware. h. Boot back to scicon (option '2') i. confirm that you have a backup copy > dir backup*.bin j. make a backup of the backup > cp backup_a.bin oldsc.bin 2. Install new scicon firmware (if you have a scicon) a. Still at the scicon prompt, cp "gnicl.bin" to "boot.bin" > cp gnicl.bin boot.bin b. reboot, and check the version > quit wait for reboot (should see message about flashing boot.bin) > ver 3. Update the glider bootloader. We update the bootloader first because the latest bootloader allows us to save a copy of the current firmware before we overwrite it. The latest glider firmware also supports this, but then we'd have to install the new glider firmware over the old glider firmware and then we couldn't back up the old firmware. So new bootloader first just so we can save a copy of the existing firmware in case we want to roll back for any reason. a. put the files "iap_F4_glider.bin" and "glider.bin" onto the glider uSD card b. reinstall the glider uSD card (if it was removed) c. boot the glider (if it was off to remove the card) d. from the glider menu, flash the bootloader !flash boot iap_F4_glider.bin e. reboot the glider and enter bootloader mode, !pdos /f As the glider reboots you will see a '#' at which point you have about 1 second to hit enter and go to bootloader mode. If you miss it, don't worry, wait for the glider to boot and try again. f. Select 'A' to make a backup copy of the current firmware. g. Boot back to the glider (option '2') h. confirm that you have a backup copy !dir backup*.bin i. make a backup of the backup !cp backup_a.bin oldfw.bin j. while you are making backups, backup the parameters param/save !cp sgNNNprm.txt parms.bkup (where NNN is your glider ID number) 4. update the glider firmware The bootloader can load new firmware over the serial port or from a file on disk called "boot.bin". Because we already have the firmware in a file on the disk (from 2a above) all we need to do is copy or rename that file to "boot.bin" and cause a reboot so that the bootloader runs. a. get baseline values for FW version, supervisor status and motor version, and port and peripheral assignments !ver long hw/super/status !motor ver param/config/show Make note of all of these results or store a screen capture. a. copy the glider FW file into position to be flashed !cp glider.bin boot.bin b. reboot the glider !pdos /f c. verify that the version is updated !ver long d. check that you can communicate with the supervisor and motor controller hw/super/status !motor ver e. (optional but recommended) restore parameters from backup storage and cleanup the order of parameters in memory param/reset param/load f. check your sensor and peripheral configuration. param/config/show If anything does not match the baseline result from step (a), use the options from param/config to correctly assign sensors, peripherals and ports. 5. Check parameters The usage for some parameters may have changed. Check the following and consult th parameter reference manual (https://seaglider.pub/parms). Changed parameters $COMM_SEQ - default was 0, now 7 $NOCOMM_ACTION - consider turning off bit 5 (32, flow control off) New parameters $XPDR_INT $XPDR_REP $C_PITCH_AUTO_GAIN $C_PITCH_AUTO_MAX $PITCH_GAIN_AUTO_GAIN $PITCH_GAIN_AUTO_MAX $C_VBD_AUTO_GAIN $C_VBD_AUTO_MAX
Before installing new firmware, backup parameters using param/save from the main menu. This will allow you to more easily revert to the original firmware if desired. Place glider.run onto the CF card. With the glider booted to the main menu exit to PicoDOS> and run "glider" to try the new firmware. If tests are ok, exit to PicoDOS> and copy the exising main.run to a backup file. Then copy glider.run to main.run. Reboot and the new firmware should start. To revert, copy the backup back to main.run, reboot and restore the original parameters.