Re: [Emc-users] Using own driver and other newbie questions

2008-07-14 Thread Preben Mikael Bohn
> One possible approach is to start with the "sim" configuration, in which
> position commands are looped back to position feedback.

Yes, I think this would probably be the best thing to do; I really
have no need for the realtime behaviour as such.

>  Add to this a
> sampler RT component which also copies the position commands and
> whatever other data you want to a fifo that is read by userspace, then
> have your userspace program read the output of halsampler and sends it
> to your device.

You lost me here, due to my very limited knowledge of the emc source
structure... :-) Would it be possible for you to point me to a few
source files?

I think I would also need to sync the time "sensed" by emc with the
time used on my machine; otherwise they would get out of sync quite
fast.

My current idea is to write a small layer (if at all possible) using
named pipes between a user-space program and emc; this way anyone can
add their own (non-realtime) machines to emc... It should be possible
to do this completely without using a realtime kernel (not that this
is a problem as such) but obviously I have to dig a little deeper into
the source... Currently I have just been able to compile the entire
system in simulation mode, which is really all I need.

Best regards Preben

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Using own driver and other newbie questions

2008-07-13 Thread Jeff Epler
One possible approach is to start with the "sim" configuration, in which
position commands are looped back to position feedback.  Add to this a
sampler RT component which also copies the position commands and
whatever other data you want to a fifo that is read by userspace, then
have your userspace program read the output of halsampler and sends it
to your device.

Jeff

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users



Re: [Emc-users] Using own driver and other newbie questions

2008-07-13 Thread Preben Mikael Bohn
On Sun, Jul 13, 2008 at 5:02 AM, Jon Elson <[EMAIL PROTECTED]> wrote:
> position.  If you have a driver that converts position commands
> to the right serial character strings to get the motion, others
> more experienced than myself can show you how to tie that in to
> the right HAL wrapper to accept those position command from EMC.

OK. However I would also need to synchronize the output from EMC with
my "driver" so the timing should really not be controlled by EMC but
by my external "driver" (which in turn synchronizes with the machine).

Best regards Preben

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Using own driver and other newbie questions

2008-07-12 Thread Jon Elson
Preben Mikael Bohn wrote:
>>Preben Mikael Bohn wrote:
> 
> Which would only be true if EMC had a 422 interface communicating with
> the exact same protocol to the board I am using. And since this is not
> the case I am really asking either how to make such a module or how to
> interface with an external "driver" already doing the protocol work on
> the 422 interface.
> 
I think there are some RT drivers that use the serial ports. 
This is at the experimental stage, still, I think.

>>The HAL pins out of the EMC "front end" just send position as
>>floating-point coordinates in "user units", ie. mm or inches.
> 
> 
> I don't think I got this?
HAL is the "hardware Abstraction Layer", a language-controlled 
interface between the G-code interpreter and the motion 
hardware.  (I'm simplifying a bit, but basically that is what it 
does.)  So, you can connect various "pins", such as axis 
position, to the drivers that make hardware move to that 
position.  If you have a driver that converts position commands 
to the right serial character strings to get the motion, others 
more experienced than myself can show you how to tie that in to 
the right HAL wrapper to accept those position command from EMC.
Once given a working framework, I'm just barely conversant in 
how HAL works.

Jon

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Using own driver and other newbie questions

2008-07-12 Thread Preben Mikael Bohn
On Sat, Jul 12, 2008 at 10:16 PM, Jon Elson <[EMAIL PROTECTED]> wrote:
> Preben Mikael Bohn wrote:
>>
>> 1) I don't really need the real-time part of EMC as this is taken care
>> of by the electronics (obviously with a latency of ~200 ms but I can
>> live with that). Can EMC be run without a real-time kernel?
>>
> Yes, but why?  All the hard work has already been done.  You can
> STILL use your 200 ms buffer, the RT version of EMC will
> guarantee the buffer will NEVER, EVER go empty.

Which would only be true if EMC had a 422 interface communicating with
the exact same protocol to the board I am using. And since this is not
the case I am really asking either how to make such a module or how to
interface with an external "driver" already doing the protocol work on
the 422 interface.

>  But, if you
> MUST run in user-mode, the sim version of EMC will allow you to
> do that.

I don't care which mode I run in, as long as it gets the job done. :-)
My current program works fine in user-mode, so my initial assumption
is that EMC would to _if_ I knew how to interface to my own "driver".

>> 2) The easiest interface for me would be to have EMC generate the
>> positions and axis directions and provide them to a "driver" I already
>> have implemented. Currently it seems like EMC is generating all the
>> low-level stuff but is it possible to make such a high-level
>> driver-interface instead?
>>
> The HAL pins out of the EMC "front end" just send position as
> floating-point coordinates in "user units", ie. mm or inches.

I don't think I got this?

Best regards Preben

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


Re: [Emc-users] Using own driver and other newbie questions

2008-07-12 Thread Jon Elson
Preben Mikael Bohn wrote:
> 
> 1) I don't really need the real-time part of EMC as this is taken care
> of by the electronics (obviously with a latency of ~200 ms but I can
> live with that). Can EMC be run without a real-time kernel?
> 
Yes, but why?  All the hard work has already been done.  You can 
STILL use your 200 ms buffer, the RT version of EMC will 
guarantee the buffer will NEVER, EVER go empty.  But, if you 
MUST run in user-mode, the sim version of EMC will allow you to 
do that.
> 2) The easiest interface for me would be to have EMC generate the
> positions and axis directions and provide them to a "driver" I already
> have implemented. Currently it seems like EMC is generating all the
> low-level stuff but is it possible to make such a high-level
> driver-interface instead?
> 
The HAL pins out of the EMC "front end" just send position as 
floating-point coordinates in "user units", ie. mm or inches.

Jon

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users


[Emc-users] Using own driver and other newbie questions

2008-07-12 Thread Preben Mikael Bohn
Hi all, I am a complete newbie to EMC, so please bear with me... :-)

First a little history: I built my own hexapod a year ago using my own
electronics board with an EIA-422 interface to the computer. It
includes a ~200 ms buffer which seems to be enough under both windows
and linux (it you don't start browsers or other "intensive" tasks).

The interface to the hexapod is currently quite primitive; I
semi-automatically process a dxf-file into an intermediate "CNC
language" I invented a looong time ago (when I made my first 3-axis
machine) and this language is then converted and sent to the the board
by my PC-program, which then generates pulses, directions, reads
alarms, initializes the servos, etc, and closes the loop by sending
ack's to the pc.

Since the above is somewhat user-unfriendly I would like to use EMC as
a front-end to my own driver. And here comes the newbie questions:

1) I don't really need the real-time part of EMC as this is taken care
of by the electronics (obviously with a latency of ~200 ms but I can
live with that). Can EMC be run without a real-time kernel?

2) The easiest interface for me would be to have EMC generate the
positions and axis directions and provide them to a "driver" I already
have implemented. Currently it seems like EMC is generating all the
low-level stuff but is it possible to make such a high-level
driver-interface instead?

And lastly a somewhat unrelated question:
3) What do you guys use for trajectory-planning? My dxf-converter will
obviously not work anymore as I will now need to use G-codes; it would
be nice if there were some kind of not so pricy CAM package which
could do the job...

Best regards Preben

-
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08
___
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users