How to fix "Queue is not empty after probing"

More
11 months 1 week ago #339049 by abs32
In the implementation of the version of the respected comrade. AkkiSan from forum.linuxcnc.org/38-general-linuxcnc-q...bing?start=10#333578

there is a typo that emerged during compilation -
instead of -
e
sleep(0.010);

necessary -
u
sleep(0.010);

Please Log in or Create an account to join the conversation.

More
11 months 1 week ago - 11 months 1 week ago #339083 by abs32
So far, I’ve taken turns backporting to version 2.9.4 and running matrixkins + Probe tripped during non-probe move

The first attempt to use the AkkiSan forum.linuxcnc.org/38-general-linuxcnc-q...bing?start=10#333578 sentence

it showed a strange result - the signal #5070=1 and ... stopped appearing.
If there are specific proposals for correction github.com/LinuxCNC/linuxcnc/blob/master...4ngc/rs274ngc_pre.cc

I'm ready to test them in practice


I was not too lazy to download the source code of different versions of the program. In my (previously) main 2.8.4 this error never appeared, the records were 59,000 continuous measurement points. So the file src/emc/rs274ngc/rs274ngc_pre.cc before version 2.9.7 has not undergone any significant changes. The block of code we were interested in remained unchanged 
Code:
    if (settings->probe_flag) {     CHKS((GET_EXTERNAL_QUEUE_EMPTY() == 0),          NCE_QUEUE_IS_NOT_EMPTY_AFTER_PROBING);     set_probe_data(&_setup);     settings->probe_flag = false;     }
Code:
  if (_setup.probe_flag) {     CHKS((GET_EXTERNAL_QUEUE_EMPTY() == 0),         NCE_QUEUE_IS_NOT_EMPTY_AFTER_PROBING);     set_probe_data(&_setup);     _setup.probe_flag = false;   }
Last edit: 11 months 1 week ago by abs32.

Please Log in or Create an account to join the conversation.

More
10 months 3 weeks ago #339885 by andypugh
The second example is compiled-out by
github.com/LinuxCNC/linuxcnc/blame/maste...s274ngc_pre.cc#L1542
(But I am not clear why, the commit message doesn't really say: github.com/LinuxCNC/linuxcnc/commit/b96c...de5e67d2dde0339bece3 )

So, it must be the first one causing the issue.

Did you try adding a queue-buster as suggested? (Not that that is the right fix, but maybe it will tell us something)

Please Log in or Create an account to join the conversation.

More
10 months 3 weeks ago #339896 by abs32
Yes, I tried it and reported the result—it doesn't help.

Please Log in or Create an account to join the conversation.

More
10 months 2 weeks ago #340257 by abs32
I conducted a large series of experiments with different sensor settings and different ini + hal settings.
First, I achieved smooth operation of the sensor (of my own design) in version 2.8.4. The Chinese sensor could perform 40,000-50,000 continuous measurements (with 38.5 disabled). My sensor completed the entire task, more than 500,000.
That is, it has been established that the quality of the sensor directly affects the appearance of the error “Probe tripped during non-probe move”.
And with the same settings in version 2.9.7, the error “Queue is not empty after probing” recurs. That is, the appearance of the error does not depend on the sensor. The question remained: does this error appear during the working stroke 38.2-38.3 and the reverse?
I disabled the “until open” movement option, as in version 2.8.4, and the error “Queue is not empty after probing” did not appear. Previously, it was not possible to obtain more than 25,000 measurements. The experiment was interrupted at 40,000. Consequently, the error “Queue is not empty after probing” occurs when executing g38.5, during execution. After g38.3, I have a G1 up command.

To disable the possibility of 38.4-38.5 on the defunct Russian forum (к сожалению, я не помню имени автора решения, но честь ему и хвала), such a modification of hal was proposed and tested by me over hundreds of hours of work and hundreds of thousands of measurements -

Code:
#датчик probe net probe-in <= parport.0.pin-13-in-not #net probe-in => motion.probe-input (это в случае работы с G38.5) #здесь пытаемся убрать ошибку "probe tripped during non-probe mode" #https://www.cnc-club.ru/forum/viewtopic.php?f=15&t=31612 # Загружаем компонент select8 loadrt select8 count=1 addf select8.0 servo-thread ## Сигнал от датчика подаем на вход разрешения select8 net probe-in select8.0.enable ## Номер режима ведем на вход выбора net motion-mode motion.motion-type select8.0.sel ## Выход 5 select8 - ко входу для датчика net probesel select8.0.out5 motion.probe-input
The following user(s) said Thank You: grandixximo

Please Log in or Create an account to join the conversation.

More
10 months 6 days ago - 10 months 6 days ago #340510 by grandixximo
@ abs32

can you share a screenshot after running on your system

latency-histogram

for a few minutes with a few glxgears running?
Last edit: 10 months 6 days ago by grandixximo.

Please Log in or Create an account to join the conversation.

Time to create page: 0.488 seconds
Powered by Kunena Forum