Hello!

Let's start with change of the topic - now it should be more appropriate.

2010/6/6 Dave <e...@dc9.tzo.com>:
>
> Something else to consider ...  you can make the PyVCP panel a stand
> alone window.   I believe there is a sample config that has that setup.
>
> Dave
>

2010/6/6 Andy Pugh <a...@andypugh.fsnet.co.uk>:
>
> Yes, it is possible. But everything is possible when you have the
> source code. I don't think that with the standad code the pyVCP can be
> anywhere other than the right.
> However, I think you might be able to omit the coolant and spindle
> pins from the standard HAL file so that the buttons do not appear on
> the left, and then add buttons with the same functions to a PyVCP on
> the right. I _think_ but have not checked that you can still access
> the M3 etc signals through HALUI and direct them to the requisite pins
> in HAL
>

Thank You, Dave! Actually that might be something easier to implement
for what I would like to achieve. I just have to find out, if it is
possible to make such a standalone window in a way that user cannot
close it - I would like it to be a part of Axis GUI in a way that only
way to close my pyVCP window is exiting EMC/closing Axis window. In
that case that might work.

Andy, I know that I can put pyVCP on the right side, and in my
previous e-mail I have attached screenshot of my Axis window.
Currently there is a lot of unused space on the left side between
"axis", "spindle" and "coolant" sections and the section, where jog
speeds and overrides are indicates. Placing pyvcp on the right side, I
will have a panel from the top to bottom of the screen with 2 or 3
buttons and all the rest - again unused space. I prefer the preview
window to be as large as possible and also use the remaining space
efficiently.
I would like to sell the machine, once this conversion is completed,
so my interest is making it not only working as good as possible, but
also look and feel as user-friendly and convinient as possible. And
the setup of GUI screen is one of the parts that a potentian user will
have to work with.

>
> For example, if you want to change the "coolant" and "spindle" buttons
> to say something else, have a look in
> src/emc/user_intf/axis/scripts/axis.py for the word "spindle" in a
> quoted string somewhere, change it to "abrasive"  rebuild and see if
> it has worked. (for simplicity I would not suggest changing the
> variable or label name, just the button text)
>

So thank You for a suggestion on changing the appropriate words in the
script of Axis GUI. I will probably install it on another PC and try
to play around with it! By the way, a question just came into my mind:
Is it possible to copy pyvcp panel code in the "axis" script so that
it gets placed somewhere on the left side of the screen?

>
> You might think that this means changing from being a user to being a
> developer. You would be right, but it's a very fine line with EMC.
> FWIW I had never programmed in C or compiled anything until a few
> months ago, and whilst it felt daunting at first, it soon feels
> perfectly normal to root around in the code.
>

The thing I like most about the EMC is that I as a simple user can
make changes to it. I had the situation with my previous controlling
system that I was not able to get any information or support from its
authors, so now I am delighted that there is a chance for me to adjust
it as I want.
The problem is that I have no experience in programming and I do not
know, where and how to start. That is why I have so many questions - I
am trying to understand it. Unfortunately user and integrator's
manuals have a drawback that they do explain some technical details,
but lack some broader coverage - just like the case of kinematics
modules - the way, how to do the calculations and partially also
syntax is explained, but - where and how to put that code is not
explained. On the other hand, I completely understand, that it is not
possible to write a manual that would explain EVERYTHING, so that is
why I appreciate having this mailing list - the place for asking
questions :))

I feel it not that much as becoming a developer instead of being user,
but more like contributing my effort to EMC - I am using this
application and I feel that I owe the authors something for using
their work. The limiting factor is my lack of knowledge :))


>
>> I was thinking and now am willing to ask - what are the options to
>> develop some kind of filter/preprocessor for EMC, in which I would
>> input the tilt angle (B axis) and it could calculate the direction for
>> C axis from X and Y coordinates and then recalculate the same for A
>> and B axis - bit more of trigonometry to get those angles.
>
> I think that would be harder than a kinematics module. Finding the
> instantaneous tangent to a curve in progress is much easier than
> working it out from the G-code.
>
> My own preference (which is irrelevant, as it isn't my machine) would
> be for a kinematics module that takes X, Y, Z, A where the A is an
> angle set by the Gcode, but isn't directly related to the conventional
> A axis, but is in fact a kerf-angle or cutting angle, with positive to
> the right of direction of travel, and negative to the left. The
> kinematics module would measure the instantaneous X and Y velocities
> to determine the tangent, and do the maths from there. Output of the
> kinematics module would be pass-through of X, Y, Z for the X1 X2 Y Z
> joints, and calculated positions for the two head joints.
>

I already have small Windows application, which takes G-code file and
for G01 movements ads the C axis command, which turns the head in the
movement direction. Those calculations are easy.
Well, I have no skill in programming, so these acitivities "The
kinematics module would measure the instantaneous X and Y velocities
to determine the tangent, and do the maths from there" seem something
like a rocket science and that is why I think that calculations in a
preprocessor are easier to implement.

Can I ask any experienced programmer to comment on this question -
which way would be easier to implement?


>>>> I think that I will need to use ClassicLadder to create the logics
>>>> that "Water jet ON" and "Abrasive ON"
>
>> My apologies, I did not understand. Do You mean "HAL Advanced tutorial"?
>
> No, but that might be a reasonable place to start. What I was saying
> was that a simple override on the abrasive and water does not need
> ClassicLadder, that can be done trivially in HAL.
>

Just to make sure that we understand each other correctly - I do not
mean usual override that I control a button, which overrides current
state of M3/M5 or M8/M9 commands.
I would like to make it like a two-level controls - water jet valve
gets open only when BOTH of the buttons turn it on - I control one,
M3/M5 controls another. Water valve  or abrasive valve gets closed as
soon as ANY of those buttons are engaged - either I press "my" button,
or EMC receives M5 or M9 command.
I will try to read the HAL-related section of that documentation page
- maybe I get some more understanding.

Viesturs

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to