UAVpilot переключал из своего скетча ,так что с платой у тебя все в порядке скорей всего...solo писал(а):А че у меня такой проблема меня тоже это все удивляет
а косяк где то в коде(кто то криворукий написал
UAVpilot переключал из своего скетча ,так что с платой у тебя все в порядке скорей всего...solo писал(а):А че у меня такой проблема меня тоже это все удивляет
Так все же работает. Значит правильно все подключено. А вот задержки - это результат работы драйвера модбас в пользовательском потоке.solo писал(а):Мне бы если бы объяснили по доступней чего куда втыкать на какие пимпочки жимить а то я
Не увидел, где на питоне написано. Все вроде на С.UAVpilot писал(а):Дело не столько в драйвере (порт в компе полностью аппаратный), сколько в ответном компоненте, написанном на Питоне.
Лично я не хочу тратить время на RTAI. Как будет хотя-бы предрелиз на другом RT, то будет видно...solo писал(а):Так может общими усилиями можно сотворить "ответный компонент" который будет работать более стабильно . с меняи тестирование
Я внимательно не смотрел - вроде встречались тут какие-то скрипты на питоне...Impartial писал(а):Не увидел, где на питоне написано. Все вроде на С.
nkp вроде все разложил по полочкам. Лучше не получится.solo писал(а):Так может общими усилиями можно сотворить "ответный компонент" который будет работать более стабильно . с меня и тестирование
я уже писал:Impartial писал(а):Нужен драйвер работающий в потоке реального времени. Тут уже были советы перенести его туда, но как это сделать толком никто не знает. Я, например, не знаю возможно ли это вообще.
Можно для начала DMA задействовать - формировать сразу всю посылку на передачу и сливать за один раз. С приёмом чуток сложнее, но тоже решабельно.Impartial писал(а):Последовательный порт эффективно можно обрабатывать только по прерываниям.
Не надо никуда лезть, всё доступно в userspace.Impartial писал(а):А вот чтобы сделать работу по прерываниям нужно лезть в ядро линукса.
Поинтересуйся на досуге почему wince на arm появилась почти мгновенно, а настоящую многозадачную ОС только в win8 асилили...Impartial писал(а):Я чем дальше разбираюсь с линуксом, тем больше уважаю микрософт.
Можно проще. У нынешних COM-портов есть FIFO минимум по 16 байт на прием и передачу. Вполне достаточно, чтобы целиком поместились небольшие пакеты modbus. Так что, если разрешить FIFO, можно выплевывать пакет целиком и не заботиться о переполнении буферов. То же и с приемом. Можно изредка (в сервоцикле) опрашивать наличие данных. Как появятся - выгребать.UAVpilot писал(а):Можно для начала DMA задействовать
Ком порт в стандартной архитектуре IBM не подключен к ДМА. Так что обмен по ДМА невозможен.UAVpilot писал(а):Можно для начала DMA задействовать - формировать сразу всю посылку на передачу и сливать за один раз. С приёмом чуток сложнее, но тоже решабельно.
Не поможет. Заполнение фифо все равно нужно опрашивать. И какая разница в этом случае каждый байт или фифо полностью.Сергей Саныч писал(а):Можно проще. У нынешних COM-портов есть FIFO минимум по 16 байт на прием и передачу.
Мы находимся на форуме любителей и говорить загадками, по моему , не очень хороший вариант.UAVpilot писал(а):Поинтересуйся на досуге почему wince на arm появилась почти мгновенно, а настоящую многозадачную ОС только в win8 асилили...
Существенная. Имея аппаратный FIFO, можно быстро загнать туда целый пакет и не спеша, раз в сервоцикл или еще реже опрашивать готовность приема. Достаточный размер буферов фифо (больше пакета) гарантирует отсутствие потери данных.Impartial писал(а): Заполнение фифо все равно нужно опрашивать. И какая разница в этом случае каждый байт или фифо полностью.
Системой. Мы же планируем отобрать порт у ОС и работать с ним сами. В serport это как-то сделано, но я пока не вникал, как именно. Потом можно порт перенастроить под свои нужды.UAVpilot писал(а):FIFO задействовано по дефолту
Impartial писал(а):Есть в этом одно НО
По USB всяко полнО неопределенностей, даже при безупречной работе адаптеров. Работать с USB, не используя драйверы ОС - это нереально (практически). COM-порт же - довольно простая железяка.nkp писал(а):но не лучше ли в любом случае исключить юсб??
У меня такое тоже было (USB адаптер на базе FT-232). Вылечилось исключением кабелей USB (адаптер втыкается прямо в материнку).nkp писал(а):вот solo выше говорил о помехах,вырубающих модбас...