Repository navigation
Improvement: pack Artisan major image with screen type 3 and Artisan prefix - #2
Merged
scotthsl merged 1 commit intoOct 3, 2026
Conversation
…prefix - TYPE_SCREEN_MODULE 2 -> 3: in the Artisan screen app UpdateFileParser the major image segment ids are MC=0/EM=1/BT=2/SC=3, so 2 collides with the BT segment. This repo is A400-only, so bake the correct id in instead of keeping the SM2 value inherited from the SM2 toolchain. - Major image version prefix "SM3" -> "Artisan" (e.g. Artisan_V2.8.2_20261002.bin), matching released artifact naming. New -p/--prefix option overrides it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
pack_for_hmi.pystill carried two SM2 toolchain defaults that are wrong for this A400-only repo:TYPE_SCREEN_MODULE = 2→3— the Artisan screen appUpdateFileParsermaps major-image segment ids asMC=0 / EM=1 / BT=2 / SC=3, so writing2for the screen segment makes it collide with the BT segment. Since this repo is A400-only, the correct id is baked into the constant instead of being a runtime knob (a forgotten flag would silently produce an image whose screen segment is parsed as BT).SM3_→Artisan_— output is now e.g.Artisan_V2.8.2_20261002.bin, matching the naming of released Artisan artifacts. A new-p/--prefixoption overrides the prefix if another name is needed.Behavior change
The
packtarget inplatformio-targets.pycalls this script without options, so its major image artifact is renamed fromSM3_V{version}_{date}.bintoArtisan_V{version}_{date}.bin. Controller/module segment ids (0/1) are unchanged.Verification
Packed images with dummy payloads and parsed the headers (
Length/ 32-byte version / flag / count / 9-byte segment heads):-s screen.bin -v V2.8.2Artisan_V2.8.2_20261002.bin(type=3, offset=48, size=payload)-c A400_MC_V2.3.4.bin -v V2.3.4Artisan_V2.3.4_20261002.bin(type=0, offset=48, size=payload)-c A400_MC_V2.3.4.bin -v V2.3.4 -p A400A400_V2.3.4_20261002.bin(type=0, offset=48, size=payload)