Recent Changes - Search:

PmWiki

pmwiki.org

edit SideBar

Updating the firmware

Should you update the firmware?

The firmware of the tinySA can be updated by the user. If your device is functioning well there is no need to upgrade the firmware. A new firmware can add new functionality or even improve performance but if your tinySA is performing well there is no need to upgrade.
Updating the firmware is a safe as it is impossible to brick the tinySA. If an upgrade failed you may have to open the tinySA case and connect two points on the PCB (BOOT0 and VDD) to be able to try to upgrade again.

Saving your device specific configuration data (optional step)

If you have a new device and you did not change device specific configuration data you can skip this step

Part of the CONFIG data are the leveloffset for high and low mode as set by LEVEL CAL or ACTUAL LEVEL and the frequency dependent correction data. These will be reset to factory defaults when you do a clearconfig or when you install a FW with new/changed configuration or setting items. You can list the data using console mode and restore after updating and/or clearconfig.
The correction table is specific for a HW version and newer or older FW's may have a different correction table or you may have improved the correction table values. These are the commands you need to enter at the console prompt and the example responses

ch> leveloffset
leveloffset low -3.0
leveloffset high 100.0
leveloffset low output 0.0
leveloffset high output 0.0
leveloffset switch 0.0
ch> correction low
index frequency value
correction low 0 10000 6.0
correction low 1 100000 2.8
correction low 2 200000 1.6
correction low 3 500000 -0.4
correction low 4 30000000 0.0
correction low 5 140000000 -0.4
correction low 6 200000000 0.4
correction low 7 300000000 3.0
correction low 8 330000000 4.0
correction low 9 350000000 8.1

A leveloffset of 100.0 implies the level has not yet been calibrated.

The next step is to update the firmware. This can be done either using a .dfu file or using the .bin file. Only one of these updates is needed, not both.

Getting new firmware

New versions of the tinySA firmware can be downloaded from:

A sub folder contains all the old FW versions so you can go back to a previous version if needed.
Download the applicable tinySA_{version_number}.bin file to your PC

Updating the firmware using a bin file and STM32CubeProgrammer(Windows)

For a nice guide to update using STM32CubeProgrammer and a bin file see this document: http://athome.kaashoek.com/tinySA/DFU/TinySA%20Firmware%20Update%20using%20STM32CubeProgrammer.pdf

When you can not connect using STM32CubeProgrammer and you are using a PC with USB 3.0 or newer a possible solution is to use an old USB 2.0 hub between the PC and the tinySA. Or you may try the next option, dfu-util.

Updating the firmware using a bin file and dfu-util(Windows, Linux and Mac)

This is an alternative to using STM32CubeProgrammer

Get the tinySA_version_number.bin file from http://athome.kaashoek.com/tinySA/DFU/ or for the tinySA Ultra from http://athome.kaashoek.com/tinySA4/DFU/ and also download from there the files with names starting with DFU

Rename the downloaded file to tinySA.bin

Connect the tinySA with USB and activate the DFU mode:

  • tinySA: switch the tinySA on and enter DFU mode.
  • tinySA Ultra: press the jog button before switching on the tinySA Ultra. Switch on and the screen should stay black.

Download dfu-util from http://dfu-util.sourceforge.net/releases/ and check you can execute it.

For windows, open a command window and go to the folder with the downloaded files and run DFU_LOAD_BIN.bat. The tinySA should now be updating with the tinySA.bin file using dfu-util-static.exe

On Linux and Mac make sure dfu-util can run from the command prompt. Go to the folder where you downloaded and renamed tinySA.bin and execute
dfu-util -a 0 -s 0x08000000:leave -D tinySA.bin

If the upgrade fails and you get a white LCD screen.

If the upgrade fails for some reason (wrong file, power failure) you may get a tinySA that seems to be bricked. Luckily it is impossible to brick the tinySA. Follow these steps to unbrick:

  • Switch off.
  • Open the case by removing the 4 screws at the back
  • Connect the two pcb edge points marked VDD and BOOT0
  • Switch on.
  • Lcd turns white
  • You can disconnect the VDD and BOOT0 if needed
  • Connect to PC using the USB cable
  • Update firmware

After upgrading the firmware

Once the FW is upgraded reset the tinySA by switching off and on. The normal scanning screen should appear and the tinySA (if still connected) should appear as a serial over USB device in the Windows device manager or as a /dev/tty device under Linux

The FW maintains a checksum over the config data to detect if the structure of this data has changed with a new FW version. It is however good practice to clear the config data to be absolutely sure no old data remains possibly causing problems. This can be done with the CONFIG/EXPERT CONFIG/MORE/MORE/CLEAR CONFIG command, enter 1234 as the requested confirmation. After clearing the config the tinySA will automatically reset

Restoring your settings (if previously saved)

To restore the config, using the data recorded when saving the configuration above, issue these commands at the console prompt where the numbers are replaced by the data saved from your tinySA

leveloffset low -3.0
leveloffset high 100.0
leveloffset low output 0.0
leveloffset high output 0.0
leveloffset switch 0.0
correction low 0 10000 6.0
correction low 1 100000 2.8
correction low 2 200000 1.6
correction low 3 500000 -0.4
correction low 4 30000000 0.0
correction low 5 140000000 -0.4
correction low 6 200000000 0.4
correction low 7 300000000 3.0
correction low 8 330000000 4.0
correction low 9 350000000 8.1
saveconfig

Edit - History - Print - Recent Changes - Search
Page last modified on November 28, 2022, at 01:06 PM