LINUX.ORG.RU

Новые версии ПО для захвата и анализа сигналов — sigrok и PulseView

 , ,


5

3

Команда разработчиков проекта sigrok выпустила обновление его значимых компонентов: основной библиотеки, набора драйверов и модулей ввода-вывода libsigrok 0.5.1, набора потоковых декодеров различных протоколов libsigrokdecode 0.5.2 и основного GUI проекта, PulseView 0.4.1.

Целью проекта sigrok является создание модульного переносимого кроссплатформенного СПО для захвата и анализа сигналов, поддерживающего большое количество различных устройств (логических анализаторов, осциллографов, мультиметров и т. п.). Основная лицензия проекта — GPL версии 3 или выше.

В этом выпуске основную порцию улучшений получил PulseView, а изменения в библиотеках носят незначительный характер, не меняющий их программные и двоичные интерфейсы.

Далее представлен перечень нововведений в каждом из подпроектов.

PulseView

  • Реализована одна из наиболее часто запрашиваемых функций: привязка курсора к фронтам сигналов. В текущей реализации курсор мыши привязывается к ближайшему фронту того канала, внутри которого находится в данный момент. При перемещении выделения вдоль сигнала его левая грань будет автоматически привязываться к ближайшему фронту, в то время как общая длина выделения будет неизменна. Такое поведение облегчает проведение измерений и сравнений.
  • Появилась возможность преобразования аналоговых каналов в цифровые/логические каналы — либо через задание порогового значения, либо через триггер Шмитта. Эта функция позволит пропускать преобразованные каналы через декодеры протоколов, что было невозможно ранее.
  • Добавлено несколько параметров командной строки (--driver, --dont-scan), а также параметр --input-file, определяющий способ загрузки указанного файла (как поток данных, либо как сохранённый ранее сеанс — подробности описаны в man-странице). Также теперь стало возможным открытие множества входных файлов при запуске PulseView, например, pulseview *.sr.
  • PulseView обзавёлся поддержкой цветовых тем и поставляется с несколькими стандартными — «лёгкая» тема по умолчанию и два варианта для тёмных интерфейсов.
  • Множество изменений в UI, таких как курсорные измерения во всплывающих подсказках, цветовое выделение высоких логических уровней для улучшения восприятия данных, удобная вертикальная линия наведения мыши, возможность включения/выключения множества каналов, и некоторые другие улучшения.
  • Аннотации декодера протоколов теперь могут экспортироваться в произвольном формате — как все вместе, так и лишь для конкретного уровня протокола, либо только для выделенной области, и т. п.
  • Улучшено поимённое согласование каналов со входами добавляемого декодера, так что степень ручного вмешательства в этот процесс должна уменьшиться.

Приложение PulseView теперь имеет собственное руководство (в форматах HTML и PDF). Приветствуются запросы и патчи на его расширение и дополнение!

Была проделана значительная работа по улучшению быстродействия и оптимизации потребления памяти. Например, значительно ускорена загрузка файлов, уменьшено время некоторых операций отрисовки, исправлены утечки и неэкономное расходование памяти, и т. д.

В этом выпуске исправлено существенное количество довольно раздражающих ошибок (например, подвисания UI при изменении параметров декодера или канала). Также были исправлены несколько ситуаций с аварийным завершением работы в различных ОС.

Более подробный список изменений предоставлен в файле NEWS, а также в истории коммитов.

libsigrok

Это минорный выпуск библиотеки, в нём отсутствуют изменения любых публичных интерфейсов.

Поддержка новых устройств в этой версии:

  • Логические анализаторы: DreamSourceLab DSLogic Basic/Plus, Hantek 4032L, IPDBG (отладчик IP-ядер для FPGA, проект ipdbg.org), Meilhaus Logian-16L, Saleae Logic Pro 16, ZEROPLUS Logic Cube LAP-C (16128+) / LAP-16032U.
  • Осциллографы: Agilent MSO7034A, Hantek DSO-2250, Rigol серии DS4000, Siglent серий SDS1000/SDS2000.
  • Программируемые источники питания: GW Instek серии GPD, HP 6631B/66332A/6633B/6634B, Korad KD3005P, RDTech серии DPS/DPH, Rigol DP711/DP712, RND KA3005P, Tenma 72-2540.
  • Электронные нагрузки: ZKETECH EBD-USB.
  • Мультиметры: EEVblog 121GW, Fluke 45, HP 3478A, MASTECH MS8250D, Metex M-3860M, PeakTech 4390A, SparkFun 70C, модели Victor с разъёмом Mini-USB, Voltcraft VC-96.

Практически каждый существующий драйвер подвергся многочисленным исправлениям и улучшениям.

Реализовано несколько новых вызовов API, с подробностями можно ознакомиться в документации на программные интерфейсы проекта.

Подробности: файл NEWS, история коммитов.

libsigrokdecode

Это минорный выпуск библиотеки, в нём отсутствуют изменения любых публичных интерфейсов.

В текущей версии добавлено 11 новых декодеров протоколов:

  • mcs48: протокол доступа ко внешней памяти Intel MCS-48.
  • st7735: протокол контроллера ЖК-дисплеев Sitronix ST7735.
  • atsha204a: устройство шифрования Microchip ATSHA204A CryptoAuthentication™.
  • cfp: протокол 100-гигабитных модулей CFP.
  • jtag_ejtag: протокол MIPS EJTAG.
  • swim: однопроводной интерфейс микроконтроллеров STM8.
  • cec: протокол HDMI Consumer Electronics Control.
  • miller: код Миллера.
  • ook: амплитудная манипуляция (on-off keying).
  • ook_oregon: протокол погодных станций Oregon Scientific.
  • ook_vis: различные варианты визуализации амплитудной манипуляции.

Общее количество декодеров для поддерживаемых протоколов доведено до 97. Если вы работаете над разбором других протоколов и реализацией декодера для них — смело направляйте проекту свои патчи.

Подробности: файл NEWS, история коммитов.

Проект постоянно стремится увеличивать количество поддерживаемых устройств, модулей ввода/вывода, декодеров протоколов. Ваш вклад всегда приветствуется!

Ознакомиться с перечнем поддерживаемых платформ, скачать стабильные версии, ночные сборки, исходные коды, дампы протоколов, прошивки и любые другие файлы проекта можно на странице загрузок.

>>> Подробности

★★

Проверено: jollheef ()

вчера в загашниках нашел dso-2250. Полез на сигрок смотреть как там с поддержкой, оказалось еще нет. Пришлось смотреть openhantek (который у меня не собрался, да и хрен с ним), решил отложить в ящик. А тут новость, что новая версия и поддержку вкатили. Прям чудеса! Пойду обновлюсь, вдруг действительно работает.

yax123 ★★★ ()
Ответ на: комментарий от anonymous

Ох лол. USB осциллографы - полный и абсолютный мусор.

мусье сноб?

Так можно договориться до того, что менее 2Gs и полоса менее 40ГГц «полный и абсолютный мусор.»

Каждой задаче свой инструмент.

Кстати, свежий сигрок не подхватил dss-2250. Ругается на отсутствие fw. Из openhantek собрал экстрактер и запустил. Он мне выдал два hex-а: загрузчик и fw. Подсунул один, эффекта нет, второй, тоже нет: sr: hantek-dso: Unable to open device. Хотя права 777.

Низачет сигроку.

ЗЫ

- Hantek DSO-2250 (experimental)

Экскрементаторы хреновы!

yax123 ★★★ ()
Последнее исправление: yax123 (всего исправлений: 2)

Pulseview все также пытается загрузить весь файл логов из другой программы и вылетает так как разом загружает в память огромный файл никак его не фильтруя?

DR_SL ★★★★ ()
Ответ на: комментарий от yax123

Ругается на отсутствие fw. Из openhantek собрал экстрактер и запустил.

А родной экстрактор не пробовали? На вики описана процедура.

Если действительно есть желание завести прибор, предлагаю выделить часик времени и подключиться к #sigrok на freenode, там очень живой канал. Я уверен, что помогут, возможно, даже автор нужного драйвера отпишется.

TwisteR ★★ ()

PulseView (не считая спонтанных вылетов, офк) имеет только одну проблему - ПРОИЗВОДИТЕЛЬНОСТЬ. Именно так, большими кровавыми буквами. Какие безумцы могли требовать реализовать привязку курсора мыши к залипающему на десятки секунд интерфейсу - представить не могу. Алсо, ждём ебилдов обновления пакетов хотя бы на PPA, дефолтные репы - хрен бы с ними.

sleeply4cat ()
Ответ на: комментарий от kto_tama

У вас три версии для разных языков - плюсы, питон и жаба ?

Ничего не понял. Если вопрос по языкам, применяемым в проекте, то все библиотеки — на С, некоторые GUI на плюсах (включая PulseView, Qt), другие — на питоне (sigrok-meter). Декодеры тоже на питоне.

TwisteR ★★ ()
Ответ на: комментарий от Lampus

К сожалению, PulseView у меня постоянно падал.

Сложно обеспечить стабильность при таком темпе развития, но это слабая отмазка. Тут совет стандартный — собрать последнюю версию и заставить её упасть, после чего описать последовательность действий в багзилле проекта.

TwisteR ★★ ()

Ой как здоравааа!!!! Спасибо большое!

Всё никак не куплю СЕБЕ мультиметр такой, то денег нет, то руки не доходят. Но несколько раз PulseView спасал, прям, вусмерть ситуация была.

Народ, по случаю, посоветуйте чтонить дешёвое и унивресальное, чем можно и осциллографить и анализировать и вольтаж и пр. замерять. Этакий убермашин на все руки за три копейки :)

Chelobaka ★★★★★ ()
Ответ на: комментарий от Chelobaka

за 10 копеек. dslogic+oscill. Насчет аналоговой части не скажу, но скорей всего не хуже чем у других usb-oscill. А как логический анализатор, то бесподобен. у них правда своя самописная смотрелка, но она в исходниках и судя по всему какой-то форк pulseview.

yax123 ★★★ ()
Ответ на: комментарий от Chelobaka

сайт разработчика: https://www.dreamsourcelab.com/shop/

Понятно, что все это есть у китайцев.

Поначалу DSL (разработчик) наклянчил денег на dslogic pro (16ch/400MHz/256MB log analyzer). Все исходники и схемы в сети.

Потом они решили делать бабло и развели новую печать (на той же комплектухе) и сделали несколько устройств:
dslogic base (16ch/400MHz/256KB log analyzer) зеленая коробка
dslogic plus (16ch/400MHz/256MB log analyzer) синяя коробка
dslogic oscill (2ch)

разница между base и plus только в статической памяти напаяной внутре и 4 байтах прошивки кипариса (pid другой, в двух местах). А по цене у китайцев разница на 3 тыс рублей. при цене памяти 300 руб в любом ларьке. Еще продают наборы dslogic plus + dslogic oscil.
Все ПО открытое в исходника (для самой первой версии), в текущих версиях прошивка плисины (spartan6) и прошивка кипариса (по ней гонится трафик в комп) закрыт, но они нафиг не нужны. ПРога для компа, драйвера и разбор протоколов все слизано с sigrok-а.

Уберфича тут в том, что можно на частоте 400 мгц складывать во внутренний буфер семплы и потом медленно отдавать в комп для анализа (можно еще в RLE поиграть), а можно на низкой скорости все гнать в комп и тогда глубина выборки ограничивается только разрядностью INT-а в вашей системе.

Следующий этап это конечно 32 канала и usb3. Но таких пока никто не придумал. Точней есть хантек на 32 канала, но там все тот же usb2-кипарис (fx2). И есть еще салеа на 16 каналов и usb3 (тоже кипарис только fx3).

Приглашаю к сотрудничеству плисоводов и армопогроммистов для разработки моей влажной мечты.

yax123 ★★★ ()
Ответ на: комментарий от Myau

есть мнение, что у всех одни и те же чОрные многоножку внутри. А значит и протоколы у всех одинаковые. Вы гляньте что внутри вашего демшанского, возможно то же что и в других для которых уже запилили поддержку.

yax123 ★★★ ()