with a / it works better
EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/common/Getting_EMC.lyx: change layout a little
EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/ (docs.xml index.tmpl): replace master doc in html with individual doc and understand the html process better
EMC: 03bigjohnt 07v2_2_branch * 10emc2/docs/src/config/stepper.lyx: replace master doc in html with individual doc and understand the html process better
EMC: 03jepler 07TRUNK * 10emc2/src/emc/nml_intf/emc_nml.hh: add license statement. emc_nml.hh was split from emc.hh which bears a GPL license
EMC: 03tissf 07TRUNK * 10emc2/docs/src/ (Master_Integrator_fr.lyx Master_User_fr.lyx Submakefile): french translation
EMC: 03tissf 07TRUNK * 10emc2/docs/src/common/ (userforeword_fr.lyx Document_Header_fr.lyx user_intro_fr.lyx): french translation
EMC: 03tissf 07TRUNK * 10emc2/docs/src/examples/ (gcode_fr.lyx misc_fr.lyx mpg_fr.lyx spindle_fr.lyx): french translation
yap , I am here
issy: maybe you can describe what you want to do, before we can offer advice
newer used this thinks before
this tutorial is good material for reading about IRC: http://www.irchelp.org/irchelp/irctutorial.html
ok. first I amworking on new grafic user interface , most suitable for industrial use , evan the standart mouse is working , the real power come with the touch screen and expternal keyboard developed
to be used with this system.
the work is on beta test stage and several functions still
have to be implemented.
but the connection with the emc is working the grafic as well.
i invite everybody to test it. the idea was to be used directly with the x of the linux rt
so the gnom can be removed
or to be instaled on windows and to control the emc remotely with the tcp/it connection
currently , i have to implement the stand alone interpretter inside the gui , in order to have path preview ,before the program is started.
unfortunately the snake is not my power , so , i cannot look in the axis gui , to see haw is implemented.
and tonight i will work on that.
so , any suggestions are wellcome.
as jepler said the interpreter is in src/emc/rs274ngc
and it's all c++
yep , but this is the main interpreter
and the same interpreter is built together with gcodemodule.cc
and the secondary for the path preview in the axis?
it's the same sources
but linked with other parts
the main interpreter gets called from emctask, and the interpreter calls canonical codes from emccanon
are the cannonical identical?
the AXIS interpreter gets called from AXIS (it's linked with gcodemodule.cc) and the interpreter calls canonical codes which are exposed by gcodemodule.cc
the canon calls are always the same
they are defined in canon.hh
so what you need to do is write your linking part which connects to interpreter
and your part then calls the interpreter with the file it needs to interpret
and also you expose the CANON calls the interpreter will use
for example lets take G1
G1 gets interpreted in interp_convert then in convert_g
and there you will see a call for STRAIGHT_FEED()
so in your file you need to define STRAIGHT_FEED()
and when the interp calls STRAIGHT_FEED() you need to draw a line in the preview
ok. thanks. i am starting now
is it making sense?
have fun then
if tomorow works , mean I have undurstand haw to do it. let see.
meantime , if somebody want to see the new interfase and to give sugestions is welcome.
the picture of new gui are at imagebin.org
issy: you need to paste the full link, there are tons of pictures there :)
[18:40:37] <alex_joni> http://imagebin.org/26026
look for nickname issy
all my pictures are under this name
fenn_ is now known as fenn
making all axis interface as set of xml scripts would be very cool
i think pyvcp is pretty close to that already
I mean building from small blocks like:
I know I need: a 3d preview, a gcode preview, rpm meter, program control buttons
then I put it together
what is the difference between commanded and actual position ?
commanded is out from emc and actual is from encoders ?
question is about AXIS of course
that's right (but all the user interfaces have this distinction as far as I know)
in the case of steppers they can differ e.g., due to the number of steps taken
EMC: 03jepler 07TRUNK * 10emc2/docs/man/man1/halui.1: improve manpage layout and add axis pins
EMC: 03jepler 07TRUNK * 10emc2/src/emc/motion/ (control.c mot_priv.h motion.c): make motion a HAL pin so it can be connected in vcp
EMC: 03jepler 07TRUNK * 10emc2/src/emc/motion/ (control.c mot_priv.h motion.c): add distance to go as a HAL pin
how to get TC_STRUCT? from NML I can get only EMC_STAT which contains many things, but nothing of type TC_STRUCT, moreover TC_STRUCT is as I can see something internal to emc and is not part of nml interface
jepler: thanks for those changes
yes, that's right. TC_STRUCT is internal to the trajectory planner if I recall correctly.
EMC: 03jepler 07TRUNK * 10emc2/docs/man/man9/motion.9: velocity and dtg as pins of motion
EMC: 03jepler 07TRUNK * 10emc2/docs/man/man1/halui.1: velocity and dtg as pins of motion
and I have to take them from the halmeter?
issy: what information are you looking for that is in a TC_STRUCT?
alex told me to look there for TC_STRUCT coords.line
my point is to have from the nml the distance to go separate from each axis
for each axis ... sorry
in tpRunCycle you have access to the current TC_STRUCT through the variable 'tc'. That's the first step in getting distance_to_go from the realtime motion controller to the nml status buffer
from there it is placed in emcmotStatus which is also available in task through shared memory; task copies it into stat (function emcTrajUpdate)
i will try
of course you have to define what the "X (or Y or so on) distance to go" is for some interesting cases, such as a 360-degree circle
another isue is haw to set the 0 for the relative fromG54 to G59
axis "touch off" works by issuing a G10 L2 command
setting relative zero for g54
can you make for us halui modula that can give us the distance to go?
this part is not verry clear to me.
not at the moment
issy: as I said, if you want to get separate coords for distance to go, you need to edit the trajectory planner
currently only a general distance to go is beeing written (in the trajectory planner) to the motion status buffer
alex , maybe the best way will be by addition in the halui
and from there it gets to NML
halui is not realtime, you don't have access to this stuff there
ok. can we fix this in the trajectory planer?
well, I don't know enough about the TP to definately say yes
but I suspect so
emcmotStatus->distance_to_go = tc->target - tc->progress;
currently the distance to go gets computed from the target - the current position
(this target and progress are expressed as segment lengths)
they don't have a separation on different axes (x,y,z, etc..)
so if you want to fix this, you need to add the different distances to go for X,Y,Z
this is not something I think fits emc2, because I don't think it can be made generic enough
(think about XYZABCUVW.. all kinds of possible combinations of lines and circles, etc..)
but if you only want to do it for XYZ, then it might be possible
yes ,mainly x, y z
instead of calculating distance to go as above, you need to write 3 different distance to go based on the type of move that is performed
so.. lets assume you are moving in a line
tc->motion_type will be of type TC_LINEAR
if (tc->motion_type == TC_LINEAR) distance_to_go_x = endpoint.x - currentpoint.x
same for y and z
the tc is clear , but from the nml , i cannot acses it.
of course you need to get the endpoint and the current point, but that should be ok
in motion.h you have distance_to_go defined
you need to add your new distance_to_go_x, _y, ...
then they will be part of the motion stat structure
in (taskintf?) the motion stat structure gets copied to NML, make sure it gets copied there too
hmm.. seems my memory is pretty acceptable :D
[21:24:49] <alex_joni> http://cvs.linuxcnc.org/cvs/emc2/src/emc/task/taskintf.cc?rev=1.93
stat->distance_to_go = emcmotStatus.distance_to_go;
obviously you need to add distance_to_go_x, _y, ... to EMC_TRAJ_STAT
and to emcTrajUpdate()
then you should be able to access it
too bad cradek is travelling, he knows lots more about TP
(that is still an understatement)
any idea when will be back?
huh, wth happened on steve blackmore's pc
ok. alex , I will fix this , but it will be a fix in the emc ,so any next version must come with it.
like I said, this is not something I can see solved easily
you have to put it in the next version package
if you submit a patch for this, then it might stand a chance
yes , ofcource
alex_joni: I just don't see how "distance to go in X" is defined. what is it at the start of a 360 degree circle?
but I think that depends on who implements it..
DTG on a per axis basis doesn't make a whole lot of sense