Документацию читать пытался, по результатам прочтения этого топика, конкретные разделы. Если бы все было понятно, то не обращался бы на форум...Serg писал(а): ↑18 май 2021, 23:00В первую очередь надо не топики читать, а документацию: http://linuxcnc.org/docs/devel/html/con ... gt_section
Программная коррекция кривизны портала
- alejandro52
- Новичок
- Сообщения: 4
- Зарегистрирован: 28 ноя 2020, 06:22
- Репутация: 0
- Настоящее имя: Alexander
- Контактная информация:
Re: Программная коррекция кривизны портала
Re: Программная коррекция кривизны портала
Для случая "дельта тоже по Х" даже не представляю. Я терминал кормлю командой с парой У и соответствующее ему смещение Х.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Программная коррекция кривизны портала
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- alejandro52
- Новичок
- Сообщения: 4
- Зарегистрирован: 28 ноя 2020, 06:22
- Репутация: 0
- Настоящее имя: Alexander
- Контактная информация:
Re: Программная коррекция кривизны портала
Всем спасибо, проблема решена
- kaa
- Новичок
- Сообщения: 9
- Зарегистрирован: 10 ноя 2020, 09:17
- Репутация: 1
- Настоящее имя: Александр
- Откуда: Красноярск
- Контактная информация:
Re: Программная коррекция кривизны портала
Добрый день!MX_Master писал(а): ↑22 янв 2020, 09:52https://github.cnc32.ru/MX_Master/linux ... krivkins.ca321 писал(а):По этой ссылке, как и по аналогичным в этой теме, ничего не скачивается, ошибка 404.
Можно Вас попросить перезалить кинематику? Данная ссылка не доступна.
- kaa
- Новичок
- Сообщения: 9
- Зарегистрирован: 10 ноя 2020, 09:17
- Репутация: 1
- Настоящее имя: Александр
- Откуда: Красноярск
- Контактная информация:
Re: Программная коррекция кривизны портала
Пытаюсь установить, выскакивают предупреждения о не явном объявлении фукции:
root@debiancnc:/home/kaa# halcompile --install krivkins.c
Compiling realtime krivkins.c
krivkins.c: In function ‘rtapi_app_main’:
krivkins.c:414:18: warning: implicit declaration of function ‘kstrtou32’; did you mean ‘strtok_r’? [-Wimplicit-function-declaration]
retval = kstrtou32(token, 10, (uint32_t*) &_axis[axis].adj_steps);
^~~~~~~~~
strtok_r
krivkins.c:455:18: warning: implicit declaration of function ‘kstrtos32’; did you mean ‘strtok_r’? [-Wimplicit-function-declaration]
retval = kstrtos32(token, 10, (int32_t*) &_axis[axis].adj_offset);
^~~~~~~~~
strtok_r
Linking krivkins.so
cp krivkins.so /usr/lib/linuxcnc/modules/
root@debiancnc:/home/kaa#
При попутке запустить ЛинуксСНС с этой машиной выдает ошибки
Debug file information:
./123.hal:1: Warning: File contains DOS-style line endings.
Note: Using POSIX realtime
krivkins: dlopen: /usr/lib/linuxcnc/modules/krivkins.so: undefined symbol: kstrtou32
./123.hal:1: waitpid failed /usr/bin/rtapi_app krivkins
./123.hal:1: /usr/bin/rtapi_app exited without becoming ready
./123.hal:1: insmod for krivkins failed, returned -1
918
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
Подскажите, пожалуйста, в какую сторону копать? Версия LunuxCNC 2.8.2
root@debiancnc:/home/kaa# halcompile --install krivkins.c
Compiling realtime krivkins.c
krivkins.c: In function ‘rtapi_app_main’:
krivkins.c:414:18: warning: implicit declaration of function ‘kstrtou32’; did you mean ‘strtok_r’? [-Wimplicit-function-declaration]
retval = kstrtou32(token, 10, (uint32_t*) &_axis[axis].adj_steps);
^~~~~~~~~
strtok_r
krivkins.c:455:18: warning: implicit declaration of function ‘kstrtos32’; did you mean ‘strtok_r’? [-Wimplicit-function-declaration]
retval = kstrtos32(token, 10, (int32_t*) &_axis[axis].adj_offset);
^~~~~~~~~
strtok_r
Linking krivkins.so
cp krivkins.so /usr/lib/linuxcnc/modules/
root@debiancnc:/home/kaa#
При попутке запустить ЛинуксСНС с этой машиной выдает ошибки
Debug file information:
./123.hal:1: Warning: File contains DOS-style line endings.
Note: Using POSIX realtime
krivkins: dlopen: /usr/lib/linuxcnc/modules/krivkins.so: undefined symbol: kstrtou32
./123.hal:1: waitpid failed /usr/bin/rtapi_app krivkins
./123.hal:1: /usr/bin/rtapi_app exited without becoming ready
./123.hal:1: insmod for krivkins failed, returned -1
918
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime
Подскажите, пожалуйста, в какую сторону копать? Версия LunuxCNC 2.8.2
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Программная коррекция кривизны портала
а что за дистр ? (ядро)
- kaa
- Новичок
- Сообщения: 9
- Зарегистрирован: 10 ноя 2020, 09:17
- Репутация: 1
- Настоящее имя: Александр
- Откуда: Красноярск
- Контактная информация:
Re: Программная коррекция кривизны портала
LinuxCNC 2.8.2 Debian 10 Buster PREEMPT-RT ISO
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Программная коррекция кривизны портала
такой сборки у меня нет,поэтому проверить не могу...
но думаю,что проблема в #include <linux/kernel.h>
компилятор не видит файл ядра,где объявлена kstrtos32
зы
на mint19 компилируется без проблем
но думаю,что проблема в #include <linux/kernel.h>
компилятор не видит файл ядра,где объявлена kstrtos32
зы
на mint19 компилируется без проблем
-
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Программная коррекция кривизны портала
если таки проблема в этом - можно пробовать полный путь указать:
#include </usr/src/linux-headers-4.14.148-rtai-amd64/include/linux/kernel.h>
только ядро свое указать
глянуть заголовочный файл (путь к нему) можно:
grep -rl 'kstrtos32' /
#include </usr/src/linux-headers-4.14.148-rtai-amd64/include/linux/kernel.h>
только ядро свое указать
глянуть заголовочный файл (путь к нему) можно:
grep -rl 'kstrtos32' /
-
- Кандидат
- Сообщения: 43
- Зарегистрирован: 29 янв 2022, 10:49
- Репутация: 1
- Контактная информация:
Re: Программная коррекция кривизны портала
По ссылке на krivkins.c ни чего нет что-то. Можете перезалить?
Re: Программная коррекция кривизны портала
Автор MX_Master выложил viewtopic.php?p=637893#p637893 последний актуальный вариант - см. аттач. Однако имеется фано какая-то путанница - ранее объявлялось, что в связи с развитием модуль переименован в relkins и на Тадам-2 я использовал его. Равно как и примеры использования обращаются к relkins.
Последний актуальный пример использования выше приведен как viewtopic.php?p=463839#p463839 -
loadrt krivkins coordinates=XYZ adjust=Z from=XY steps=3 step_size=100 offset=0
setp krivkins.adjZ.X100_Y100 0.1
Сейчас все (многие) используют по несколько моторов на ось. Где-то выше (viewtopic.php?p=462253#p462253) были примеры запуска предыдущих версий вида -
loadrt relkins coordinates=XYZX adjust=X,Y from=Y,X steps=11,5 step_size=50,100 offset=-250,100
# настройка точек коррекции для оси X от позиции оси Y
setp relkins.adjX.Y-250 0.0
# настройка точек коррекции для оси Y от позиции оси X
setp relkins.adjY.X100 0.0
В этой связи внесите пожалуйста ясность - коррекция идет по каждому мотору (пример был viewtopic.php?p=459839&sid=aabb72ed0936 ... 30#p459839) отдельно или по осям?
- Вложения
-
- krivkins.c
- (14.51 КБ) 97 скачиваний
Re: Программная коррекция кривизны портала
Отвечаю сам себе -
1. двигает оси. С моторами разбирается сам.
2. актуальная версия - это не krivkins, а relkins
актуализировал для LinuxCNC2.8.2 на август 2022г. для пяти моторов совокупно здесь viewtopic.php?p=634350#p634350
Для меня осталось не ясным, как сделать коррекцию не на одной линии, а на всем поле.
На одной линии - в минимальном У и максимальном У указываем смещение Х -
setp relkins.adjX.Y-25 0.0
setp relkins.adjX.Y1004 3.0
Это работае на всем поле.
Хотелось бы сделать несколько таких "столбиков", а-ля
setp relkins.adjX100.Y-25 0.0
setp relkins.adjX100.Y1004 3.0
setp relkins.adjX500.Y-25 0.0
setp relkins.adjX500.Y1004 3.0
но такое не прокатывает, ругается -
halcmd show pin relkins
Component Pins:
Owner Type Dir Value Name
6 float IN 0 relkins.adjX.Y-25
6 float IN -100 relkins.adjX.Y1200
halcmd setp relkins.adjX100.Y1200 -300
<commandline>:0: parameter or pin 'relkins.adjX100.Y1200' not found
Логику же автора
## настройка точек коррекции для оси X от позиции оси Y
# setp relkins.adjX.Y-25 0.0
# setp relkins.adjX.Y1004 3.0
#
## настройка точек коррекции для оси Y от позиции оси X
# setp relkins.adjY.X100 0.0
# setp relkins.adjY.X200 0.1
# setp relkins.adjY.X300 0.2
# setp relkins.adjY.X400 0.1
# setp relkins.adjY.X500 0.0
пока не понял. Как я понимаю, это двигает ось У при перемещении вида G1 Хкуда-то
1. двигает оси. С моторами разбирается сам.
2. актуальная версия - это не krivkins, а relkins
актуализировал для LinuxCNC2.8.2 на август 2022г. для пяти моторов совокупно здесь viewtopic.php?p=634350#p634350
Для меня осталось не ясным, как сделать коррекцию не на одной линии, а на всем поле.
На одной линии - в минимальном У и максимальном У указываем смещение Х -
setp relkins.adjX.Y-25 0.0
setp relkins.adjX.Y1004 3.0
Это работае на всем поле.
Хотелось бы сделать несколько таких "столбиков", а-ля
setp relkins.adjX100.Y-25 0.0
setp relkins.adjX100.Y1004 3.0
setp relkins.adjX500.Y-25 0.0
setp relkins.adjX500.Y1004 3.0
но такое не прокатывает, ругается -
halcmd show pin relkins
Component Pins:
Owner Type Dir Value Name
6 float IN 0 relkins.adjX.Y-25
6 float IN -100 relkins.adjX.Y1200
halcmd setp relkins.adjX100.Y1200 -300
<commandline>:0: parameter or pin 'relkins.adjX100.Y1200' not found
Логику же автора
## настройка точек коррекции для оси X от позиции оси Y
# setp relkins.adjX.Y-25 0.0
# setp relkins.adjX.Y1004 3.0
#
## настройка точек коррекции для оси Y от позиции оси X
# setp relkins.adjY.X100 0.0
# setp relkins.adjY.X200 0.1
# setp relkins.adjY.X300 0.2
# setp relkins.adjY.X400 0.1
# setp relkins.adjY.X500 0.0
пока не понял. Как я понимаю, это двигает ось У при перемещении вида G1 Хкуда-то