Skip to content

feat(ui): name SLogic channel tiers 4 ch, 8 ch, 16 ch and 32 ch - #71

Merged
HalfSweet merged 2 commits into
mainfrom
feat/slogic-tier-names
Oct 31, 2026
Merged

HalfSweet merged 2 commits into
mainfrom
feat/slogic-tier-names

Conversation

@HalfSweet

@HalfSweet HalfSweet commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

An SLogic's rate tiers are its wire modes, chosen by the highest enabled channel. The acquisition menu named them by their range of channels: "0–3", "0–7", "0–15", "0–31". A faster rate in the sample-rate list that needs one of them was marked "0–7 only", which doesn't read as the name of anything. Sipeed's own documentation names these modes by their width: 4, 8, 16 and 32 ch.

  • RateTier gains named_by_count, which only the SLogic driver sets. The acquisition menu names such a tier by its channel count: "8 ch" (Chinese: 「8 通道」) over its rate in the tier row, and the same "8 ch" next to a rate that needs it. There is no "≤", because that tier does not accept any 8 channels.
  • The tooltips still say which channels a tier takes ("Channels 0–7, up to 400 MHz"), and the caption about a high channel forcing a wider tier is unchanged.
  • PXLogic's and DSLogic's tiers of the first channels keep their range names. Tiers that take any N channels are still named "N ch", with "≤N ch" in the rate list.
  • The ?mocktiers=1 mock's Stream tiers, modelled on an SLogic16U3, now go by their count as well.
  • DESIGN.md §4 and the user guide describe the new names.

Validation:

  • pnpm exec eslint src, pnpm typecheck, Prettier on the changed files
  • pnpm test: 86 files, 610 tests passed. A new case in AcquisitionMenu.test.ts checks the tier row, the rate-list note and the tooltips for tiers named by count; the existing cases still cover range-named tiers.
  • cargo clippy --workspace --all-targets -- -D warnings; cargo test for hsync-driver, hsync-slogic, hsync-dslogic, hsync-pxlogic, hsync-atklogic and hsync-session: 280 passed. The SLogic tier test asserts the new flag.
  • Checked the acquisition popover with ?mocktiers=1 in headless Chrome at 1440×900 in Light and Dark, Comfortable and Compact, in Chinese and English: the tier row reads 4 / 8 / 16 通道 (ch), and greyed rates read "8 通道" / "4 通道" (ch) without crowding.

An SLogic's rate tiers are its wire modes, which the highest enabled
channel picks. They were named by their range of channels, "0–7", and a
rate in the sample-rate list that needs one said "0–7 only", which does
not read as the name of anything. Sipeed names these modes by their
width: 4, 8, 16 and 32 ch.

RateTier gains named_by_count, set by the SLogic driver alone, and the
acquisition menu names such a tier by its count: "8 ch" over its rate
in the tier row, and "8 ch" beside a rate that needs it, without the
"≤" of a tier that takes any channels. The tooltips still say which
channels a tier takes. PXLogic's and DSLogic's tiers of the first
channels keep their ranges, and the mock's Stream tiers, modelled on an
SLogic16U3, now go by their count too.
DESIGN.md and the user guide name the SLogic's tiers 4 ch, 8 ch, 16 ch
and 32 ch, and say that a rate needing one is marked with that name.
@HalfSweet
HalfSweet merged commit 79efeec into main Oct 31, 2026
3 checks passed
@github-actions github-actions Bot mentioned this pull request Oct 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant