Rod, that is easy, just use Gcode ;-) See :
http://linuxcnc.org/docs/html/gcode/m-code.html#sec:M62-M65 Norbert Am 31.03.2014 21:22, schrieb Rod Fitzsimmons Frey: > I've looked at this and see where the bitmask, but it seems I can only read > pins with the hal component, not set them? > > How can I turn on my power drawbar valve, trigger the blow valve, etc? > > I feel like I'm missing some obvious insight... this feeling of > incompetence is very uncomfortable. > > > On Mon, Mar 31, 2014 at 2:12 PM, Niemand Sonst <nie...@web.de> wrote: > >> Hallo Rod, >> >> my name is Norbert ;-) >> >> Have you taken a look to >> >> >> http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_optional_interpreter_features_ini_file_configuration_a_id_sub_ini_features_a >> >> Special section 18. >> >> Norbert >> >> Am 31.03.2014 19:42, schrieb Rod Fitzsimmons Frey: >>> Thanks, Niemand! I'll try that. Where should I look for documentation >> that >>> would tell me features available in rs274ngc? I've looked through the >>> source as best I can but don't know how you found that features=12 >>> parameter. >>> >>> >>> On Mon, Mar 31, 2014 at 11:50 AM, Niemand Sonst <nie...@web.de> wrote: >>> >>>> Rod, >>>> >>>> it is easy to access hal pin from ngc code, if you enable features in >>>> your INI [RS274NGC] with FEATURES = 12 (enables INI and Hal reading) >>>> And the needed pins can be created in a python handler file. You might >>>> want to check gmoccapy and gmoccapy_tool_sensor.ini for an example, >>>> please see also /macros(change.ngc for INI and Hal checking. >>>> >>>> Norbert >>>> >>>> Am 31.03.2014 17:39, schrieb Rod Fitzsimmons Frey: >>>>> Oh! But it works now! I can move the spindle where I want it, I can >>>> setp >>>>> on the pins to release the tool, etc. M6T1 does exactly that with this >>>>> code. I just can't signal to EMC that the tool has been changed, so on >>>> the >>>>> *next* call to M6 it reports that the current tool is -1. >>>>> >>>>> But I readily accept that even if it is moving, I *shouldn't* do it >> this >>>>> way. I can use the ngc code if necessary, but I couldn't find a way to >>>>> access the signals from my spindle... i went this way so I could create >>>> the >>>>> pins I needed to detect if the tool was secure, etc. >>>>> >>>>> The documentation seemed to suggest a full toolchanger could be done >> with >>>>> only python, I'm just not grokking how to structure that. >>>>> >>>>> >>>>> On Mon, Mar 31, 2014 at 11:30 AM, Michael Haberler <mai...@mah.priv.at >>>>> wrote: >>>>> >>>>>> Am 31.03.2014 um 17:15 schrieb Rod Fitzsimmons Frey < >> rodf...@gmail.com >>>>> : >>>>>>> Thanks! >>>>>>> >>>>>>> .ini file: http://pastebin.com/VsnQFuzt >>>>>>> .hal file: http://pastebin.com/RHEJYqJB >>>>>>> hal file hook (hal_racktoolchange): http://pastebin.com/njTUZAqS >>>>>>> tool change python code: http://pastebin.com/1EZy0Pur >>>>>> this is a normal userland HAL comp, not embedded in the interpreter >>>>>> you write: >>>>>> >>>>>> * # These libraries not found - copied from stdglue.py >>>>>> * import emccanon >>>>>> * from interpreter import * >>>>>> >>>>>> those are available only _within_ the interpreter, you cannot use them >>>> in >>>>>> a normal userland HALcomp >>>>>> >>>>>> oh I see what you are trying to do: interpreter.execute("G53 G1 X%i >> Y%i >>>>>> F%i" % (x_pos, y_pos, rack_params["Z_RETRACT_SPEED"])) >>>>>> >>>>>> well this will not work (unfortunately), this is the reason: >>>>>> >>>>>> task and motion can handle one running interpreter at a time only; you >>>> try >>>>>> to use a second one from outside - even if it were possible to do >> that, >>>> the >>>>>> commands it generated would be ignored because task wouldnt listen to >>>> them, >>>>>> it listens only to the interpreter built into milltask >>>>>> >>>>>> so any sequenced move operations involving the interpreter must come >>>> from >>>>>> the running program - that was one of the reasons why remapping >> enables >>>>>> calling on NGC subroutines to do just that >>>>>> >>>>>> sorry, you need to remain with the setup as outlined in the >>>>>> manualtoolchange example; you can replace some ngc by python, but you >>>> cant >>>>>> move that code outside the interp into another halcomp >>>>>> >>>>>> >>>>>> - Michael >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Console output: http://pastebin.com/jNHZbxAE >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Mon, Mar 31, 2014 at 10:59 AM, Michael Haberler < >> mai...@mah.priv.at >>>>>>> wrote: >>>>>>> >>>>>>>> Am 31.03.2014 um 16:03 schrieb Rod Fitzsimmons Frey < >>>> rodf...@gmail.com >>>>>>> : >>>>>>>>> Hey! After a couple days away I'm back at this. And immediately >>>>>>>> stalled! >>>>>>>>> :) >>>>>>>>> >>>>>>>>> stdglue.py returns INTERP_ERROR and other constants that I just >> can't >>>>>>>> seem >>>>>>>>> to locate! When I try to >>>>>>>>> >>>>>>>>> import emccanon >>>>>>>>> from interpreter import * >>>>>>>>> >>>>>>>>> in my own handler code linuxcnc complains that neither of those >>>> modules >>>>>>>> can >>>>>>>>> be found. I've gone through the source looking for the constants >> but >>>>>> no >>>>>>>>> luck. >>>>>>>>> >>>>>>>>> Any advice? >>>>>>>> yes: please upload your complete configuration, all related files >> and >>>>>>>> pastebin any error messages >>>>>>>> >>>>>>>> - Michael >>>>>>>> >>>>>>>> >>>>>>>>> On Wed, Mar 26, 2014 at 3:15 PM, Michael Haberler < >>>> mai...@mah.priv.at >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>>> Am 26.03.2014 um 16:53 schrieb Rod Fitzsimmons Frey < >>>>>> rodf...@gmail.com >>>>>>>>> : >>>>>>>>>>> Hi! I'm merrily trying to remap M6 using the guidelines at >>>>>>>>>>> >> http://linuxcnc.org/docs/devel/html/remap/structure.html#_configuring_iocontrol_with_a_remapped_m6 >>>>>>>>>> . >>>>>>>>>>> I'm trying to use all-python to implement my rack toolchanger. >>>>>>>>>>> >>>>>>>>>>> I have some stuff working - change_epilog in stdglue.py is >> called, >>>> my >>>>>>>>>> code >>>>>>>>>>> executes and moves the spindle to the correct location for the >> new >>>>>>>> tool, >>>>>>>>>>> etc. But change_epilog isn't called. I put a print statement as >>>> the >>>>>>>>>> first >>>>>>>>>>> line in both change_prolog and change_epilog - the former is >>>> executed >>>>>>>> but >>>>>>>>>>> the latter is not. >>>>>>>>>>> >>>>>>>>>>> Perhaps as a result of change_epilog not getting called, my >> current >>>>>>>> tool >>>>>>>>>> is >>>>>>>>>>> never changed from -1. (Although that could be something else if >>>>>>>>>> there's a >>>>>>>>>>> step I'm missing in my toolchange code.) >>>>>>>>>>> >>>>>>>>>>> My ini file line is >>>>>>>>>>> REMAP=M6 modalgroup=6 prolog=change_prolog epilog=change_epilog >>>>>>>>>>> py=toolchange >>>>>>>>>>> >>>>>>>>>>> and the epilog signature (unchanged from src) is >>>>>>>>>>> def change_epilog(self, **words): >>>>>>>>>>> >>>>>>>>>>> Any advice? >>>>>>>>>> yes >>>>>>>>>> >>>>>>>>>> what you are doing is an all-python remapped code >>>>>>>>>> >>>>>>>>>> now the prolog and epilog Python handlers are there to extract >>>>>>>> parameters, >>>>>>>>>> and set the environment for a _ngc_ remap function >>>>>>>>>> >>>>>>>>>> if you are doing all-python you can collapse all code into a >> single >>>>>>>> python >>>>>>>>>> remap body (all code will go into py=toolchange) >>>>>>>>>> >>>>>>>>>> so just drop the prolog and epilog handlers, do it all in >>>> toolchange() >>>>>>>> and >>>>>>>>>> you should be fine >>>>>>>>>> >>>>>>>>>> there was a problem with three python handlers in sequence; not >> sure >>>>>> if >>>>>>>> it >>>>>>>>>> is mentioned in the docs or just the code; since the separate pre- >>>> and >>>>>>>> post >>>>>>>>>> handlers dont make sense anyway I avoided the issue by not calling >>>>>> them >>>>>>>>>> let me know if you get stuck - just push your config and coce >>>>>> beforehand >>>>>>>>>> so I can have a look >>>>>>>>>> >>>>>>>>>> - Michael >>>>>>>>>>> Thanks! >>>>>>>>>>> Rod >>>>>>>>>>> >> ------------------------------------------------------------------------------ >>>>>>>>>>> Learn Graph Databases - Download FREE O'Reilly Book >>>>>>>>>>> "Graph Databases" is the definitive new guide to graph databases >>>> and >>>>>>>>>> their >>>>>>>>>>> applications. Written by three acclaimed leaders in the field, >>>>>>>>>>> this first edition is now available. Download your free book >> today! >>>>>>>>>>> http://p.sf.net/sfu/13534_NeoTech >>>>>>>>>>> _______________________________________________ >>>>>>>>>>> Emc-users mailing list >>>>>>>>>>> Emc-users@lists.sourceforge.net >>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-users >> ------------------------------------------------------------------------------ >>>>>>>>>> Learn Graph Databases - Download FREE O'Reilly Book >>>>>>>>>> "Graph Databases" is the definitive new guide to graph databases >> and >>>>>>>> their >>>>>>>>>> applications. Written by three acclaimed leaders in the field, >>>>>>>>>> this first edition is now available. Download your free book >> today! >>>>>>>>>> http://p.sf.net/sfu/13534_NeoTech >>>>>>>>>> _______________________________________________ >>>>>>>>>> Emc-users mailing list >>>>>>>>>> Emc-users@lists.sourceforge.net >>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-users >>>>>>>>>> >> ------------------------------------------------------------------------------ >>>>>>>>> _______________________________________________ >>>>>>>>> Emc-users mailing list >>>>>>>>> Emc-users@lists.sourceforge.net >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-users >>>>>>>> >> ------------------------------------------------------------------------------ >>>>>>>> _______________________________________________ >>>>>>>> Emc-users mailing list >>>>>>>> Emc-users@lists.sourceforge.net >>>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-users >>>>>>>> >> ------------------------------------------------------------------------------ >>>>>>> _______________________________________________ >>>>>>> Emc-users mailing list >>>>>>> Emc-users@lists.sourceforge.net >>>>>>> https://lists.sourceforge.net/lists/listinfo/emc-users >>>>>> >> ------------------------------------------------------------------------------ >>>>>> _______________________________________________ >>>>>> Emc-users mailing list >>>>>> Emc-users@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/emc-users >>>>>> >> ------------------------------------------------------------------------------ >>>>> _______________________________________________ >>>>> Emc-users mailing list >>>>> Emc-users@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/emc-users >>>>> >>>> >>>> >> ------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> Emc-users mailing list >>>> Emc-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/emc-users >>>> >> ------------------------------------------------------------------------------ >>> _______________________________________________ >>> Emc-users mailing list >>> Emc-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/emc-users >>> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Emc-users mailing list >> Emc-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/emc-users >> > ------------------------------------------------------------------------------ > _______________________________________________ > Emc-users mailing list > Emc-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/emc-users > ------------------------------------------------------------------------------ _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users