[personal profile] ex0_planet
Пытаюсь заставить sigrok получать данные с осциллоскопа. LXI, сеть, все дела — как у взрослых, короче.

Результаты пока не то чтобы обнадеживают, но и полностью неудачными их назвать нельзя. В принципе, всё почти работает, но на развёртках короче 10ms (включительно). Pulseview рисует красивые графики, и даже почти ничего не падает. На более длинных (100ms и выше) начинаются приколы: данных вообще нет, в логах невнятная ругань на "Discarding short data block" и "Received invalid data block header". Вдумчивая медитация на --loglevel=5 и grep выводят на дивный комментарий:

libsigrok-0.5.1/src/hardware/rigol-ds/protocol.c +654

 /* At slow timebases in live capture the DS2072
  * sometimes returns "short" data blocks, with
  * apparently no way to get the rest of the data.
  * Discard these, the complete data block will
  * appear eventually.
  */


Судя по всему, "eventually" никакие больше данные не приходят, а приходит мусор. Сколь чуден и многогранен мир embedded-реализаций протоколов!!!

Пойду штоль письмо на деревню дедушке напишу...

UPD. Wireshark показывает что мусора таки нет — приходящий "короткий" пакет является единственным пакетом с данными, а больше от осциллоскопа ничего не приходит. Т.е. как это ни удивительно, но китайские программисты, в данном случае, похоже не виноваты — это sigrok наступает себе же на яйца и считает рандомный буфер пакетом.

UPD2. А в RAW TCP всё тоже самое. Там вообще нет пакетов, просто в порт льется текстовый поток SCPI команд и ответов на них, а sigrok всё равно ругается на невалидные заголовки. Здравствуй, дебаггер.

UPD3. И lxi tools ведут себя схожим образом, да что ж такое.

Profile

ex0_planet

April 2023

S M T W T F S
      1
234567 8
910111213 1415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 25th, 2026 04:36 am
Powered by Dreamwidth Studios