Документацию читать пытался, по результатам прочтения этого топика, конкретные разделы. Если бы все было понятно, то не обращался бы на форум...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
 - Репутация: 5183
 - Заслуга: 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
- 
				nkp
 - Мастер
 - Сообщения: 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
			
			
									
									
						- 
				nkp
 - Мастер
 - Сообщения: 8340
 - Зарегистрирован: 28 ноя 2011, 00:25
 - Репутация: 1589
 - Контактная информация:
 
Re: Программная коррекция кривизны портала
такой сборки у меня нет,поэтому проверить не могу...
но думаю,что проблема в #include <linux/kernel.h>
компилятор не видит файл ядра,где объявлена kstrtos32
зы
на mint19 компилируется без проблем
			
			
									
									
						но думаю,что проблема в #include <linux/kernel.h>
компилятор не видит файл ядра,где объявлена kstrtos32
зы
на mint19 компилируется без проблем
- 
				nkp
 - Мастер
 - Сообщения: 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' /
- 
				perelep
 - Кандидат
 - Сообщения: 53
 - Зарегистрирован: 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 КБ) 143 скачивания
 
 
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 Хкуда-то