Беркут-ММТ. Релиз 0.0.12
похоже, что скромные, но толковые разработчики стесняются рассказать о своих достижениях. а у нас вышел новый релиз номер 0.0.12 для Беркут-ММТ. на самом деле, между выпуском предыдущего обновления и нынешним был довольно большой разрыв, и изменений в действительности больше, чем может вместить эта заметка.
в общем, в релизе 0.0.12 можно отметить следующие изменения и улучшения: …→
новости короткой строкой
Катя Саковская мастерски сделала красивый буклет про Беркут-ММТ. страничка с описанием этого прибора на сайте стала немного веселее. буклет — pdf-файл. это раз.
Вадим Попов завершил, наконец, борьбу с умной батарейкой и у нас теперь есть набор инструментов для «прошивки» и тестирования этого (может быть, самого важного с точки зрения надёжности) компонента нашего прибора. думаю, скоро будет написан целый трактат про то, как это было.
а завтра выйдет очередной релиз ПО для Беркут-ММТ. размер слова релиз в облаке меток ещё немного увеличится.
сделали тестовую версию следующей аппаратной ревизии 10-гигабитного анализатора ethernet Беркут-ETX: теперь поддерживается весь диапазон скоростей соверменных локальных, и не только, сетей: от 10M до 10G. и всё это в одном небольшом устройстве!
напомню, это единственный прибор для тестирования сетей 10 gigabit ethernet, разработанный и выпускаемый в России. более 40 таких устройств успешно используются операторами связи и интернет-провайдерами. аналогов в таком форм-факторе не существует не только в нашей стране, но и во всём мире.
и да, это реклама.
готовится к выходу в mass production очередной релиз рефлектометрического модуля для Беркут-ММТ. по всем параметрам (динамический диапазон, мёртвые зоны, удобство использования) он получился не хуже зарубежных аналогов. красивые отчёты с приборчика тоже скоро будут выложены. а пока можно полюбоваться на картинки с экрана в руководстве (pdf) и в рекламной брошюре (pdf)).
qmake рулит!
в связи с переездом со scons на qmake захотелось чиркнуть заметку.
начну с небольшой оды qmake-у. тулза получилась отличная. работает очень быстро и надёжно. мне пришлось написать всего 3 строки чтобы собрать тот же исходный код не только по x86, но и под arm! и эти строки касались пути к хедерам, а сами правила, описанные в .pro-файлах, остались неизменными.
и ещё. в ходе переезда столкнулся с интересной недокументированной фичей qmake.
в нашем проекте (b4.5, GUI) для связи между приложениями используется D-Bus. Чтобы для приложения работа по D-Bus выглядела максимально прозрачно, мы генерируем из .xml описания .cpp и .h файлы, подключаем их и собираем программу. для системы сборки такой подход означает наличие генерирующего правила и зависимостей от генерируемых файлов (.cpp, .h). я с этого и начал, но внутренний голос подсказал мне, что я изобретаю колесо ;) и он оказался прав.
в итоге раскопок наткнулся на топик, где сказано, что нужно в .pro-файле просто прописать DBUS_INTERFACES и всё остальное qmake сделает сам. подтверждением тому служит наличие файла dbusinterfaces.prf в каталоге /usr/share/qt4/mkspecs/features. наверное, скоро это и в документации появится…
переезжаем на другую систему сборки
этот scons (система управления сборкой a la make) порядком надоел. перешли обратно на qmake+make. весь проект b4.5 собирается менее, чем за 2 минуты.
ps. сегодня получили отличный отзыв на наш рефлектометр! пользователи довольны не только тем, как прибор производит измерения, но и GUI, а также тем, как просто результаты сохраняются на флэшку. как у любого устройства, у нашего тоже есть недостатки, о которых нам известно. но это не умаляет достоинств.
Шрифты для LaTeX
Для создания сопровождающей технической документации к нашим приборам мы применяем систему вёрстки LaTeX. Это очень удобная и гибкая система, позволяющая подключать множество специализированных пакетов для решения различных задач. Есть, правда, один минус — небольшой выбор стандартных кириллических шрифтов. До недавнего времени мы использовали шрифты семейства Computer Modern. Однако в какой-то момент решили поискать более подходящий вариант как с точки зрения «красоты» русских букв, так и большей ёмкости шрифта.
Хотелось найти основной, моноширинный и шрифт без засечек, которые наилучшим образом сочетались бы между собой. Мы остановили свой выбор на шрифтах, разработанных компанией ПараТайп в рамках проекта общенациональных бесплатных шрифтов: ПТ Санс, ПТ Сериф и ПТ Моно . Это шрифты универсального назначения с открытой пользовательской лицензией. При этом они являются супергарнитурой, т.е. идеально соответствуют друг другу.
Для подключения шрифтов ПараТайп к системе LaTeX в архиве CTAN имеется специальный пакет, который, кстати, уже содержится в используемом нами дистрибутиве LaTeX, входящем в стандартную поставку Debian GNU/Linux.
Для сравнения:
1) Computer Modern
2) ПараТайп
про wireshark и беркут-e1. инструкции
как обещал, выкладываю ссылки на инструкции по обеспечению нормального взаимодействия Беркут-E1 и Wireshark.
если коротко, то нужно положить в каталог, в который установлен Wireshark, два Lua-скрипта и два bat-файла и после этого пользоваться программой Bercut-E1 Data Receiver, как обычно.
вот инструкция.
а вот прямая ссылка на скрипты и bat-файлы.
ps. описанный механизм, впрочем, работает и в unix-системах.
pps. этот способ — для online-анализа. для offline достаточно сохранить файл в формате pcap и открывать обычным wireshark’ом. без скриптов.
b3 и wireshark
в позапрошлой заметке я упоминал о проблемах использования связки нашего Беркут-E1 и супер-декодера почти всех существующих протоколов Wireshark на новых версиях ms windows.
в двух словах, раньше оно как работало? по USB-интерфейсу Беркут-E1 передавал бинарные данные из ИКМ-потока в компьютер, затем специальная программа «Bercut-E1 Data Receiver» выделяла HDLC-пакеты и перенаправляла их или в файл, или в так называемый Microsoft Loopback adapter, из которого их читала и декодировала программа Ethereal. да, в то время, когда мы воплотили в жизнь идею простого, компактного и относительно недорогого анализатора протоколов, Wireshark назывался Ethereal.
для того, чтобы Wireshark Ethereal правильно идентифицировал протоколы сигнализации, мы слегка изменили библиотеку WinPcap и сам Ethereal, благо обе программы распространяются и в исходном коде. в общем, в течение нескольких лет всё работало и не вызывало проблем у пользователей.
но прогресс на месте не стоит и настал момент, что когда-то работающий механизм перестал функционировать. небольшие отличия версий Windows, WinPcap, Wireshark напомнили нам о себе.
пользователи стали, мягко говоря, жаловаться. а мы, в свою очередь, стали искать способ исправить ситуацию с минимумом затрат. первый пришедший на ум вариант был «наложить patch» на последние версии Wireshark и WinPcap, но оказалось, что за столько лет эти программы сильно изменились и их модификация потребует значительных усилий. а мы, как правильные разработчики, довольно-таки ленивы, чтобы так напрягаться для решения простых задач.
и сегодня вечером мы нашли простое решение проблемы.
итак, …→
и снова батарейка
пока всё прогрессивное человечество бороздит просторы космических морей, продолжаем борьбу с умной батарейкой.
Вадим Попов вместе с Юрием Ремизовым борются за правильную автоматическую калибровку аккумуляторов. судя по голосам, доносящимся из соседнего кабинета, скоро всё получится.
оставайтесь с нами.
ps. и сообщение на другую тему. выяснилось, что программа сбора и декодирования протоколов сигнализации (в связке Беркут-E1 — Ethereal) неправильно работает под управлением ОС Windows 7. потому что с тех пор, как мы адаптировали ethereal для работы с нашим прибором, прошло много лет, утекло много воды и ethereal успел стать wireshark’ом. тем не менее, чиним. патч и исполняемые файлы скоро будут доступны для скачивания.


выложили, наконец, краткое описание проекта