Форум РадиоКот https://radiokot.ru/forum/ |
|
2.x плотер - дополнение к нашим самодельным DDS генератор https://radiokot.ru/forum/viewtopic.php?f=24&t=195779 |
Страница 1 из 1 |
Автор: | sunjob [ Ср ноя 27, 2024 18:13:51 ] |
Заголовок сообщения: | 2.x плотер - дополнение к нашим самодельным DDS генератор |
2.x плотер - дополнение к нашим самодельным DDS генераторам, помогает строить/визуализировать ачх катушки/колебательного контура. возможности пакета: - захват данных с com-порта (две оси [x,y]) - показ/визуализация графика - сохранение захваченных данных-плотера (*.plt) - манипуляция с графиком (зум, перетаскивание, просмотр) - сохранение выделенных участков в графический файл (*.bmp) - в качестве com-порта используется usb-переходник CH340 (FTDI FT232, PL2303, CP2102), аналогичного arduino url tag: avr, atmega328, arduino, usb, uart, usart, plot, ploter, dds, generator, катушки мишина Вложение: Вложение: Спойлерploter / описаниевозможности пакета: - захват данных с com-порта (две оси [x,y]) - показ/визуализация графика - сохранение захваченных данных-плотера (*.plt) - манипуляция с графиком (зум, перетаскивание, просмотр) - сохранение выделенных участков в графический файл (*.bmp) - в качестве com-порта используется usb-переходник CH340 (FTDI FT232, PL2303, CP2102), аналогичный arduino особенности пакета: - проект разрабатывается под linux (портируется под windows) - расчитан на активную работу с ком.строкой (параметры, режим работы, настройки итд) - все примеры/описание/команды - приведены под linux операционные системы /совместимость: - linux x64 (все современные версии linux, список протестированных дистрибутивов см.далее) - windows xp/7 (на других версиях не тестировалось) сокращение: d&d - drag and drop (выделить в проводнике, взять, перетянуть на форму, отпусить кнопку мыши) 2х клик - двойной клик мышкой (левой кнопкой) установка коротко установочный пакет распространяется в виде архива/iso-образа содержимое: Код: - data_file - примеры файлов данных (для тестового запуска/привязки расширения *.plt) - doc - файлы помощи, документация - install - каталог с установщиком - bin - каталог с исполняемыми файлами/бинарники - lib - каталог с библиотеками - install_app_gtk.sh - скрипты установки - install_app_qt4.sh - install_app_qt5.sh если будет использоваться Qt, то должен быть установлен фреймворк-Qt. установка (вручную, коротко): - монтируем iso-образ / распаковываем архив - install_app_X.sh - установка приложения - если не сделано до этого: добавить "~/bin" в переменнуют "PATH", перелогиниться. - data_file - проверить работу приложения, кликнуть мышкой на файле данных (*.plt) либо запускаем из коммандной строки $ plot_file и d&d-ом набрасываем файл данных на форму пример установки на live-дистрибутив (видео): > install_redos_live_xxx.mkv либо все сделать самостоятельно, согласно стандарту на ваш дистрибутив. подробно состав пакета: - две утилиты (два режима работы DEVICE & FILE) - скрипты установки Код: /////////////////////////////////////////////////////////////////////////////// файл/bin | режим | осн.функционал /////////////////////////////////////////////////////////////////////////////// plot_dev | "DEVICE" | захват com-порта, визуализация, экспорт в файл-данных -> *.plt plot_file | "FILE" | визуализация файла-данных, экспорт в граф.файл -> *.bmp /////////////////////////////////////////////////////////////////////////////// plot_file имеет два режима работы - коммандный (выполнить команду и выйти) - gui (обычный режим работы) в коммандном режиме можно открыть файл-плотера *.plt и сохранить в графический файл. настройку графика можно сделать с помощью cli/аргументов ком.строки (смотрите помощь). для визуализации используются (gui-toolkit): - gtk2 (устаревший, до сих пор использующийся) - qt4 (устаревший, использующийся на старых/легких версиях линукса) - qt5 (текущий/разрабатываемый) gui-библиотеки: если отсутствуют, обращаемся к справке/установка из gui/пакетного менеджера - gtk2 - обычно идет в составе дистрибутива (ubuntu-22.04.4/23.10.1 по умолчанию) - qt4/5 - в системе должен быть установлен пакет qt4/qt5 (в современных дистрибутивах с рабочим столом "KDE4/Plasma"/"KDE5/Plasma" - уже установлены) так-же, для qt-приложений нужна дополнительно мульти-поточная версия библиотеки lib-qt-pas (multi-thread) по умолчанию в линуксе идет "обычная" сборка данной библиотеки, поэтому надо: - либо собрать/установить самому или найти/установить с пом-ю пакетного менеджера (*) - либо использовать скрипт установки (*) не уверен, что "нужно/можно" удалять "старую" библиотеку стандартными методами (пакетный менеджер), т.к. это может привести к удалению других компонентов. для установки библиотеки в систему пользователь должен иметь sudo-привилегии. установка плотера с помощью скрипта (локально, в дом. каталог "~/bin/plot"): копируются все версии gui(gtk/qt4/qt5). gui по умолчанию "устанавливаются" скриптом с соотв.индексом: Код: - install_app_gtk.sh - install_app_qt4.sh - install_app_qt5.sh после установки надо проверить настройки PATH: export PATH=~/bin:.:$PATH в логин-скрипте (в зависимости от дистрибутива linux): Код: ~/.bash_profile ~/.bashrc ~/.profile если вызвать приложения (вручную, из ком.строки): Код: $ plot_file $ plot_dev будет запущено приложение с тем gui, который был выбран во время установки. можно принудительно вызвать приложение с соответствующим gui: Код: $ plot_file_gtk $ plot_file_qt4 $ plot_file_qt5 $ plot_dev_gtk $ plot_dev_qt4 $ plot_dev_qt5 если нужно сменить gui (по умолчанию): повторно запустите скрипт установки с соответствующим индексом: либо, отредактируйте скрипты запуска, находящиеся в домашнем bin-каталоге: Код: ~/bin/plot_file ~/bin/plot_dev выберите команду запуска : Код: # plot_dev.gtk "$@" # plot_dev.qt4 "$@" # plot_dev.qt5 "$@" если скрипт установки отработает без ошибок: 1. в локальный bin-каталог будут установлены файлы пакета 2. будет зарегистрировано приложение plot_file и привязано к расширению *.plt (2х клик - запуск приложения, открытие плотера) список удачно протестированных дистрибутивов linux (live-версии) Код: - alt-ws-10.3 - arch-6.10.10-0914 - red-os - calculate-2024.09.29 - centos-2024.07.09 - debian-12.7.0 - elementary-os-2023.09.26 (скрины *.bmp кидает в HOME) - gentoo-2024.09.23 - neon-2024.09.29 - mint-22-xfce - redos-2024.06.04 - rosa-plasma-5.12.5.1 - solus-4.5 - slackware 14.2/15.0 (develop-дистр, разработка) - suse leap - ubuntu (редкостная каша с out-dir) - kubuntu (аналогично ubuntu) - void видео-каст для ознакомления захват данных (с com-порта) / видео > cutecom_data_flow.mp4 1. настройка/параметры com-порта (по умолчанию): Код: com-port = [ttyUSB0|COM0] (linux|windows) boud-rate = [115200] byte-size = [8] flow-ctl = [none] parity = [none] stop-bits = [1] 2. системные/технические символы Код: # - комментарий (игнорируется) 0x01 - символ/сигнал "начало передачи данных" (на буд. доработку, пока выдает в консоль строку "начало передачи" в режиме отладки --debug=1) 0x04 - символ/сигнал "окончание передачи данных" (--/-- "окончание передачи" ) ; - разделитель данных BR - символ/лы "перенос строки" 3. перенос строки [BR] Код: CR - возврат каретки (carriage return) LF - перевод строки (line feed ) возможна передача как linux, так и windows версии "переноса строки": Код: - Unix/Linux [ LF] or [ '\n'] с/с++ код - Windows [CR+LF] or ['\r\n'] 4. поток данных данные передаются как "пары координат": Код: x;y[BR] пример: Код: 1;1[BR] 2;2[BR] 3;3[BR] plot_dev / видео > plot_dev_01_receiv_data.1.mkv > plot_dev_01_receiv_data.2.mkv прием данных (катушка) / "съем АЧХ" > plot_dev_02_cmn_functional.mkv - общ.функционал / прием данных (тестовый) - select port, pause/run, open/close port > plot_dev_03_save_view.mkv - сохранение и просмотр (3 варианта) аргументы ком.строки - plot_dev_04_arg_cmd_string.mkv plot_file / видео > plot_file_01_dnd_single.mkv - d&d файлов: "single" - наброс поочередно неск. файлов-данных/плотера (*.plt) > plot_file_02_dnd_multi_new_process.mkv - d&d файлов: "multi / new process" - наброс поочередно неск. файлов-данных/плотера (*.plt) - последовательное закрытие всех форм > plot_file_03_dnd_multi_child_form.mkv - d&d файлов: "multi / child form" - наброс поочередно неск. файлов-данных/плотера (*.plt) - закрытие главной формы > plot_file_04_save_part_view.mkv - сохранение "выбранной части" плотера и просмотр - сохранение (3 участка) (*.bmp) - просмотр в граф.просмотрщике > plot_file_05_arg_cmd_string.mkv - аргументы ком.строки, примеры пример работы / видео > install_redos_live_xxx.mkv - запуск live-образа - установка пакета - клик мышкой по *.plt-файлу (файл захвата данных), просмотр графика - сохранение участков графика (в граф. файл *.bmp) - просмотр сохраненных участков в граф. просмотрщике дополнительно, короткие тестовые запуски: > slackware_14.2_gtk2.mkv > ubuntu_22.04.4_gtk2.mkv > ubuntu_22.04.4_qt5.mkv примеры использования аргументов ком.строки коммандный режим (выполнить задачу - открыть файл-данных, сохранить картинку и выйти) имя файла вых.данных формируется как "YYYY.MM.DD_HH.MM.SS" Код: $ plot_file plot_data_A.plt --mode=cmd --out-dir=out_dir --out-name=date-time имя файла вых.данных формируется как "YYYY.MM.DD" Код: $ plot_file plot_data_A.plt --mode=cmd --out-dir=out_dir --out-name=date имя файла вых.данных формируется как "HH.MM.SS" Код: $ plot_file plot_data_A.plt --mode=cmd --out-dir=out_dir --out-name=time захват данных с com-порта, запуск с отладкой, установка каталога вых.данных Код: $ plot_dev ttyUSB0 --debug=1 --out-dir=out-dir захват данных с com-порта, запуск с отладкой, установка каталога вых.данных по умолчанию имя файла вых.данных формируется как "com-port-name", например 'ttyUSB0' Код: $ plot_dev ttyUSB0 --debug=1 --out-dir=out-dir захват данных с com-порта, запуск с отладкой, установка каталога вых.данных имя файла вых.данных формируется как "YYYY.MM.DD_HH.MM.SS" Код: $ plot_dev ttyUSB0 --debug=1 --out-dir=out-dir --out-name=date-time помощь/список аргументов ком.строки: Код: $ plot_file [-h|--help] текущая помощь в текстовых файлах - help_lin.txt - help_win.txt расширения возможностей можно добавить в скрипт какой-либо аргумент (для "дополнительной" настройки приложения), например, сделать out-каталог по умолчанию в домашнем tmp-каталоге. строка запуска будет следующей: Код: ~/bin/plot_file --out-dir=~/tmp сохранить скрипт с соответствующим именем: Код: ~/bin/plot_file_out_tmp и создать *.desktop-файл для запуска данного скрипта (или запускать из ком.строки) так можно автоматизировать свою исследовательскую работу :о) особенности поведения дистр-ов linux, файловых менеджеров и "выходных каталогов" приложения (plot_file, plot_dev) - для сохранения данных используют тот-же каталог, откуда было запущено само приложение. если в командной строке перейти в каталог "~/tmp" а потом запустить приложение, то сохраняться файлы будут именно в каталог "~/tmp" Код: $ cd ~/tmp $ plot_file если вы из "файлового менеджера" кликаете по файлу *.plt для запуска plot_file (показывает график), то "каталог для сохранения" по Ctrl+S - будет зависеть от того: - в каком linux вы работаете - какой файловый менеджер вы используете протестировано было несколькох менеджеров '+' с ожидаемым поведением (сохранение в тот-же каталог, где находятся файлы данных плотера *.plt) '-' сохраняет в HOME/Desktop (но не туда, где был открыт файл данных плотер *.plt)
+ konqueror/kde (kde-plasma) - dolphin tde + dolphin kde + thunar (*) - krusader-1.90/tde - pcmanfm - nautilus (*) - thunar показал исключительно правильное поведение во всех тестируемых linux/рабочих столах. для исправления данной особенности linux-а/файловых менеджеров можно: - использовать арг.ком.строки --out-dir=out-dir - создать скрипт запуска и *.desktop-файл, вызывающий данный скрипт. таким образом мы можем немного исправить положение с "особенностями" линукса. не совсем удобно, но все-таки лучше, чем "складировать" файлы куда попало. можно, так-же, использовать шоткат/команду выбора каталога для сохранения (диалог "выбор выходного каталога"): [Ctl + D] особенности использования usb-com-порта/переходника если программа не видит подключенный com-port (у меня было именно так): смотрим сообщения dmegs до и после подключения порта Код: $ sudo dmesg > dmesg1.txt # до подключения $ sudo dmesg > dmesg2.txt # после подключения $ diff dmesg1.txt dmesg2.txt # смотрим отличия --> 1142a1143,1153 > [ 1627.780644] workqueue: hub_event hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND > [ 1627.906724] usb 1-2: new full-speed USB device number 6 using xhci_hcd > [ 1628.317243] usb 1-2: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.62 > [ 1628.317256] usb 1-2: New USB device strings: Mfr=0, Product=2, SerialNumber=0 > [ 1628.317260] usb 1-2: Product: USB2.0-Serial > [ 1628.320316] ch341 1-2:1.0: ch341-uart converter detected > [ 1628.322853] usb 1-2: ch341-uart converter now attached to ttyUSB0 > [ 1628.912212] input: BRLTTY 6.4 Linux Screen Driver Keyboard as /devices/virtual/input/input11 > [ 1628.919047] usb 1-2: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1 > [ 1628.924073] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0 > [ 1628.924112] ch341 1-2:1.0: device disconnected из чего делаем вывод, что пакет "brltty" конфилктует с плотером. удаляем пакет и библиотеку: brltty & libbrlapi0.8 Код: $ sudo apt remove brltty libbrlapi0.8 shot-cut's / шоткат / клавиатурные сокращения Код: [Alt + Q] (QUICK/SETUP) - вызов формы выбора com-port (quick/быстрые настройки) [Esc ] (ESCAPE ) - закрыть форму выбора com-port [Ctl + O] (OPEN/CLOSE ) - открыть/закрыть (open/close) com-port [Space ] ( ) - прием/пауза (receive run/pause) прием данных [Ctl + S] (SAVE ) - сохранение данных в файл (*.plt) [Ctl + F] (FILE ) - диалог "сохранение данных" в файл (*.plt) / только plot_dev [Ctl + D] (DIRECTORY ) - диалог "выбор выходного каталога" |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |