From c9412423cb3e1176bcfda3947dd2849fb6e474a4 Mon Sep 17 00:00:00 2001 From: awe Date: Fri, 29 May 2026 15:01:18 +0300 Subject: [PATCH] fix --- main.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/main.cpp b/main.cpp index d946c03..0fa6c62 100644 --- a/main.cpp +++ b/main.cpp @@ -2090,6 +2090,20 @@ int run(const Config& cfg) { do1_cycle_pattern[i] = word; } + // Debug: print cyclic DOUT pattern + { + std::cerr << "Cyclic DOUT pattern (" << do1_cycle_pattern.size() << " words):"; + for (std::size_t i = 0; i < do1_cycle_pattern.size(); ++i) { + const uint32_t w = do1_cycle_pattern[i]; + const char do1_ch = (w & kE502Do1Mask) ? '1' : '0'; + const char do2_ch = (w & kE502Do2Mask) ? '1' : '0'; + const char do8_ch = (w & kE502Do8Mask) ? '1' : '0'; + std::cerr << "\n [" << i << "] 0x" << std::hex << w << std::dec + << " DO1=" << do1_ch << " DO2=" << do2_ch << " DO8=" << do8_ch; + } + std::cerr << "\n"; + } + if (cycle_pattern_len > 262144U) { fail("Combined DO1+DO8 cyclic pattern too large: " + std::to_string(cycle_pattern_len)); } @@ -2122,6 +2136,15 @@ int run(const Config& cfg) { sent_cycle_words += static_cast(sent); } + // Debug: print encoded pattern + { + std::cerr << "Encoded DOUT pattern (" << do1_cycle_encoded.size() << " words):"; + for (std::size_t i = 0; i < do1_cycle_encoded.size(); ++i) { + std::cerr << " 0x" << std::hex << do1_cycle_encoded[i] << std::dec; + } + std::cerr << "\nSent " << sent_cycle_words << " encoded words to device.\n"; + } + expect_ok(api, api.OutCycleSetup(device.hnd, X502_OUT_CYCLE_FLAGS_WAIT_DONE), "Activate cyclic DOUT pattern"); }