A tag whose type code is not in the profile table has no dimensions, so
after the unknown-profile guard its Set Text / Set Image / WiFi Plugins
actions are hidden. This adds a "Set Custom Size" action for those tags:
enter width, height and colour, and the graphics actions become usable.
The IR framing is identical to a table profile; only the screen geometry
differs, so no protocol is guessed. Custom size is applied only when the
barcode's type is not in the table, so a real profile is never overridden.
- New scene (VariableItemList): Width and Height in 8 px steps from 8 to
800, Colour mono/red/yellow, and Save.
- tagtinker_target_refresh_profile() synthesizes a "Custom" profile from
the stored size for unknown-type targets, so Show Tag Info, Set Text
and Set Image all see real dimensions.
- targets.txt gains three optional fields (barcode|name|cw|ch|ccolor);
older two-field lines still load, with no custom size.
- "Set Custom Size" appears in Target Actions only for unknown-type
targets (tagtinker_type_is_known()).
Builds clean on release SDK 1.4.3 (API 87.1) and dev SDK; no new
clang-format drift.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Default image page is 2 unless the user picked 2-7. Set Text packs planes instead of 45KB buffers. WiFi and odd-size BMPs use glass 296x152 then transpose.
Co-authored-by: Cursor <cursoragent@cursor.com>
These tags look like 296x152 but the firmware only takes 152x296, so landscape BMPs get transposed. Tested on a real 2.6 color tag.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pricer barcodes validate with (sum of all 17 chars) mod 10 == 0,
with the letter prefix contributing by its ASCII offset from '0'.
The old formula compared sum of the first 16 digits to the 17th,
rejecting valid codes like A4120365539013704.