Добро пожаловать на Форум по станкам с ЧПУ!

Сканаторная голова, запустить под Linux

Тема в разделе "Программы исполняющие G-код", создана пользователем PRO59, 8 окт 2017.

  1. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    В общем это продолжение темы про сканаторную голову, но теперь вопрос с управлением :) (Сканаторная голова, подключение #1 ).


    В общем я ее запустил, и она даже шевелится, но только из под винды.
    К ней есть, родное ПО (простенькое) под винду, под wine запустилось, но башку не видит.
    Есть dll-ка, есть какие-то исходники для управления. Я так понимаю они для подключения этой dll.
    Эти исходники есть для Delphi, Visual Basic, Visual Basic .NET, Visual C++.

    Как это все можно запустить под Linux? (желательно из python :) )

    Вроде как ничего особенного там нет - по usb заполняется лист с УП командами для платы и подаются спец команды к управлению.

    К питону удалось прикрутить dll через ctypes и wine, может есть способ по проще (красивее)?

    ЗЫ файлы от платы:
    (1.18 Мб) Скачиваний: 236

    (433.43 Кб) Скачиваний: 77



    http://www.youtube.com/watch?v=3ZS4kxGk5Ew
     
  2. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    О, нашел вот такой софт, вроде как в поддерживаемом оборудовании значится мой SCANalone: http://www.openapc.com/hardware.php
     
  3. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Попробовал под виндой - вот такая штука работает, и даже дрыгает головой!
    Код:
    # -*- coding: utf-8 -*-
    from ctypes import *
    # Load DLL into memory.
    mydll = windll.LoadLibrary("SCANalone4.dll")
    mydll.goto_xy(10,10)
    
    Но под вайном - не пашет. Я так понимаю у wine хитрые отношения с usb устройствами...
    http://wiki.winehq.org/USB

    Может кто-то сталкивался с подобным и удачно завел USB устройство под вайном?

    Ну или как можно использовать dll в linux?
     
  4. technos

    technos Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    2.288
    Симпатии:
    0
    Эту dll-ку не получится использовать,в lunux, т.к. она работает только через драйвер SLusbWDM.sys, который изначально заточен под виндовс...
    Но, может стоит написать разработчикам? вдруг смогут чем нибудь подсобить?
     
  5. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Уже написал, пока молчат.
    А что это за драйвер?
    Я искал по названию вроде вообще ничего не находило...
     
  6. technos

    technos Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    2.288
    Симпатии:
    0
    В папке с драйверами есть этот файл, он автоматически копируется в каталог windowssystem32drivers при установке драйверов.
    С момента загрузки ОС, начинается постоянный обмен данными со всеми usb устройствами, (есть ли подключение, новые данные, режимы энергопотребления и прочее), и этот драйвер помогает ОС объяснить как работать с данным конкретным устройством.
    Например мышка, клава работают через драйвер hid.sys (вроде так назывался)
     
  7. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Там на самом деле два таких файла. В принципе все понятно, как оно работает, непонятно, как его под linux завести :)
    По идее нужен транслятор который будет покидывать данные.
     
  8. technos

    technos Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    2.288
    Симпатии:
    0
    Или использовать последовательный интерфейс.....
     
  9. rw666

    rw666 Active Member

    Регистрация:
    7 май 2012
    Сообщения:
    20.725
    Симпатии:
    2
    выбросить linux и работать в винде :)
     
  10. technos

    technos Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    2.288
    Симпатии:
    0
    Если при разработке устройства, они решили писать свой драйвер, а не использовать hid драйвер встроенный в ОС, значит им важна была высокая скорость передачи данных, в итоге работа через wine может оказаться весьма нестабильна (если получиться запустить).
    Т.к. в любой ОС драйвера имеют наивысший приоритет исполнения, и ресурсы процессора выделяются намного быстрее, и на более длительный промежуток времени.
    А сам wine запускается как программа, которой ресурсов отдается меньше, и возможно просто нехватает выделяемого времени драйверу?

    Попробуй запустить вот такую программку: https://apps.ubuntu.com/cat/application ... -analyzer/ ты вроде на убунте работаешь?
    И посмотри будет хоть какой-то обмен по USB, т.к. может попытки соединения есть, но тайминги не выдерживаются.
     
  11. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Нет - ничего в usbmon не видно, ни через их программу, ни через мой скрипт.
    При этом при включении платы в usb, что-то точно идет (ну это наверное udev общается).

    По идее ничего особо быстрого там нет. Просто заполняется список команд, который потом выполняется. Список пополняется не в реальном времени, т.е. на это есть куча времени.
     
  12. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    О, немцы ответили:
    Что бы у них попросить, что могло бы помочь?
    Какие-то исходники?
     
  13. technos

    technos Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    2.288
    Симпатии:
    0
    По идее имея исходники данной библиотеки, нужно будет только поправить функции работы с usb линукса, но тут нужен уже программист знакомый с данной областью хорошо. Т.к. тут я не разбираюсь.
     
  14. technos

    technos Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    2.288
    Симпатии:
    0
    А если попробовать virtualbox? или vmvare? данные программы позволяют эмулировать не программу, а целый компьютер, и там проброс usb2.0 у меня в убунте 12, точно работал.
     
  15. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Исходники dll или sys?

    Это уже совсем жирно, не хотелось бы такими методами идти :)
     
  16. vinturist

    vinturist Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    4.991
    Симпатии:
    0
    Ох сейчас тебе линуксоиды щёлбиков наставят, покусился на святое :)
     
  17. junkiebeach

    junkiebeach Active Member

    Регистрация:
    19 янв 2013
    Сообщения:
    1.393
    Симпатии:
    0
    К тому же комп понадобится не слабый и оперативки побольше.
     
  18. Arhi

    Arhi Active Member

    Регистрация:
    7 май 2012
    Сообщения:
    10.435
    Симпатии:
    0
    Спеки на протокол обмена.
     
  19. PRO59

    PRO59 Active Member

    Регистрация:
    11 май 2012
    Сообщения:
    20.080
    Симпатии:
    0
    Кстати, интересно, где можно взять дистрибутив винды, чтобы его поставить в виртуалбоксе? И какой лучше брать?
     
  20. kotbayoun

    kotbayoun Active Member

    Регистрация:
    8 май 2012
    Сообщения:
    5.788
    Симпатии:
    0
    Купить у Microsoft!