Wait!  There's probably confusion because of my crappy naming.
 interpreter.execute doesn't rely on "from interpreter import *"....
interpreter is just the argument passed to toolchange.  I thought it was an
instance of an emc interpreter so that's what I called it.


On Mon, Mar 31, 2014 at 11:39 AM, Rod Fitzsimmons Frey <rodf...@gmail.com>wrote:

> 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

Reply via email to