#emc | Logs for 2004-11-24

[00:04:35] <pastulio> I cant get my controller to run smooth with the emc software
[00:05:17] <jepler> pastulio: so you are driving CW/CCW and CLOCK, while pulling GATE low?
[00:05:20] <pastulio> And i was woundering if anybody could help me or if someone had a working controller that i could use 2 test with
[00:05:35] <rayh> pastulio: EMC1 or 2
[00:05:53] <pastulio> EMC 1 i think
[00:06:07] <rayh> From a BDI?
[00:06:58] <pastulio> at first yes.. but that worked like crap... so i compiled an old Gentoo an got i working
[00:07:13] <pastulio> but the controller don't do what i ask it to
[00:07:44] <rayh> Could you describe what it does?
[00:08:07] <alex_joni> did you patch realtime to the Gentoo ?
[00:08:34] <pastulio> The Y Axis only run CCW and NOT CW at anytime
[00:09:03] <pastulio> Alex: I did do that
[00:09:18] <pastulio> i think it's my controller...
[00:09:36] <alex_joni> pastulio: I thought so, but wanted to make sure
[00:09:45] <alex_joni> do you have a signal generator available?
[00:09:53] <alex_joni> to test the drive?
[00:09:54] <pastulio> Yeap
[00:10:07] <alex_joni> try hooking it up to the CLK
[00:10:25] <rayh> I wondered about that with the way they handle the direction signal.
[00:10:38] <rayh> It has to be on in order to make it reverse.
[00:11:15] <alex_joni> rayh: pastulio says it doesn't work at any time...
[00:11:23] <pastulio> what controller did you use Alex???
[00:11:31] <alex_joni> I did use Gecko's
[00:11:42] <alex_joni> but those are more expensive
[00:11:48] <alex_joni> and I used some I did myself
[00:11:49] <pastulio> okay can you give me a link?
[00:12:23] <alex_joni> http://www.geckodrives.com/
[00:12:39] <alex_joni> but it really should work with your drive too
[00:13:18] <pastulio> i got to thinking that i could be a problem in my INI but I cant find it
[00:14:16] <pastulio> Do you use Uni or Bi polar steppers?
[00:15:31] <pastulio> i just testet with a bipolar stepper and that was able to run CW... why???
[00:16:03] <alex_joni> you said you have a pulse generator
[00:16:11] <pastulio> yeap
[00:16:12] <alex_joni> I was talking about a HW one
[00:16:19] <alex_joni> try hooking it up to the drive
[00:16:23] <alex_joni> to the CLK input
[00:16:28] <alex_joni> and run it at some HZ
[00:16:36] <alex_joni> and see what happens with the motor
[00:16:58] <pastulio> 2 sec got to move...
[00:19:14] <alex_joni> * alex_joni is back in half an hour
[00:19:21] <alex_joni> pastulio: that's what I would do
[00:19:28] <alex_joni> hook it up to signal generator
[00:19:57] <alex_joni> then manually connect the DIR pin to 0V and to 5V and see what happens
[00:29:56] <pastulio> hallo when i connect dir to = the stepper stops and when i connect it to 5 the stepper does not change just run
[00:30:35] <pastulio> got to go talk to you all later
[00:50:15] <rayh> paul_c: Does the dpkg problem mean we don't have a BDI-3xx?
[00:53:44] <paul_c> rayh: Not quite
[00:54:00] <paul_c> It means I need to hack some python to fix it
[00:54:16] <rayh> Oh! That again.
[00:58:30] <rayh> Is dpkg a problem for emc or for the whole install?
[00:59:05] <alex_joni> * alex_joni is back
[01:00:17] <paul_c> the dpkg roblem is only an issue with a single package
[01:00:45] <rayh> Which?
[01:01:15] <paul_c> kernel-iamge
[01:02:02] <rayh> Oh! That is a biggie for us. 2.6 or any kernel package.
[01:04:28] <paul_c> gotta love irc - Have a possible solution from #debian
[01:07:53] <jepler> OK, something strange is going on here. I am using sim.ini with 3 axes. My Python program thinks that the A axis is incrementing very quickly, by more than a million (degrees?) per minute.
[01:07:57] <jepler> N640Y-19.262
[01:08:00] <jepler> oops
[01:08:06] <jepler> >>> status.poll(); status.actual_position
[01:08:06] <jepler> (2.0870000000000002, 1.538, -1.2010000000000001, 2446310.0, 0.0, 0.0)
[01:08:06] <jepler> >>> status.poll(); status.actual_position
[01:08:07] <jepler> (2.0870000000000002, 1.958, -1.2010000000000001, 2630922.0, 0.0, 0.0)
[01:08:52] <jepler> anybody know what might be going on? xemc only displays 3 axes, and I don't have tkemc or keystick available.
[01:09:21] <paul_c> Looks like a random number from the A axis
[01:09:39] <jepler> it's an always-increasing integer, though
[01:10:16] <paul_c> Possibly the PID loop picked up a false number from somewhere
[01:12:25] <rayh> jepler: If you've got yemc it will display six.
[01:13:48] <rayh> I believe that the guys at fest found that a small number in input and output scale will produce errors in combination with pid.
[01:17:33] <paul_c> jepler: Can I impose on you for some python scripting help ?
[01:18:32] <jepler> paul_c: sure.
[01:18:52] <jepler> hm, I had an [AXIS_3] section in my sim.ini. after I removed it, the problem seems to be gone.
[01:20:54] <paul_c> Simple duffer's level question: How do I create, open, and write a string to a file ?
[01:21:54] <jepler> Well, the basic "open a file and write a string" is:
[01:21:54] <jepler> f = open("somefile", "w")
[01:21:55] <jepler> f.write("this is the contents\n")
[01:21:55] <jepler> f.close()
[01:23:21] <paul_c> presumably, if the file doesn't exist, it will be created ?
[01:23:42] <jepler> right. The second arg to open is just like in C's fopen()
[01:24:17] <jepler> "w" truncates the file if it exists, otherwise it creates it, I think.
[01:24:49] <jepler> The normal way to "make strings" in Python is with %-substitution, which is similar to C's printf()-family of functions:
[01:24:52] <jepler> plat = "linux_2_4_20"; frontend
[01:24:55] <jepler> f.write("DISPLAY = /usr/lib/emc/%s/bin/%s" % (plat, frontend))
[01:25:01] <jepler> er, frontend = "xemc" or something like that
[01:25:43] <jepler> of course, it doesn't work to specify a full path to DISPLAY, but it's not like I'm complaining or anything
[01:29:48] <paul_c> f = open("%s/etc/foo/list.txt", % (path), "w")
[01:32:07] <jepler> No comma before the %
[01:32:25] <jepler> f = open("%s/etc/foo/list.txt" % path, "w")
[01:33:25] <jepler> % is just the regular 'modulo' operator, as in 'i = (i+1) % max_i'
[01:34:00] <cradek> or in this case f = open(path + "/etc/foo/list.txt", "w")
[01:39:37] <paul_c> I hate phones....
[01:43:50] <alex_joni> * alex_joni agrees
[01:45:32] <cradek> I have a new model that's attached to the wall with wires and it works SO well compared to my old phone.
[02:00:52] <paul_c> * paul_c goes to cut the phone line.
[02:13:57] <alex_joni> when is the next BDI release?
[02:14:20] <paul_c> when I get it finished
[02:15:45] <alex_joni> I know that... I was curious what you think a probable timespan that would be
[02:16:37] <paul_c> Target date was the end of the month....
[02:16:48] <alex_joni> maybe this year :-?
[02:17:32] <alex_joni> * alex_joni wonders if it would make sense to learn about deb...
[02:19:44] <paul_c> basic deb installing/removal is fairly easy.
[02:23:00] <alex_joni> well I was wondering if I could be of some assistance
[02:23:33] <paul_c> Most of it involves building & testing images
[02:25:08] <alex_joni> hmm... I could do testing...
[02:32:21] <alex_joni> is there a deb repository (or how that's called) from which I could apt-get ?
[02:32:58] <CIA-9> 03Zathras 07BDI build system * 10Babylon Cluster/anaconda.py: File changed. New revision:1.3
[02:40:01] <paul_c> No repository accessable from outside yet.
[02:42:04] <alex_joni> I see...
[02:42:08] <alex_joni> who is Zathras?
[02:42:40] <alex_joni> "Zathras warned Zathras, but Zathras never listened to Zathras. Zathras was quiet one in family. SO! What can Zathras be doing for you?"
[02:43:23] <paul_c> Zathras tends to the great machine on Epsilon
[02:48:54] <alex_joni> on Epsilon III
[02:50:06] <paul_c> alex_joni been using google.
[02:51:16] <alex_joni> lol
[02:51:34] <alex_joni> yeah.. I came up with: http://lists.cs.columbia.edu/pipermail/b5jms/1997-July/002762.html (after a while...)
[03:24:56] <CIA-9> 03Zathras 07BDI build system * 10Babylon Cluster/anaconda.py: File changed. New revision:1.4
[03:41:05] <alex_joni> * alex_joni goes home
[05:24:21] <paul_c> Ooo... A new face
[05:25:42] <SWPadnos> hi there
[05:26:25] <paul_c> Evening
[05:28:04] <SWPadnos> (afternoon here :)
[05:28:34] <paul_c> In the USA ?
[05:28:39] <SWPadnos> I figured I should try out this IRC thing, before I really have any important questions or answers
[05:28:47] <SWPadnos> Yes - Vermont.
[05:34:42] <SWPadnos> Actually, I'm not sure if I ever got added to the EMC developers group - I suppose that would be a good idea (I'm swpadnos on SourceForge)
[05:35:47] <paul_c> lemme check...
[05:36:36] <paul_c> not listed as a developer
[05:36:45] <SWPadnos> Nope - I just checked as well.
[05:39:21] <paul_c> What areas interest you?
[05:42:46] <SWPadnos> New drivers and optimization. Also possibly some network interface related stuff. Also, I would like to have a pendant on my machine, which will likely be a USB game controller of some kind, so I'd write drivers for input devices.
[05:43:12] <SWPadnos> I'm pretty good at bugfixing as well, but it's often not as interesting :)
[05:43:22] <cradek> SWPadnos: what kind of machine do you have?
[05:43:37] <SWPadnos> A Bridgeport series 1
[05:43:56] <cradek> you're currently using emc?
[05:44:31] <SWPadnos> well - "Currently" is a bit premature :) I'm still retrofitting the machine, and I will be using EMC to control it.
[05:44:41] <cradek> neat
[05:44:47] <SWPadnos> I hope so
[05:45:11] <jepler> what do you want to be able to do from a USB device?
[05:46:04] <SWPadnos> Well - manual jog, spindle control (possibly spindle speed if I get creative with a spare motor), pause, resume, etc.
[05:46:36] <paul_c> You do C then ?
[05:46:44] <SWPadnos> Yes - big time :)
[05:47:08] <jepler> Is there any provision for starting more user programs than the "DISPLAY" app?
[05:47:11] <SWPadnos> In fact, I've been writing C and assembly code for embedded systems and Linux based test systems for the past 10 years
[05:47:16] <jepler> in the xxx.run file, I mean
[05:48:08] <SWPadnos> Good question - I can't answer that (yet), since I haven't taken a thorough look through the EMC code.
[05:49:05] <paul_c> Only one user interface per foo.run session
[05:49:41] <jepler> If you want to do custom hardware instead of a joypad, it should be possible to hook a 4x4 scan matrix to a FT232BM-based chip in bit-bang mode
[05:50:16] <SWPadnos> It may be possible to do the USB control with a simple X keyboard input driver. THe EMC front end would already have input focus, and many USB devices look like keyboards.
[05:50:27] <jepler> that's true too
[05:50:57] <paul_c> SWPadnos: check https://sourceforge.net/project/memberlist.php?group_id=6744 again.
[05:51:03] <SWPadnos> I have a Belkin Nostromo n52 that just cries out to be a machine controller. :)
[05:51:21] <SWPadnos> Excellent - thanks!
[05:51:24] <jepler> that's quite the device
[05:51:30] <SWPadnos> heh - yup
[05:52:18] <SWPadnos> Oh - the other thing that could be both interesting and useful would be to change the G-code parser so that restarting midway through a file would be faster - not rescanning from the beginning.
[05:53:05] <cradek> Built to conquer your enemy, the Nostromo SpeedPad n52 ...
[05:53:08] <cradek> hah
[05:53:26] <SWPadnos> I also thought it would be fun to use a force feedback joystick of some sort, to provide a "real" feel. (though that's pie in the sky right now)
[05:53:44] <jepler> you could start by just making a rumble pack fire when you break a tool
[05:54:16] <cradek> jepler: when the spindle speed suddenly goes up?
[05:54:18] <SWPadnos> heh heh :) fire phasers three times :)
[05:54:31] <SWPadnos> when the load on the table servos goes down :)
[05:57:50] <jepler> so can someone tell me what the meaning of the different message types is? NML_TEXT / NML_DISPLAY / NML_ERROR ?
[05:58:19] <paul_c> SWPadnos: We would encourage new code to be released under GPL in the emc2 tree, and reserve emc(1) for bug fixes.
[05:58:30] <SWPadnos> GPL al lthe way
[05:59:12] <paul_c> in which case, you do want to work in emc2
[05:59:55] <paul_c> jepler: NML_TEXT & NML_ERROR are different message paths
[06:01:03] <jepler> do they have some relationship between the info / warning / error icon in a GUI message window, for instance?
[06:01:25] <jepler> do they relat to severity ?
[06:02:38] <paul_c> I'd need to double check that....
[06:02:55] <paul_c> but error messages are passed via NML_MESSAGE
[06:03:04] <paul_c> and are queued
[06:03:15] <paul_c> the other channels are not.
[06:04:58] <jepler> the message "command (EMC_AXIS_JOG) cannot be executed until the machine is out of E-stop and turned on" comes as an OPERATOR_ERROR as far as I can tell
[06:05:06] <jepler> that's the message I'm most familiar with
[06:06:00] <paul_c> is OPERATOR_ERROR derived from NML_ERROR ?
[06:06:12] <jepler> I'd have to check
[06:06:32] <jepler> emc.hh:class EMC_OPERATOR_ERROR : public RCS_CMD_MSG
[06:07:26] <paul_c> and RCS_CMD_MSG ?
[06:07:35] <jepler> OK, I just read the comments above EMC_OPERATOR_xxx and it's a bit clearer to me
[06:07:50] <paul_c> * paul_c wished he had his source code notes up.
[06:08:04] <jepler> EMC_OPERATOR_TEXT is informational, and EMC_OPERATOR_DISPLAY says it is a "URL or filename of a document to display"
[06:13:29] <paul_c> Can't remember if I made any notes in the emc2_source_notes about the NML classes...
[06:40:20] <cradek> why when I hit ESC does it sometimes move to some location instead of stopping?
[06:40:25] <cradek> (emc1)
[06:42:10] <asdfqwega> * asdfqwega would like to know, too
[06:42:28] <asdfqwega> I've had it do that in some .ngc programs I wrote
[06:42:33] <cradek> this time, I *think* it moved to the last place it had a canned cycle!
[06:42:41] <cradek> G82 F4.0 R0.040000 Z-0.006000 P0.03 X-1.200000 Y1.200000
[06:42:50] <cradek> it moved to -1.2 1.2 .04
[06:43:22] <cradek> worse, it moves there in a straight line, not going up to the safety height first
[06:43:31] <asdfqwega> I think that I had something similar
[06:43:35] <cradek> this has cost me a tool
[06:43:58] <cradek> let me see if I can reproduce it in a short program
[06:44:24] <asdfqwega> Are you using M02 or M30 to end the program?
[06:44:54] <asdfqwega> That's something else I was doing at the time...I only use M02, now
[06:44:57] <cradek> M02
[06:48:44] <cradek> I can't make it happen...
[06:48:47] <cradek> hmm
[06:57:11] <cradek> nope, I can't make it happen with a simple program, but when I run a complex one it does it often
[07:14:33] <jepler> hey, hey, it happens to me
[07:15:01] <jepler> running sim.run, I hit escape very shortly after I started running my program. It went to some z height and an exact x,y specified later in the program
[07:15:38] <jepler> but a different z
[07:19:23] <jepler> the ngc program is http://unpy.net/cgi-bin/viewcvs.cgi/*checkout*/rs274py/examples/elm320.ngc?rev=1.1
[07:19:35] <jepler> it hasn't happened on any of a bunch of the programs in the emc source tree I tried
[07:25:57] <jepler> but I don't see canned cycles in any of 'em
[08:09:09] <CIA-9> 03Zathras 07BDI build system * 10Babylon Cluster/comps.xml: File changed. New revision:1.7
[08:22:35] <CIA-9> 03Zathras 07BDI build system * 10Babylon Cluster/comps.xml: File changed. New revision:1.8
[08:45:05] <CIA-9> 03Zathras 07BDI build system * 10Babylon Cluster/anaconda.py: File changed. New revision:1.5
[08:49:23] <paul_c> * paul_c had a python bug....... and fixed it.
[13:59:50] <jepler> yay, I got my software to run on bdi. boo, it was a lot of work.
[15:20:46] <a70camaro> anybody home?
[17:11:56] <asdfqwega> I just found a National Instruments PCI-DIO-32HS among some old electronics...
[17:12:20] <asdfqwega> Would anyone know if I could use it with linux and/or EMC?
[20:33:35] <pastulio> Hey alex_joni
[20:34:02] <pastulio> I tryed what you said, but that did some realy strange thinks
[21:06:01] <alex_joni> * alex_joni is back
[21:06:49] <alex_joni> seems that pastulio is gone again...
[21:52:49] <alex_joni> hello paul
[21:57:15] <paul_c> Morning Alex
[22:11:52] <alex_joni> hello pastulio
[22:11:59] <alex_joni> you said you had some strange problems?
[22:16:23] <alex_joni> what kind of problems?
[22:16:38] <alex_joni> paul_c: how are things going?
[22:22:55] <pastulio> I connected the signal generator but the stepper stil only runs on way no matter what i do
[22:23:21] <pastulio> does any of you speak danish cause that would make alot easyer
[22:28:07] <alex_joni> not really... german?
[22:28:54] <alex_joni> did you set the signal generator at a low rate? it may not run on high speed without accel...
[22:39:13] <pastulio> I did...
[22:39:52] <pastulio> I speak German but i can't write it
[22:40:09] <paul_c> Sounds like a fault with the Dir input
[22:40:33] <alex_joni> so no matter what you do it runs in the same direction?
[22:45:47] <alex_joni> the L297 has different ways to operate
[22:46:49] <alex_joni> what mode did you select? (using jumpers JP1 from Steppermotordriver.pdf)
[22:51:12] <pastulio> Yes
[22:51:49] <pastulio> I did both... but i just found out that with a bi-polar stepper the problem is not there
[22:54:26] <pastulio> got 2 go talk to you later
[22:58:31] <alex_joni> bi-polar could be the problem
[22:58:50] <alex_joni> the drive needs to output inverse voltages to drive it in reverse
[23:03:24] <alex_joni> but the L297 should be able to do that...
[23:23:23] <jepler> I think he means it *did* work (go either direction) with bi-polar, *did not* work with unipolar (go only one direction)
[23:24:47] <paul_c> Whilst I'm willing to spend time diagnosing emc related problems
[23:24:58] <jepler> hi paul_c
[23:25:00] <paul_c> hardware is outside my remit
[23:25:13] <jepler> I got my software running under bdi46 last night
[23:26:09] <jepler> I had to install these packages to build and run: python-opengl python-tk python-dev xlibmesa-dev freeglut-dev
[23:26:24] <jepler> I think that to run it would be only python-opengl python-tk freeglut
[23:28:14] <paul_c> Added to the list.
[23:29:07] <jepler> thank you
[23:56:30] <paul_c> ARRRgggggn....
[23:58:19] <paul_c> * paul_c needs help with these package lists.