fix swap chan

This commit is contained in:
awe
2026-04-10 21:39:03 +03:00
parent 900fdc1262
commit ff2add9504

View File

@ -1827,6 +1827,9 @@ int run(const Config& cfg) {
const uint32_t din_value = pending_din.front(); const uint32_t din_value = pending_din.front();
pending_din.pop_front(); pending_din.pop_front();
// Keep ADC logical-channel phase aligned even when samples are skipped outside packet windows.
const uint32_t lch = next_lch;
next_lch = (next_lch + 1U) % cfg.channel_count;
const bool di1_level = (din_value & kE502Digital1Mask) != 0U; const bool di1_level = (din_value & kE502Digital1Mask) != 0U;
bool di1_changed = false; bool di1_changed = false;
@ -1893,9 +1896,6 @@ int run(const Config& cfg) {
tty_group_state.clear_step(); tty_group_state.clear_step();
} }
const uint32_t lch = next_lch;
next_lch = (next_lch + 1U) % cfg.channel_count;
if (!fast_tty_avg_stream_mode && if (!fast_tty_avg_stream_mode &&
(cfg.di1_mode == Di1Mode::Trace) && (cfg.di1_mode == Di1Mode::Trace) &&
((cfg.channel_count <= 1U) || (lch == 0U))) { ((cfg.channel_count <= 1U) || (lch == 0U))) {