I gave up trying to do remap via python and switched to O word.  I have a 
complete simulate umbrella style tool changer working now.

I would have rather done it in python, but, got it done with O word no problem.

Thanks, Billy


On 03/31/2014 11:41 AM, Rod Fitzsimmons Frey wrote:
> 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

-- 
Billy Huddleston Inner Vision

*William Huddleston
Inner Vision Development Corp*
Office: 865.560.2752
Fax: 865.560.2703

http://www.ivdc.com
*Development and Consulting... Simplified.*

<http://www.facebook.com/pages/Inner-Vision-Development/120023721424> 
<http://twitter.com/ivdc> <http://www.linkedin.com/in/ivdccorp>

------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to