qtplasmac 2.10 arc ok, thcad thc, and Thcad Ohmic troubleshooting help needed.

More
20 May 2024 04:26 - 20 May 2024 04:27 #300987 by phillc54

z axis, if failed to home (broken stepper wire) would still cause the x and y axis to move even after it failed!!!!!! had this happen twice over the last year with the thin nema 17 wires breaking at the connectors after all those pierces.


This looks like a LinuxCNC bug, I see the same behaviour in AXIS. I get the below error message but X and Y do go through their homing sequence.

Attachments:
Last edit: 20 May 2024 04:27 by phillc54.

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

More
20 May 2024 07:00 - 20 May 2024 07:04 #300989 by jimmyrig
Might have found it, started an issue.

github.com/LinuxCNC/linuxcnc/issues/2983

this is in the homing.c file

here is the code throwing the error, think it calls home abort for the joint

/* check for reached end of move */
if (! (&joints[jno])->free_tp.active) {
/* reached end of move without hitting switch */
(&joints[jno])->free_tp.enable = 0;
rtapi_print_msg(RTAPI_MSG_ERR,_("j%d end of move in home state %d"),jno, H[jno].home_state);
H[jno].home_state = HOME_ABORT;
return 1; // abort reqd
}


However the home abort case only does the current joint not all of them.

case HOME_ABORT:
H[joint_num].homing = 0;
H[joint_num].homed = 0;
H[joint_num].joint_in_sequence = 0;
joint->free_tp.enable = 0;
H[joint_num].home_state = HOME_IDLE;
H[joint_num].index_enable = 0;
immediate_state = 1;
break;




simple loop might fix the issue??? hope im understanding this correctly. e.g.

case HOME_ABORT:
for (int i = 0; i < all_joints; i++) {
H.homing = 0;
H.homed = 0;
H.joint_in_sequence = 0;
H.home_state = HOME_IDLE;
H.index_enable = 0;
joints.free_tp.enable = 0;
}
immediate_state = 1;
break;
Last edit: 20 May 2024 07:04 by jimmyrig.
The following user(s) said Thank You: phillc54, tommylight

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

More
20 May 2024 17:33 #301017 by jimmyrig
Well i'm trying to fix this but seem to be missing something simple.

running the linuxcnc 2.9.2 downloadable iso for debian 12

pulled master from git
Made the changes,
compiled the code with some prints  using
cd src
./configure
make
sudo make setuid 

with this code 

        case HOME_ABORT:
        rtapi_print_msg(RTAPI_MSG_ERR, "Entering HOME_ABORT state\n");
        for (int i = 0; i < all_joints; i++) {
             rtapi_print_msg(RTAPI_MSG_ERR, "Aborting joint %d\n", i);
            H[joint_num].homing = 0;
            H[joint_num].homed = 0;
            H[joint_num].joint_in_sequence = 0;
            joint->free_tp.enable = 0;
            H[joint_num].home_state = HOME_IDLE;
            H[joint_num].index_enable = 0;
         }
            immediate_state = 1;
            break;


ran it. 
prints did not show up.

Seems like I'm either
1. running the old version of linuxcnc that was installed by default. dont think so as compiling changes it? still seeing 2.9.2 which makes me question (should it be 2.10?)
2. not ever getting to that code somehow...dont think this is it as it in the only place in the source code i can find that error. 
3. getting to that code but the prints are not going through cause I'm misunderstanding how they work. 

Any help would be great!

Thanks
 

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

More
20 May 2024 17:41 #301019 by Aciera
You need to start from the built (RIP) install directory (eg if your are in the /src directory):
$ source ../scripts/rip-environment
$ linuxcnc

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

More
20 May 2024 20:37 #301032 by jimmyrig
Thanks! That ran in 2.10 now!

Still having the same homing issue and error message not showing up. I am probably not understanding the homing code well enough. Will look at again tonight

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

More
21 May 2024 06:07 #301053 by phillc54
Something like this seems to work but I have not comprehensively tested for any side effects.
    /* check for reached end of move */
    if (! (&joints[jno])->free_tp.active) {
        /* reached end of move without hitting switch */
         (&joints[jno])->free_tp.enable = 0;
        rtapi_print_msg(RTAPI_MSG_ERR,_("j%d end of move in home state %d, homing aborted"),jno, H[jno].home_state);
        for (int j = 0; j < all_joints; j++) {
            if (!H[j].homed) {
                H[j].home_state = HOME_ABORT;
            }
        }
        return 1; // abort reqd
    }
 
The following user(s) said Thank You: jimmyrig

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

More
22 May 2024 06:22 #301132 by jimmyrig
will give that a shot and report back. updated the issue as well.

Was wiring things up today and bricked my 7i96 when uploading firmware. Luckly i had a 7i96s on backup which i would have needed anyways for the BOB. Sending it back to Mesa, they will flash it for free (+shipping). Thanks Mesa!


On another note what's the process for editing the UI? seems like the files are under the /lib folder. load them up in qt, edit and restart? I'm sure its more involved than that but not sure where to begin.
looking at adding an axis for the rotary (A) and bar feed (U) and need corresponding home buttons and read outs.

was also thinking of playing around with blue line thickness that shows torch travel between cuts. Sometimes they can be hard to find if needing to restart.

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

More
22 May 2024 06:58 - 22 May 2024 07:01 #301135 by phillc54

On another note what's the process for editing the UI? seems like the files are under the /lib folder. load them up in qt, edit and restart? I'm sure its more involved than that but not sure where to begin.
looking at adding an axis for the rotary (A) and bar feed (U) and need corresponding home buttons and read outs.

The A axis dro and buttons will appear if it is a valid axis in the config, currently XYZABC axes are catered for.
Warning: Spoiler!


For customising the UI, it is best to do it with a USER_COMMAND_FILE in python if possible as this will not get overwritten by any future updates. If the update issue doesn't bother you then the UI is a Qt Designer file and the handler file is a python file.

linuxcnc.org/docs/devel/html/plasma/qtpl...#_custom_python_code

was also thinking of playing around with blue line thickness that shows torch travel between cuts. Sometimes they can be hard to find if needing to restart.

The preview uses the QtVCP GCodeGraphics widget, I think you can change the colours but not the thickness. You may need to dig deeper for that.
linuxcnc.org/docs/devel/html/gui/qtvcp-w...idgets:gcodegraphics
Attachments:
Last edit: 22 May 2024 07:01 by phillc54.

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

More
23 May 2024 19:07 - 23 May 2024 19:08 #301247 by jimmyrig
Thanks, will look qt over the next few weeks as i dial things in. I got the latest code running on debian 10 and the A axis installed and wired up. (debian 12 was giving me latency issues ryzen 3600)
Went to run a file generated from sheetcam and got "g92 offsets are not allowed" error. Documentation seems to want a g38 instead of a g92. 

Including the test file and sheetcam post, sent Les a link to this as well. Not sure which side this lies (should g92 be enabled when tube cutting is 1 or should sheetcam probe with g38) 
Attachments:
Last edit: 23 May 2024 19:08 by jimmyrig.

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

More
23 May 2024 19:21 #301249 by jimmyrig
On another note, that float issue popped up again when cutting some plate for the a axis while on the latest dev branch (turns out when using the rip script make sure to call linuxcnc in the same line!!...doh). Going to check my probing settings and post them if i cant figure it out.

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

Moderators: snowgoer540
Time to create page: 0.174 seconds
Powered by Kunena Forum