Остался такой вопрос: после прерывания выполнения демо-программы диодики еще догоняют начавшийся цикл, и не возвращаются в исходное состояние. Это так задумано или это пофиг? Ибо диодики, конечно, пофиг, но если в таком состоянии будут оставаться уже рабочие пины, то как-то это ..... незнаю, подозрительно
LinuxCNC + Orange Pi (allwincnc)
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
MX_Master, особенно понравилось крутить энкодер 
Остался такой вопрос: после прерывания выполнения демо-программы диодики еще догоняют начавшийся цикл, и не возвращаются в исходное состояние. Это так задумано или это пофиг? Ибо диодики, конечно, пофиг, но если в таком состоянии будут оставаться уже рабочие пины, то как-то это ..... незнаю, подозрительно
Можно как-то перед запуском запоминать состояние и при прерывании выполнения возвращать в исходное (которое было до запуска программы)? Ну то есть не демо, а той которая уже будет работать в связке с MK/LCNC.
Остался такой вопрос: после прерывания выполнения демо-программы диодики еще догоняют начавшийся цикл, и не возвращаются в исходное состояние. Это так задумано или это пофиг? Ибо диодики, конечно, пофиг, но если в таком состоянии будут оставаться уже рабочие пины, то как-то это ..... незнаю, подозрительно
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Диодики продолжают, потому что сопроцессору был выдан приказ ещё до убиения процесса тестовой программки. В этом примере, кстати, начальное состояние пинов никак не запоминается и, соответственно, не восстанавливается. Но ты всегда можешь это сделать самостоятельно с помощью GPIO функций.svb писал(а):Остался такой вопрос: после прерывания выполнения демо-программы диодики еще догоняют начавшийся цикл, и не возвращаются в исходное состояние. Это так задумано или это пофиг?
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
То есть это особенность (данная конкретная реализация) демо-программы. Тогда вопрос переозвучу так: в LCNC можно будет как-то запомнить исходное состояние пинов, чтобы потом вернуть обратно (после завершения задачи) или в иное предопределенное состояние. Будет предусмотрен какой-то механизм?MX_Master писал(а):Диодики продолжают, потому что сопроцессору был выдан приказ ещё до убиения процесса тестовой программки. В этом примере, кстати, начальное состояние пинов никак не запоминается и, соответственно, не восстанавливается. Но ты всегда можешь это сделать самостоятельно с помощью GPIO функций.svb писал(а):Остался такой вопрос: после прерывания выполнения демо-программы диодики еще догоняют начавшийся цикл, и не возвращаются в исходное состояние. Это так задумано или это пофиг?
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Если я правильно помню про LPT драйвер и stepgen в LinuxCNC, там при выходе из LinuxCNC пины не возвращаются в исходное состояние в явном виде.
В нашем драйвере можно сделать всё, что угодно, даже полный возвёрт всего и вся взад.
В нашем драйвере можно сделать всё, что угодно, даже полный возвёрт всего и вся взад.
-
nevkon
- Почётный участник

- Сообщения: 2471
- Зарегистрирован: 17 июл 2015, 10:25
- Репутация: 310
- Настоящее имя: Константин
- Откуда: Балаково (Саратовская обл.)
- Контактная информация:
Re: LinuxCNC + Orange Pi
А это на мой взгляд непорядок. Что произойдет если вдруг будет нажата кнопка e-stop? Будет отрабатываться до последнего? Или все-же есть механизм отмены очереди/остановки процесса?MX_Master писал(а):Диодики продолжают, потому что сопроцессору был выдан приказ ещё до убиения процесса тестовой программки.
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
Я так понял, что это просто особенность демки. Ничего кроме демки не демонстрирует. Просто показывает, что сопр работает, поэтому демка упрощена до минимума.nevkon писал(а):А это на мой взгляд непорядок. Что произойдет если вдруг будет нажата кнопка e-stop? Будет отрабатываться до последнего? Или все-же есть механизм отмены очереди/остановки процесса?MX_Master писал(а):Диодики продолжают, потому что сопроцессору был выдан приказ ещё до убиения процесса тестовой программки.
То есть можно дописать внутрь демки обработку сигналов, но это надо уже серъезно заморачиваться, а цель демки - продемонстрировать работу прошивки сопра.
Последний раз редактировалось svb 23 июл 2018, 20:07, всего редактировалось 1 раз.
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
pulsgen_task_abort (:
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
Вопрос к знатокам: чем отличается бинарник, скомпиленный GCC 4.9.6 от бинарника, скомпиленного GCC 7.2.1 применительно к модулям ядра?
Может ли из-за этого вылезать ошибка, озвученная мной ранее?
Может ли из-за этого вылезать ошибка, озвученная мной ранее?
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
У меня такая ошибка вылезла, когда я пытался запустить программку, собранную под другую архитектуру. Я запускал бинарник, собранный для настольной AMD64/EM64T на апельсине, где armhf.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
Ничем, кроме строчки с сигнатурой gcc. Но в модулях этой сигнатуры нет.svb писал(а):Вопрос к знатокам: чем отличается бинарник, скомпиленный GCC 4.9.6 от бинарника, скомпиленного GCC 7.2.1 применительно к модулям ядра?
Нет. Чаще всего это бывает из-за несоответствя версий ядра и модуля. Внутри бинарника модуля должна быть строчка, начинающаяся с "vermagic=", у твоего модуля они такая-же как и у тех, что загружаются?svb писал(а):Может ли из-за этого вылезать ошибка, озвученная мной ранее?
Ещё можно попробовать забить на соответствие и вычитать, что у modprobe есть опциия --force, но тогда ССЗБ...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
Я почему вдруг внезапно такой вопрос задал? В стародавние времена, когда самыми распространенными версиями GCC были 2.8 и 2.9, вышла версия 3.0. И доп. модули ядра, собранные этой версией, при условии что само ядро и модули, собираемые в процессе сборки ядра, были собраны 2.8/2.9, были несовместимы с форматом существующих. При том что собиралось все на одном и том же компе.
И когда для сборки всей системы (типа LFS) уже вовсю пользовали 3.3, ядро продолжали собирать на 2.9
Вот я и подумал - не это ли причина....
Опять же - в системе сборки Армбиан используется _для_ядра_ 7.2.1, а в систему ставится 4.8/4.9
а так качаются на кой то 4.8, 4.9.4, 5.5.0, 6.4.1, 7.2.1 (это все gnueabihf)
И когда для сборки всей системы (типа LFS) уже вовсю пользовали 3.3, ядро продолжали собирать на 2.9
Вот я и подумал - не это ли причина....
Опять же - в системе сборки Армбиан используется _для_ядра_ 7.2.1, а в систему ставится 4.8/4.9
а так качаются на кой то 4.8, 4.9.4, 5.5.0, 6.4.1, 7.2.1 (это все gnueabihf)
Платы: OPI-PC(умерла), OPI-PC2
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
кажется дело сдвинулось с мертвой точки.... Сейчас еще пару пересборок сделаю, и образ в тестирование запущу.
Платы: OPI-PC(умерла), OPI-PC2
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
Модуль ядра загрузился... Либы (blobs) зацепляться не хотятsvb писал(а):кажется дело сдвинулось с мертвой точки.... Сейчас еще пару пересборок сделаю, и образ в тестирование запущу.
Платы: OPI-PC(умерла), OPI-PC2
-
svb
- Мастер
- Сообщения: 312
- Зарегистрирован: 10 апр 2018, 11:31
- Репутация: 82
- Настоящее имя: Сергей
- Откуда: Нижний Новгород
- Контактная информация:
Re: LinuxCNC + Orange Pi
Сделал автоматическую сборку модуля ядра. Для H5 и для H3.svb писал(а):Модуль ядра загрузился...
Драйвер грузится и Mali определяется в системе.
Единственное НО!
На свежей версии Armbian! На той что в нашей репе - для H3 не собирается.
Осталось победить Blobs
Платы: OPI-PC(умерла), OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
А у нас там не свежая версия (: наша копия на 333 правки отстаёт от оригиналаsvb писал(а):На свежей версии Armbian! На той что в нашей репе - для H3 не собирается.
- going
- Мастер
- Сообщения: 523
- Зарегистрирован: 29 сен 2013, 20:55
- Репутация: 129
- Настоящее имя: Леонид
- Откуда: г.Киров
- Контактная информация:
Re: LinuxCNC + Orange Pi
Armbian build это просто GIT попробуй так:svb писал(а):На свежей версии Armbian! На той что в нашей репе - для H3 не собирается.
http://www.cnc-club.ru/forum/viewtopic. ... 62#p451548
Платы: BPI-M3, BPI-A64, OPI-PC2
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Допилил первую версию linux программки для полноценной работы с сопроцессором. Это уже не просто пример, это полноценная программа, которая позволяет управлять всеми функциями сопроцессора по вашему желанию. На борту есть справка по всем функциями и примеры использования.
https://github.com/orangecnc/h3_arisc_api
Апельсина сейчас нет под руками, так что бинарник выдать не могу. Но, если апельсин подключен к инету, это не проблема:
Примеры запуска:
Вызов функций нужно брать в двойные кавычки, чтобы не ругался bash. Как видно из последней строки, можно за один запуск программы передавать несколько аргументов.
Если при запуске не указывать никаких аргументов, то программа будет работать в режиме STDIN/STDOUT. В этом режиме каждая новая строка принимается как команда, после которой будет выводится ответ. Выйти из этого режима можно командой quit (или exit, или q).
https://github.com/orangecnc/h3_arisc_api
Апельсина сейчас нет под руками, так что бинарник выдать не могу. Но, если апельсин подключен к инету, это не проблема:
Код: Выделить всё
git clone https://github.com/orangecnc/h3_arisc_api.git
cd h3_arisc_api
make allКод: Выделить всё
sudo ./arisc
sudo ./arisc help
sudo ./arisc examples
sudo ./arisc "gpio_pin_setup_for_output(PA,15)"
sudo ./arisc "gpio_pin_clear(PA,15)"
sudo ./arisc "gpio_pin_set(PA,15)" "gpio_pin_get(PA,15)"
# ...
Если при запуске не указывать никаких аргументов, то программа будет работать в режиме STDIN/STDOUT. В этом режиме каждая новая строка принимается как команда, после которой будет выводится ответ. Выйти из этого режима можно командой quit (или exit, или q).
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: LinuxCNC + Orange Pi
Внутрь двойных кавычек shell "заглядывает" и может чего-нибудь подменить, а вот внутрь одинарных не заглядывает...MX_Master писал(а):Вызов функций нужно брать в двойные кавычки, чтобы не ругался bash. Как видно из последней строки, можно за один запуск программы передавать несколько аргументов.
Код: Выделить всё
$ VAR=value
$ echo "$VAR"
value
$ echo '$VAR'
$VAR
$
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- MX_Master
- Мастер
- Сообщения: 7489
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3113
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: LinuxCNC + Orange Pi
Дык, это ж хорошо (:
Код: Выделить всё
PORT=PA
PIN=15
sudo ./arisc "gpio_pin_set($PORT, $PIN)"
sudo ./arisc "gpio_pin_clear($PORT, $PIN)"
sudo ./arisc "gpio_pin_set($PORT, $PIN)"
sudo ./arisc "gpio_pin_clear($PORT, $PIN)"
- Maxekb77
- Мастер
- Сообщения: 1658
- Зарегистрирован: 05 окт 2013, 00:04
- Репутация: 285
- Настоящее имя: Максим
- Откуда: Екатеринбург
- Контактная информация:
Re: LinuxCNC + Orange Pi
Пришла апельсинка сегодня, залил образ вроде как все запустилось. завтра к моторам буду подключать.