Back
[01:37:39] <jmkasunich> cradek: thanks
[01:37:54] <cradek> least I could do
[01:52:24] <jmkasunich> cradek: any thoughts about 2.1.7?
[01:52:37] <jmkasunich> I just realized that I should fix the m5i20 demo
[01:52:42] <cradek> I think it's a good idea
[01:52:43] <jmkasunich> there are index lines in the hal file that are commented out
[02:23:07] <jepler> speaking of index pulse, is there a use to exposing the latched encoder "index" signal on a HAL pin? I notice several drivers do it. should I add it to pluto?
[02:24:16] <jepler> jepler has changed the topic to: EMC2 development --
http://linuxcnc.org/
[02:25:07] <jmkasunich> jepler: good question
[02:26:09] <jmkasunich> I really can't think of a reason for it - people use hardware counting because signals are too fast to sample in software, so you can't reliably sense the index pulse that way anyhow
[02:26:35] <jmkasunich> the driver writers exposed the index pin, so I did the same when fixing the drivers
[02:27:08] <jepler> the "instantaneous" value on the index pin is already exposed, so that the pin can be used as general purpose input or for encoder index
[02:27:35] <jepler> I'm talking about adding a HAL pin that reads TRUE if an index was seen since the last read
[02:27:43] <jmkasunich> oh
[02:27:46] <jmkasunich> don't to that
[02:27:56] <jepler> maybe I used the wrong terminology
[02:28:09] <jmkasunich> the canonical access to "index seen since last read" is index-enable going false (the tri-state handshake thing)
[02:28:20] <jepler> OK
[02:28:25] <jmkasunich> I was unaware that some drivers exported something else
[02:28:40] <jmkasunich> the 5i20 certainly doesn't (at least not since I fixed it)
[02:29:31] <jepler> maybe I misinterpreted what I saw back when I was reading the motenc driver
[02:30:14] <jmkasunich> well, the motenc and the original 5i20 driver both did strange stuff with index, and maybe that was one of the strange things
[02:30:44] <jmkasunich> I fixed the motenc driver at the workshop, and the 5i20 last week, I'm about 95% sure the motenc doesn't do that now, and I KNOW the 5i20 doesn't
[02:57:53] <cradek> iirc, ppmc does that
[02:58:52] <jepler> it was handy for debugging but probably not for much else
[02:59:24] <cradek> yeah.
[03:00:36] <jepler> cradek: have you had the guts to update yet? I made a lot of changes to pluto, as I think you saw...
[03:01:26] <cradek> since workshop I haven't quite wired the lathe fully yet
[03:01:42] <jepler> ah
[03:01:52] <cradek> it just needs to be plugged in
[03:02:01] <cradek> I have some parts to make soon though, so I'll try it
[03:02:17] <jepler> anything neat?
[03:02:44] <cradek> some punches that close/rivet eyelets of some kind - I don't quite have a spec yet
[03:03:13] <cradek> for a friend of bill's who makes some kind of clothing
[03:03:19] <jepler> I see
[03:04:11] <cradek> she needs a different pair of punches for each size, and they cost > $60/pair, I'm hoping to make gcode that scales so it's simple to make a new size
[03:06:38] <jepler> 'night all
[03:06:41] <cradek> night
[03:06:59] <jmkasunich> night jeff
[03:10:17] <jmkasunich> have you ever seen elgoog?
[03:10:25] <jmkasunich> http://elgoog.rb-hosting.de/index.cgi
[03:12:49] <cradek> yes, but I don't get it
[03:13:36] <jmkasunich> its just supposed to be amusing
[03:14:12] <jmkasunich> I suppose it would be usefull to people who worked on their montors and connected the horizontal sweep coil backwards
[03:15:57] <jmkasunich> heh - it was used by lots of people in china, because the chinese block of google didn't affect it
[19:52:16] <cradek> maybe 9 axes, so you know which are linear, is the best answer - even though we have to extensively screw with all the layers
[19:52:27] <cradek> I'll help, fwiw
[19:54:50] <jepler> post-2.2
[19:55:00] <cradek> right
[19:55:14] <cradek> we could do it on a branch.
[19:55:23] <cradek> (as long as we didn't let it rot for too long)
[19:55:38] <alex_joni> * alex_joni can help too
[19:55:57] <skunkworks> * skunkworks can cheer
[19:56:04] <alex_joni> maybe we can fix the joints/axes issue at the same time..
[19:56:04] <jepler> I'm still tempted to do 'COORDINATES = X - Z' and issue errors for axes that don't exist for 2.2
[19:56:43] <alex_joni> '-' meaning Y is missing?
[19:56:44] <jepler> yes
[19:56:45] <jepler> right
[19:57:16] <cradek> jepler: if it's straightforward, sure why not
[19:57:48] <alex_joni> jepler: it's a can of worms.. I tried it twice for 1-2 hours
[19:58:28] <alex_joni> guess I stumbled on strange/wrong stuff, and drifted from the goal
[20:01:09] <jepler> two simple approaches: (A) change the table of function pointers so that the entry at 'a' is not read_a, if there's no 'a' axis
[20:01:18] <jepler> (B) change read_a to check a flag for "A axis is present"
[20:01:44] <jepler> (and so on for the other 5 supported axis letters)
[20:02:03] <alex_joni> ok, so a handfull of canon stuff to pass this back and forth
[20:02:51] <jepler> yeah, could be as simple as int GET_EXTERNAL_AXES(void), with one bit of the return value representing one axis
[20:03:29] <alex_joni> lowermost bit should be X
[20:03:37] <jepler> you may also want to put the same information in the stat buffer, so that axis can get it from there instead of parsing it from the inifile
[20:04:33] <jepler> exactly how you represent it in the inifile is an open question, but 'COORDINATES=X-Z' or 'COORDINATES=XZ' seem like two good ways to do it.
[20:04:55] <alex_joni> right now it's COORDINATES = X Y Z
[20:05:13] <cradek> changing to = X Z seems like it would be most natural to the user
[20:05:23] <alex_joni> * alex_joni was thinking the same thing
[20:05:26] <cradek> you probably don't want to make the user figure out what "slots" the letters go in
[20:05:40] <alex_joni> or what to put between them
[20:06:04] <jepler> the user has to know to write '[AXIS_2]' for Z and '[AXIS_0]' for X ...
[20:06:15] <jepler> so on the other hand, the "-" might be documentation
[20:06:14] <alex_joni> errr.. no
[20:06:25] <cradek> hmm
[20:06:24] <alex_joni> he should write joint_0 and joint_1
[20:06:37] <jepler> sssssshhhhhhhh
[20:06:40] <cradek> * cradek kicks alex_joni under the table
[20:06:41] <alex_joni> then use the kins to map j0 to X and j1 to Z
[20:06:47] <alex_joni> * alex_joni is immune
[20:06:48] <jepler> I am talking about something that can be done for 2.2 now
[20:07:02] <alex_joni> oh, forget it then
[20:07:34] <alex_joni> bbl.. gotta run for a while
[21:07:05] <alex_joni> back