Посмотрел, setserial работает с железными портами. В нашем случае с эмуляцией драйвером не подходит. Поигрался ещё раз с настройками oscillink. Понижение скорости порта в настройках коннекта отражается на PPS и FPS. Повышение свыше 38400/57600 уже нет. Надо будет таки попробовать собрать драйвер от производителя, вместо встроенного в ядро.
Для проверки предположения, что таймер в Wine срабатывает слишком редко, в новой версии библиотеки сделано тактирование приемника от двух быстрых таймеров Windows, и работа по прерыванию от COM-порта (включая виртуальные).
Для проверки предположения, что таймер в Wine срабатывает слишком редко, в новой версии библиотеки сделано тактирование приемника от двух быстрых таймеров Windows, и работа по прерыванию от COM-порта (включая виртуальные).
Вроде задача достижения приличных FPS почти решена.
Настройки оболочки: - отключить Auto в триггере - установить пиковый режим - установить 10us/div - установить свободную развертку (кнопка F) - в Display-Show time уменьшить простой процессора до 2мс/кадр.
На машине с ALD 4.1.1 / E2160 1,80GHz wine 1.1.13
Timing - Parsing timer:
Standart - 14 FPS Fast NT API - 31-34(52-55) FPS - в скобках значение, полученное при другом запуске оболочки. Multimedia - 38-41 FPS - здесь при другом запуске не изменилось
То же в режиме измерения PPS:
- вызвать управление соединением (Link-Setup), и в нем включить счетчик пакетов/сек (Timing - PPS meter) - включить трансляцию пакетов в буфер обмена (Clipboard export) - свернуть окно осциллографа
Standart - 17 PPS Fast NT API - 62-67 PPS - здесь при другом запуске не изменилось Multimedia - 89-101 PPS - здесь при другом запуске не изменилось
Птица Timing - COM Receive event влияния на PPS/FPS не оказывает
На нетбуке с Simply Linux 5.0.1 / Атом 1,6GHz wine 1.1.44
Запуск неустойчивый. На Standart - 10 FPS При первом запуске оболочки переключения Fast NT API, Multimedia проходили успешно, давая при этом результат приблизительно вполовину меньший от десктопной машины. При повторных запусках стойкое зависание при попытках переключения системного таймера. Возможно версия wine чего-то не переваривает.
спасибо, значит - предположение верно: в NT-системах стандартный таймер 10-15мс, в 98/ME - 64мс, а в Wine - сделали еще хуже. Ну что ж, удалось обойти это дело.
K. wrote:
- в Display-Show time уменьшить простой процессора до 2мс/кадр.
порой при 2мс/кадр получалось меньше FPS, чем при 5. Причина не ясна. Может, Windows не хватало 2мс для остальных дел, и ей приходилось повторно прерывать наш процесс.
K. wrote:
Птица Timing - COM Receive event влияния на PPS/FPS не оказывает
она задействована только при Standart timer. Между тактами стандартного таймера разрешается один прием по прерыванию, что потенциально удваивает FPS.
запускаю под Ubuntu10.04+Wine 1.3.6 - работает,но при попытке сохранить картинку в BMP или JPG или в бинарном файле-зависает глухо.Может можно как-то подточить?
Похожее было при сохранении настроек в linux, надо посмотреть как обошли (и обошли ли). А в gif сохранять пробовали? Как временная мера - копируйте картинку в буфер обмена, а оттуда paste в любой редактор/вьювер. Например, lister (imagine) от Total Commander, который, кстати, вдвое лучше сжимает GIFы, чем встроенный в winoscill упаковщик.
все-таки крашится. пришли платы и осциллы, пробую с ними - тоже самое.
vlad@netbook ~ $ uname -a Linux netbook 2.6.35.8-calculate #1 SMP PREEMPT Sun Nov 28 01:12:12 VLAT 2010 i686 Intel(R) Atom(TM) CPU N450 @ 1.66GHz GenuineIntel GNU/Linux vlad@netbook ~ $ wine --version wine-1.3.4
программа - последняя бета, 1.4.0, либа 1.2.0,
Run-time error '13': Type mismatch
Именно при подключении осцилла, программа работает нормально. как бы мне отловить, из-за чего глюк? винда(7-ка) все нормально работает. приходится на "показуху"(выезд с целью демонстрации) брать большой ноут
А в какой момент падает? В момент подключения к порту? Как вариант - попробовать текущую не бету(1.2х) Ещё в 1.4.0 у меня глючили переключения режимов таймера. Тоже как вариант - оставить стандартный таймер или нащупать более быстрый, но рабочий.
wine-1.1.44-eter2 от etersoft может на ванильном wine не будет глючить.
На десктопе с ванильной версией, но более старой не глючит.
стабильная тоже глючит, не написал. падает именно при начале обмена, на неподключененный к осциллу кабель(с usb-uart на силабсе) реагрует нормально - no answer.. сейчас вайн откачу, посмотрим
просто нужно сбросить настройки в начальные. Но перед этим - сохранить в файл ветку реестра HKEY_CURRENT_USER\Software\OKB ROSA\Oscill DSO1 и прислать этот файл, чтобы выяснить комбинацию настроек, приводящуюю к падению. В сущности, сбросить настройки - удалить эту ветку реестра. Встроенный редактор реестра - в командной строке Windows набрать regedit.
С одной стороны, чистый реестр (начальные настройки) - значит, оболочка не виновата, ведь в остальных случаях с начальными настройками всё в порядке. Но с другой стороны, "Run-time error '13': Type mismatch" - это внутренняя ошибка в оболочке: в оболочку пришли какие-то искаженные данные, и она крашнулась. Чинить надо с обоих сторон: и оболочка не должна падать в данной ситуации, и система не должна портить данные. В след.версии oscilink.dll будет логгинг обмена.
Привет всем! Запутался немного.Запускаю осцилл под Ubuntu 10.04 >> Virtualbox 4.0.8 >> WinXP Раньше работало нормально,обновил виртуалбокс, сообщает что нету драйвера УСБ для осцилл:
Устанавливал USB20.exe согласно инструкции. USB-порт виден,диспетчер устройств видит Silicon Labs Oscill USB без драйвера. Что вручную ему подключить? Кто знает, как подправить? Спасибо!
Вам нужен не USB драйвер, а COM-порт, который виртуалбокс пробросил в гостевую систему. Если основная система не менялась - то VCP драйвер oscill-а в ней остался, и oscill виден в linux-е. Осталось настроить виртуалбокс на отображение внутри себя этого порта, и в настройках oscill (Link-Setup) поставить нужный номер COM-порта.
Привет всем! Запутался немного.Запускаю осцилл под Ubuntu 10.04 >> Virtualbox 4.0.8 >> WinXP Раньше работало нормально,обновил виртуалбокс, сообщает что нету драйвера УСБ для осцилл:
Устанавливал USB20.exe согласно инструкции. USB-порт виден,диспетчер устройств видит Silicon Labs Oscill USB без драйвера. Что вручную ему подключить? Кто знает, как подправить? Спасибо!
Ещё посмотрите внимательно с какой версии обновлялись. В Виртуалбоксе, в версиях 4.хх, вынесли поддержку USB в отдельный пакет допфункционала. Помимо виртуалбокса нужно ещё поставить соответствующий Oracle_VM_VirtualBox_Extension_Pack-4.х.х-ххххх.vbox-extpack