Files
vicliuandGitHub 71f10ae6d0 Feature/cardputer zero (#27)
* fix(tdeck): improve display startup and brightness handling

* fix(energy-sweep): use instant RSSI and only lock LoRa while scanning

* feat(cardputer-zero): add linux shells and M5 SDK baseline

* feat(cardputer-zero): add linux runtime baseline and shell ui simulator

* feat(cardputer-zero): unify linux shell boot and polish simulator

* docs(cardputer-zero): define final-shape adaptation spec

* feat(cardputer-zero): integrate shared linux runtimes and pages

* fix(linux-sim): mount repo root in dev container

* Fix GPS runtime semantics and transport init

Add a GPS specification and align platform runtimes around explicit GPS enable, power, receiver configuration, and external NMEA export semantics.

Keep internal NMEA parsing independent from external export settings, stop treating gps_mode as an enable flag, and update phone/UI config paths to use gps_enabled.

Decouple board-level GPS transport readiness from UBX receiver probing on T-Deck, T-Deck Pro, and T-LoRa Pager, and let boards own UART teardown.

Verified with pio run -e tdeck, pio run -e tlora_pager_sx1262, pio run -e gat562_mesh_evb_pro, and pio run -e tdeck_pro_a7682e.

* Add Russian localization pack

Add an installable European Cyrillic Extended locale bundle with Russian translations, Cyrillic font metadata, and package catalog entry.

Credit polarikus for the Russian translations based on the polarikus/trail-mate localization PR.

* Prepare 0.1.23-alpha release

* Fix T-Watch Morse release build

* Format CI-checked sources

* Fix Cardputer Linux CI dependencies

* Fix WSL validation smoke target build

* Prepare 0.1.24-alpha release

* fix: unblock Cardputer Zero Linux CI
2026-05-09 14:03:49 +08:00
..
2026-05-09 14:03:49 +08:00

Font Assets

This directory stores source vector fonts used to generate Trail Mate font assets.

Noto Sans CJK SC

  • File: NotoSansCJKsc-Regular.otf
  • Source: https://github.com/notofonts/noto-cjk/raw/main/Sans/OTF/SimplifiedChinese/NotoSansCJKsc-Regular.otf
  • License: SIL Open Font License 1.1 (OFL)

Noto Naskh Arabic

  • File: NotoNaskhArabic-Regular.otf
  • Source: https://raw.githubusercontent.com/googlefonts/noto-fonts/main/unhinted/otf/NotoNaskhArabic/NotoNaskhArabic-Regular.otf
  • License: SIL Open Font License 1.1 (OFL)

Bitmap Compression Tool

Use the in-repo tool to convert an existing LVGL bitmap font (lv_font_conv output) to LVGL compressed bitmap format (bitmap_format = 2):

./tools/compress_lvgl_bitmap_font.py src/ui/assets/fonts/lv_font_noto_cjk_16_2bpp.c

The tool validates each glyph via encode/decode round-trip before writing.

External Pack Workflow

Simplified Chinese no longer ships as a compiled-in UI font. The repository now expects Chinese glyph coverage to be generated into external font packs.

The reference bundle lives under:

packs/zh-Hans

Typical flow:

  1. Refresh the ranked Pinyin glyph sources:
python tools/extract_pinyin_chars.py
  1. Generate the core pack subset:
python tools/build_locale_pack_charset.py --pack-root packs/zh-Hans --font-pack-id zh-hans-core
  1. Generate the extension pack subset:
python tools/build_locale_pack_charset.py --pack-root packs/zh-Hans --font-pack-id zh-hans-ext
  1. Generate font.bin files with lv_font_conv using:
  • font source: tools/fonts/NotoSansCJKsc-Regular.otf
  • glyph subsets:
    • packs/zh-Hans/fonts/zh-hans-core/charset.txt
    • packs/zh-Hans/fonts/zh-hans-ext/charset.txt
  • output format: bin
  • size: 16
  • bpp: 2
  1. Copy the pack directories onto the SD card under /trailmate/packs/....