New pin motion.base-feedrate in master branch
Does your HAL pin suffer from the not-synched-to-motion problem?
Maybe it's not much of a problem usually.. only comes up if you change the feedrate in the program - status shows the last feed code in the program as soon as the interpreter reads that far ahead.
Chris
Please Log in or Create an account to join the conversation.
That HAL pin must be requested-vel?
Does your HAL pin suffer from the not-synched-to-motion problem?
Maybe it's not much of a problem usually.. only comes up if you change the feedrate in the program - status shows the last feed code in the program as soon as the interpreter reads that far ahead.
It is the hal pin of a gladevcp spinbutton that is set by the user or from a file of materials.
Please Log in or Create an account to join the conversation.
I had a bit of a play swappiing some pins around but did not see the cornerlock ever cut in even without me changing anything. But it should have. Does it need to be cutting for it to kick in? I was only dry cutting.
Also, what was the purpose of the pin plasmac.requested_velocity? I could not see it was used.
Chris, leave it as it is in device units per minute. I assume you meant inches per minute, not feet per minute. It seems internally the Plasmac component converts velocities per second to device units per minute.
I have ventured into state tags for a look. I don't think its terribly hard, just lots of it becasue the tags structure need updating at every point a message is sent. So its lots of cut and paste. But everybody ran scared when they saw how many changes in the commits with out looking at what they are. Also, you could cheat and write new task and io modules so they could be deployed without breaking anything. I was able to copy a couple of folders and update the make files in about 30 minutes to create my own task and io modules (which were exact copies of milltask and io modules) but heck it all compiled with master branch.
Please Log in or Create an account to join the conversation.
Cornerlock only from memory.So Phill, do we only need this for cornerlock? Thats my understanding. I just wondered if you used it for anything else.
I think you need Arc OK plus THC ActiveI had a bit of a play swappiing some pins around but did not see the cornerlock ever cut in even without me changing anything. But it should have. Does it need to be cutting for it to kick in? I was only dry cutting.
I must have left that in after i ripped out the remap junk, I am sure it is not used.Also, what was the purpose of the pin plasmac.requested_velocity? I could not see it was used.
Please Log in or Create an account to join the conversation.
The nice thing here is if we do get statetags we could just rip out my new NML message and add the HAL pin to the new statetag code (I assume anyways)
I'll wait to see if any other developers comment on the code and if all good, i'll clean it up a merge it in a few days. The pin name will change.
Thanks Rod for testing!
Chris
Please Log in or Create an account to join the conversation.
I must have left that in after i ripped out the remap junk, I am sure it is not used.Also, what was the purpose of the pin plasmac.requested_velocity? I could not see it was used.
Its used in some calculations but only in the absence of a cutting velocity so it has no effect. I might have a look at using that pin and changing the corner lock code to just use requested velocity and see how it goes.
Please Log in or Create an account to join the conversation.
At line 908, change this:
/* set feed rate for this cut */
if(cut_feed_rate > 0){
requested_feed_rate = cut_feed_rate;
}else{
requested_feed_rate = requested_velocity;
}
/* set feed rate for this cut */
requested_feed_rate = requested_velocity;
Where in hal you do tis:
base-feedrate <= motion.base-feedrate
base-feedrate => plasmac.requested-velocity
We just have to change the plasma pin name becasue the term velocity implies it is in machine units per second.
I should get a chance to try that and update my postprocessor in a few hours.
I don't think there is any need to use any conditional code becasue if you don't have a feed rate, you are going to get a gcode error well before this code has any effect.
Please Log in or Create an account to join the conversation.
So by using fcode pin you could have different feedrate in the program and wouldn't need to adjust the gui spinbutton at the right moment.
I think the feedrate stays in the GUI becasue its set in the materials list and a user (or a postprocessor) can ask plasmac to retrieve a given material to use for the cut job from Gcode. This sets up all of the hal environment but the one thing it could not do in Hal was set the feedrate. That had to happen in Gcode.
So after a lot of prodding, Phill tried to use remap and found it was a pain. Then he tried using the tool changer but plasma cutting parameters are so vastly different to a milling machine, this did not work. So then loading the materials for given material number and setting the feedrate became:
M190 Pn (Ask Plasmac to retrieve tool n into the GUI and set the hal cut parameters)
M66 P3 L3 Q1 (Wait for Plasmac to acknowledge its done)
F#<_hal[plasmac.cut-feed-rate]> (set the feed rate as the pin will now be what is set in material n)
This made Plasmac the master of everything when typically the postprocessor is the master.
So this pin will avoid the kludge of the hal pin and allow gcode to be written normally. But managing the materials is still required. I think I have over 80 materials defined for my machine based on the manufacturer's cut charts.
Please Log in or Create an account to join the conversation.
As far as PlasmaC is concerned I need to think a lot more about this but at the moment I cannot see any advantage for PlasmaC to use this new pin.So this pin will avoid the kludge of the hal pin and allow gcode to be written normally. But managing the materials is still required. I think I have over 80 materials defined for my machine based on the manufacturer's cut charts.
I can definitely see an advantage for plasma users that don't use PlasmaC.
Please Log in or Create an account to join the conversation.
As far as PlasmaC is concerned I need to think a lot more about this but at the moment I cannot see any advantage for PlasmaC to use this new pin.So this pin will avoid the kludge of the hal pin and allow gcode to be written normally. But managing the materials is still required. I think I have over 80 materials defined for my machine based on the manufacturer's cut charts.
I can definitely see an advantage for plasma users that don't use PlasmaC.
Probably correct. But it won't break anything and will allow any user to program their own feed rates. That would result in a more robust system and possibly one less support vector. If you set the feedrate using the Plasmac feedrate pin, this pin is updated. So once the pin exists, I think for the sake of a 60 second edit in the code, it would be worth using.
Please Log in or Create an account to join the conversation.