Releases and versions¶
A firmware release is a number: 103, 105, 106, … Every release is a tag V<number> in the
firmware repository and a GitHub release that
carries the image stepfoc-firmware-V<number>.bin, a manifest firmware.json with the image's size, SHA-256 and
the commit it was built from, and the release notes. The notes are the firmware's changelog; the
appendix collects them.
Which release does my driver run?¶
prints Software version: <number> among the rest; Motor GUI shows the same number in the driver's identity, and
over CAN Send_Respond_Device_Info returns it as the third byte. From firmware 105 the number is the build's own
version. Before that it was read from the EEPROM, where the last #Default wrote it, so it names the firmware
that last restored the defaults, not necessarily the one running: 101 and 102 write 101, 103 writes 103.
Drivers that report 103¶
A driver that reports 103 runs either release 103 from the main branch, without a bootloader, or an early build
of the bootloader-version branch, which also writes 103 and runs above the bootloader. Some drivers were shipped
with the bootloader before release 105. Which image those carry was not recorded: most likely 103, built for
the bootloader.
To tell whether yours has the bootloader:
- Watch the LED as you switch the driver on: with the bootloader it blinks for about two seconds before the firmware starts.
- Or power it up while
bl_flash.py listor Motor GUI's Scan bootloaders is polling: a driver with the bootloader answers in its first two seconds.
With the bootloader, update it to the current release as in Updating through the bootloader; the release it ran before does not matter then. Without one, install it first: Installing the bootloader on an older board.
Which release does this site describe?¶
The one in the version box on the landing page and in the version selector in the header. When a newer release changes what a page says, a new version of the site is published and the previous one stays reachable from the selector. The compatibility table says which releases go with which bootloader, Python library and PAR6 runtime.
The Spectral Micro counterpart¶
A change that applies to both drivers comes to the Spectral Micro too, but not always in a release with the same number: STEPFOC 108 matches Spectral Micro 107. The compatibility table lists the pairs.
The two branches¶
Releases from 105 on are built from the bootloader-version branch of the repository, whose firmware is linked
to run above the bootloader. The main branch holds the firmware of release 103 and earlier, linked to run
without a bootloader, and is not updated. A board running 103 is documented by version 103 of this site; to
move it to a current release, see Installing the bootloader on an older board.
Comments
Found a mistake on this page? Edit it on GitHub · Report it · Get help · This page as Markdown · llms.txt · The whole manual as PDF