Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
на форуме linuxcnc.org напиши.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
А куда, вроде как там нет специальных багосборных разделов?
Да ну их, понаставили капчей на восстановление пароля, словно они известнее github, vk или mail.ru
хоть бы писали, удачно запрос на восстановление сделал или нет.
Можешь сам там написать если аккаунт есть?
Да ну их, понаставили капчей на восстановление пароля, словно они известнее github, vk или mail.ru
хоть бы писали, удачно запрос на восстановление сделал или нет.
Можешь сам там написать если аккаунт есть?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
У меня работает...
Код: Выделить всё
$ grep -i twopass *
axis_mm.ini:HALFILE = twopass.hal
axis_mm.ini:TWOPASS = ON
twopass.hal:loadrt sum2 names=twopass
twopass.hal:setp twopass.in0 [AXIS_0]MAX_VELOCITY
$ dpkg -s linuxcnc | grep Version
Version: 1:2.8.0~pre1.1050.gfdb8d52
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
У меня обсыпался вызов ini вот в этом файле Devices/Mesa/7i76.0/spindle.hal
Видимо для того чтобы это произошло надо надо сделать несколько включений source
SUDA-ST8070_5i25-7i76.hal:
source Devices/Mesa/7i76.0/7i76.hal
..............................................................Devices/Mesa/7i76.0/7i76.hal
..............................................................source Devices/Mesa/7i76.0/spindle.hal
.................................................................................................................Devices/Mesa/7i76.0/spindle.hal
.................................................................................................................setp hm2_5i25.0.7i76.0.0.spinout-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
При этом с вызовом ini в первоначальном файле отрабатывается нормально (SUDA-ST8070_5i25-7i76.hal):
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD base_period_nsec=[EMCMOT]BASE_PERIOD num_joints=[TRAJ]AXES num_dio=[EMCMOT]NUM_DIO num_aio=[EMCMOT]NUM_AIO
Причём при многократном использовании source было ещё и такое отклонение(Файл Devices/Mesa/7i76.0/5i25-6i25.hal):
Я думаю что twopass или source наверно пользуются sed или чем подобным ну конфиг в процессе обработки теряет часть символов.
Видимо для того чтобы это произошло надо надо сделать несколько включений source
SUDA-ST8070_5i25-7i76.hal:
source Devices/Mesa/7i76.0/7i76.hal
..............................................................Devices/Mesa/7i76.0/7i76.hal
..............................................................source Devices/Mesa/7i76.0/spindle.hal
.................................................................................................................Devices/Mesa/7i76.0/spindle.hal
.................................................................................................................setp hm2_5i25.0.7i76.0.0.spinout-minlim [SPINDLE_9]OUTPUT_MIN_LIMIT
При этом с вызовом ini в первоначальном файле отрабатывается нормально (SUDA-ST8070_5i25-7i76.hal):
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD base_period_nsec=[EMCMOT]BASE_PERIOD num_joints=[TRAJ]AXES num_dio=[EMCMOT]NUM_DIO num_aio=[EMCMOT]NUM_AIO
Причём при многократном использовании source было ещё и такое отклонение(Файл Devices/Mesa/7i76.0/5i25-6i25.hal):
torvn77 писал(а):пакость состоит в том, что нормальное исполнение хала обрывается на строке
loadrt hm2_pci config=" num_encoders=3 num_pwmgens=0 num_3pwmgens=0 num_stepgens=0 sserial_port_0=000xx "
при этом hostmot2 загружен.
Re: Фрезер с автосменой DCS M4 #3torvn77 писал(а):Источник сбоя найден, это sserial_port_0=000xx
Не ясно только почему при вызове в halrun этой команды напрямую или скрипта в целом через source сбоя нет,
а если вот так включить в конфиг есть.
Я думаю что twopass или source наверно пользуются sed или чем подобным ну конфиг в процессе обработки теряет часть символов.
Последний раз редактировалось torvn77 30 сен 2015, 02:13, всего редактировалось 1 раз.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Код: Выделить всё
TWOPASS = ON,nodelete,verboseЯ не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Нет, ошибка всё равно происходит:
Код: Выделить всё
Starting LinuxCNC...
(time=1443568930.254304,pid=11329): Registering server on TCP port 5005.
(time=1443568930.254945,pid=11329): running server for TCP port 5005 (connection_socket = 3).
iocontrol: machine: 'mill-suda-8070st-5i25-7i76-logitech_gamepad' version 'unknown'
twopass:invoked with <verbose nodelete> options
twopass: pass0:BEGIN
twopass:found ./SUDA-ST8070_5i25-7i76.hal
twopass: convert ./SUDA-ST8070_5i25-7i76.hal to /tmp/SUDA-ST8070_5i25-7i76.hal.tmp
twopass: converted hal line for tcl from ./SUDA-ST8070_5i25-7i76.hal:
twopass: hal: loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD base_period_nsec=[EMCMOT]BASE_PERIOD num_joints=[TRAJ]AXES num_dio=[EMCMOT]NUM_DIO num_aio=[EMCMOT]NUM_AIO
twopass: tcl: loadrt $::EMCMOT(EMCMOT) servo_period_nsec=$::EMCMOT(SERVO_PERIOD) traj_period_nsec=$::EMCMOT(TRAJ_PERIOD) base_period_nsec=$::EMCMOT(BASE_PERIOD) num_joints=$::TRAJ(AXES) num_dio=$::EMCMOT(NUM_DIO) num_aio=$::EMCMOT(NUM_AIO)
twopass: sourcing: /tmp/SUDA-ST8070_5i25-7i76.hal.tmp
twopass: Error in file ./SUDA-ST8070_5i25-7i76.hal:
invalid command name "SPINDLE_9"
Command not found using ::auto_path=
/usr/lib/tcltk/linuxcnc /usr/share/tcltk/tcl8.5 /usr/lib /usr/local/lib/tcltk /usr/local/share/tcltk /usr/lib/tcltk /usr/share/tcltk
Shutting down and cleaning up LinuxCNC...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Ну показывай /tmp/*.hal.tmp
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Код: Выделить всё
# temporary tcl file generated by twopass.tcl
loadrt trivkins
loadrt $::EMCMOT(EMCMOT) servo_period_nsec=$::EMCMOT(SERVO_PERIOD) traj_period_nsec=$::EMCMOT(TRAJ_PERIOD) base_period_nsec=$::EMCMOT(BASE_PERIOD) num_joints=$::TRAJ(AXES) num_dio=$::EMCMOT(NUM_DIO) num_aio=$::EMCMOT(NUM_AIO)
addf motion-command-handler servo-thread
addf motion-controller servo-thread
source LinuxCNC/linuxcnc.hal
source LinuxCNC/axis-0.hal
source LinuxCNC/axis-1.hal
source LinuxCNC/axis-2.hal
source LinuxCNC/axis-3.hal
source LinuxCNC/axis-4.hal
unlinkp iocontrol.0.user-enable-out
unlinkp iocontrol.0.emc-enable-in
net linuxcnc.estop-loop iocontrol.0.user-enable-out => iocontrol.0.emc-enable-in
source MDI_Commands/mdi_commands.hal
source Interface/Gamepad-devl/Head.hal
source Devices/ToolChange/manual_toolchange.hal
source Devices/Mesa/mesa.hal
source Devices/Mesa/7i76.0/7i76.halкоторой естественно в идущих внизу вызываемых через source hal'ах нет.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Нет, это нормально, это обращение к переменной, которая аналогична [EMCMOT]SERVO_PERIOD
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
А зачем он делает эту замену на аналог.?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Это следует понимать так, что конфиги в hal оставленны для совместимости,
и при реальном исполнении конвертируются в .tcl, с которыми работа уже и идёт?
и при реальном исполнении конвертируются в .tcl, с которыми работа уже и идёт?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Никто ничего не оставлял для совместимости, оно так рождено изначально.
The halcmd language used in .hal files has a simple syntax that is actually a subset of the more powerful general-purpose tcl scripting language.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Сделал эксперимент, переписал Devices/Mesa/7i76.0/spindle.hal
к виду
При TWOPASS=ON похоже что выполняется и ошибается уже в другом месте на AXIS_0.
Зато если TWOPASS закомментировать, то выскакивает ошибка:
Вот так, можно пользоваться только одним из способов записи.
В общем обход для использования TWOPASS есть, но тем не менее.
к виду
Код: Выделить всё
setp hm2_5i25.0.7i76.0.0.spinout-minlim $::SPINDLE_9(OUTPUT_MIN_LIMIT)
setp hm2_5i25.0.7i76.0.0.spinout-maxlim $::SPINDLE_9(OUTPUT_MAX_LIMIT)
setp hm2_5i25.0.7i76.0.0.spinout-scalemax $::SPINDLE_9(OUTPUT_SCALE)Зато если TWOPASS закомментировать, то выскакивает ошибка:
Код: Выделить всё
hm2/hm2_5i25.0: IO Pin 033 (P2-13): IOPort
hm2/hm2_5i25.0: registered
hm2_5i25.0: initialized AnyIO board at 0000:03:00.0
Devices/Mesa/7i76.0/spindle.hal:7: Empty variable name.
Shutting down and cleaning up LinuxCNC...В общем обход для использования TWOPASS есть, но тем не менее.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
У меня работает в любом варианте.torvn77 писал(а):Вот так, можно пользоваться только одним из способов записи.
Код: Выделить всё
$ grep -i twopass *
axis_mm.ini:HALFILE = twopass.hal
axis_mm.ini:TWOPASS = ON,nodelete,verbose
twopass.hal:loadrt sum2 names=twopass
twopass.hal:setp twopass.in0 $::AXIS_0(MAX_VELOCITY)
twopass.hal:setp twopass.in1 [AXIS_0]MAX_VELOCITYЯ не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Я твой тест добавил в основной хал, выкинув из него всё остальное для чистоты эксперимента и
сделал дополнительно test.hal который подключил через source.
Основной файл
test.hal
Секция ini:
Заканчивается с ошибкой
сделал дополнительно test.hal который подключил через source.
Основной файл
Код: Выделить всё
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD traj_period_nsec=[EMCMOT]TRAJ_PERIOD base_period_nsec=[EMCMOT]BASE_PERIOD num_joints=[TRAJ]AXES num_dio=[EMCMOT]NUM_DIO num_aio=[EMCMOT]NUM_AIO
addf motion-command-handler servo-thread
addf motion-controller servo-thread
loadrt sum2 names=twopass
setp twopass.in0 $::AXIS_0(MAX_VELOCITY)
setp twopass.in1 [AXIS_0]MAX_VELOCITY
source test.hal
Код: Выделить всё
setp twopass.in1 [AXIS_1]MAX_VELOCITYКод: Выделить всё
[HAL]
#TWOPASS=OFF
TWOPASS=ON
HALUI = halui
HALFILE = SUDA-ST8070_5i25-7i76.hal
#POSTGUI_HALFILE = SUDA-ST8070_PostGUI.call_list.hal
#SHUTDOWN = SUDA-ST8070_ShutDown.call_list.halКод: Выделить всё
twopass: Error in file ./SUDA-ST8070_5i25-7i76.hal:
invalid command name "AXIS_1"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
В случае TWOPASS=ON файлы, включаемые командой source не конвертятся в tcl.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Признайтесь, вы ведь с самого начала об этом знали
А почему конвертацию для включаемых командой source не сделали?
И вообще, зачем сделали формат hal, если его всё равно в tcl конвертируют?
А почему конвертацию для включаемых командой source не сделали?
И вообще, зачем сделали формат hal, если его всё равно в tcl конвертируют?
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Мне не в чем признаваться.torvn77 писал(а):Признайтесь, вы ведь с самого начала об этом знали![]()
Возможно забыли, возможно специально не стали из-за сильного усложнения реализации.torvn77 писал(а):А почему конвертацию для включаемых командой source не сделали?
Чтоб воспользоваться парсером tcl.torvn77 писал(а):И вообще, зачем сделали формат hal, если его всё равно в tcl конвертируют?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Сбор багов LinuxCNC ( багтрекер bug bugtracker баг )
Так что делать то будем?
Не знающий в чём дело человек может встать на грабли и не знать как обойти их.
Не знающий в чём дело человек может встать на грабли и не знать как обойти их.