00:00:58 the guy who ported the interp to the Rabbit chip, doesn't want to change the names to sensible style, because it will make diffing agianst the current EMC interp difficult :( 00:01:11 so that code is littered with the madness too :( 00:01:14 sigh. 00:02:06 perhaps we could co-ordinate a fixing of the interp in here with a fixing of the interp in his project? 00:02:20 * robin_sz shkes the channel to see if anyone is awake 00:07:20 hmm. 00:08:05 Can anyone think of a vlid reason why the usuall == operator is substituted for a macro IS, != for IS_NOT etc in the code? what porpoise does it serve? 00:12:28 gezr has joined #emc 00:12:53 robin_sz : is there something special about masking a part for powdercoating? 00:13:27 yes 00:13:42 usually it only half works :) 00:14:07 just use masking tape and see how it goes. not guaranteed results 00:14:36 I got a temperature controller for my oven this week, 00:14:51 I overbaked some parts last week .. went brown :( 00:15:33 advantages of powdercoat/spray is tremendous hu? 00:15:39 20mins @ 210 degrees is what they cook em at usually, so you can see the masking tape might well burn up 00:15:46 oh yeah, its awesome 00:15:58 the place ive talked to uses 400 00:16:05 400C? 00:16:09 F 00:16:12 my bad 00:16:16 whats that in C? 00:16:26 or K ;) 00:16:40 I dont know 00:16:43 me neither 00:17:03 how about in Rankin? 00:17:22 hehe 00:17:29 400 F = 204 C 00:17:36 so .. 210 for 20 mins then :) 00:18:17 gotta do the cylinder head onthe car tomorow 00:18:26 sweet :) 00:18:27 got it half off now 00:18:34 oh I got my gasket set in today :) 00:18:39 not paint it .. fix it :( 00:18:41 not much for what I sapent 00:18:54 ahh. yes. BM gaskets aint cheap 00:19:04 noting BM is cheap! 00:19:24 hard earend dollars for bits of cardboard huh? 00:19:25 no definately not chaeap 00:19:33 man seals, rubbery bits? 00:19:35 yeah, and a lot of special seals 00:19:38 right 00:19:42 thats not so bad then 00:19:50 thing is, I have to look at it like a car payment 00:19:59 sorta 00:20:09 whatever I put in is exactly what I need to get out 00:20:13 but on a car payment, you actually get a car that works ... 00:20:32 yeah, if this doenst go so well, Ill video tape the rage 00:20:36 heh 00:20:54 maybe a high speed jump into a lake, or things that go boom 00:20:56 not sure 00:21:00 im removing the cylinder head to do the valve clearences on the wofes car 00:21:21 you have to pull the heads for that hu? 00:21:25 they are mostly about 0.008" 00:21:33 except for 2 00:21:38 that are about 0.1" 00:21:45 oh lord 00:21:58 isnt clearance between the pusher and the cam ? 00:22:02 this may be due to the pistons bouncing offthem 00:22:12 when the timing belt snapped 00:22:27 yeah, if a valve exists at the bottom hu? 00:22:38 oh, lets hope its just bent 00:22:52 yeah 00:23:01 if it had snapped, there would be no clearance 00:23:12 thats true 00:23:15 the big clearance suggests its tipped 00:23:34 whatever, I have a spare head anyway 00:23:50 thats the troule with diseasels 00:23:58 no room for mistakes :( 00:24:50 the G2002 is looking good! 00:25:00 can build code for it just fine 00:25:04 I just hope I get the factory 10.2:1 out of his thing 00:25:30 were you able to try cradek's segmod mod? 00:25:34 yeah 00:25:39 thtas smooooth 00:25:40 how did that go? 00:25:46 like smoooooooooth 00:25:59 with blended Oh'S HU? 00:26:07 mmmmmmm 00:26:11 blended ... 00:26:35 is the output train from the g2002 superb? 00:26:36 i just air-cut some parts with the motors in a test frame 00:26:41 oh yeah 00:26:55 the G2002 shows the full benefit of hardware based step gen 00:26:57 its strictly hardware hu? 00:27:03 well, no 00:27:13 theres a micro running the emc interp 00:27:14 well, i mean the pluses 00:27:22 it rus emc? 00:27:25 sure 00:27:33 the interpreter anyway 00:27:36 sorry im wearing rubber gloves, emc is inside the g2002 box? 00:27:40 and thats the best bit :) 00:27:48 yep 00:28:00 does gecko know about the new changes? 00:28:18 you use a simple windows or linux GUI and send a normal GCODE file to the G2002 00:28:25 it suns the code, motors move 00:28:29 oh so smooth 00:28:59 yeah, its all on the list, files in the geckodrive area on Yahoo! 00:29:22 Steve Hardy has done an excellent job!! 00:29:23 very neat 00:29:40 GPL'd too 00:29:58 and gecko is the company making them? 00:30:07 making the boards yeah 00:30:22 cool 00:30:23 steve just wrote the code and published it GPL 00:30:34 the circuit of the board is published too 00:31:02 its jsut, well, complex. easier to get one bought in 00:32:23 mind ewe, cradeks code ... 00:32:26 thats close 00:32:59 if anyting, the motion is better planned, just let down a bit by the roughness of PC generated pulses 00:33:34 I'm putting it on a Bridgeport this week anyway, EMC that is 00:34:57 oh yeah i put a few more pics up about the bicke 00:35:11 uri? 00:35:32 www.masternode.net/gallery 00:36:28 you blasted the rocker cover? looks neat 00:36:56 which one are you looking at? 00:37:07 7/10 00:37:30 bottom end cover looks cleaned up nice 00:38:00 stuff on the plastic table undone so far 00:38:01 picnet has joined #emc 00:38:22 the part on the table with the black, is wher4e I have great powder coat concerns 00:38:28 2 bearing journals on it 00:39:03 the rocker cover is uncleaned? 00:39:12 im half a step away from screwing the black, and going all blast 00:39:14 yeah 00:39:24 looks clean enough to me :) 00:39:36 plenty of crud on the block though 00:39:38 I blasted it earlier let me take a new photo :) 00:40:40 how does your masking tape hold up to the blasting? ok? or strips it right off? 00:42:07 it supurb :) 00:42:33 I have a 1hp compressor, so Im limited on blast velocity 00:42:42 check out the new photo, its probably on page 21 00:42:43 2 00:43:08 yeah :), how does it look now? 00:44:36 ah yes .. comes up lovely 00:44:46 nice 00:45:05 gonna get the frame powder coated 00:45:07 ?? 00:45:12 yeah :) 00:45:22 they cant really screw that up 00:45:40 is it the pearlescent white paintwork on the plastics? 00:46:13 na just standard black plastic, and then white plastic on some other things 00:46:29 bead blasting the old stuff seems to clean it up nicely as well 00:46:34 I meant the fairing/tank 00:47:00 you know, the big bits :) 00:47:07 its the donalite green 00:47:19 yeuw :) 00:47:29 im gonna have to wack at the tank a bit to straighten up a dent 00:47:36 there is no faring 00:47:43 there was a mistake one rainy day 00:47:45 the white ones are nice, dunno they do the green one in the UK 00:47:51 ahh :) 00:48:07 and then that holy crap bwm stuff is expensive issue 00:48:08 the ABS didnt save you? 00:48:18 no abs on this model, it wasnt offered 00:48:23 right 00:48:39 well, thats what you get for playing with the brake lever :) 00:48:43 rayh has joined #emc 00:48:47 hi ray 00:48:48 I was going slow, and both back and front locked up, and I had no where to go but lay it down to get it to stop 00:49:05 did you consider letting go of the brakes? 00:49:11 I should have kept it up and put a dent in the damn cars bumper 00:49:20 Hi Robin 00:49:23 they wouldnt free up 00:49:44 it was one of those afternoon thunderstorms, enough to lift the oil on the road to the top 00:50:02 * robin_sz nods 00:50:21 I can remember the moment even now, that happend 15 years ago 00:50:26 heh, 00:50:54 so im sorta rebuilding my mistake and making things righht with my dad :) 00:51:00 oh yeah, yours is the 3/4 of a real one now, I rememebr 00:51:19 your dads bike? 00:51:22 i may get a rt faring for it as time goes on 00:51:42 it was purchased by him originally, then he sold it to me for $1 00:51:49 and you trashed it :) 00:51:53 then it blew up 00:51:58 right ... 00:52:00 and spent the last 10 years sitting 00:52:06 and *then* you trashed it :) 00:52:22 yeah, im ridding it every day now :) 00:52:29 rayh: you were asking about G2002 earlier 00:52:36 accelerated wear :) 00:52:45 Yes I was. 00:52:54 ...?? 00:53:30 robin_sz : I wish I had taken some pics when I pulled the head, damn wasp like insects made the cylinders home 00:53:59 gezr: yeah, I saw your posts :) 00:54:15 rayh: wodja wanna know? 00:54:58 First, what's a four axis system cost. 00:55:14 well, they only do 6 axis anyway 00:55:23 Okay. 00:55:26 I think it was 250 USD 00:55:36 I thought there were plug in modules. 00:55:42 thats the old system 00:55:46 ]discontinued 00:55:50 Oh. 00:55:55 new one is a slab 00:56:10 say, 100mm x 160mm (eurocard size) 00:56:12 What are the capabilities. Stepper servo?? 00:56:46 6 axes, 16 in, 16 out DIO, USB connection, step pulse gen (feed stepper or serve type Gecko drives) 00:57:11 can run the EMC interp on board 00:57:19 Only usb? 00:57:32 so just dump GCODE down the USB, it all happens 00:57:37 yeah only USB 00:57:51 maybe ethernet ... not yet though 00:58:09 Oh. So most all of the EMC equivalent is dumped into the rabbit. 00:58:23 can be in one code variant yes 00:58:34 variants? 00:58:44 Mariss ships it with a semi-intelligent motions system on it 00:58:59 but you can reprogrma it with whatever you like 00:59:11 Art Fenerty has code to use it with Mach2 or 3 00:59:30 Steve Hardy has published GPL code to run the emc inter on it 00:59:46 i think theres one more ... 00:59:52 Does it complete one block before reading another or is there look ahead? 00:59:54 forget who though 01:00:09 thers not tru look ahead ,, but someting as good 01:00:25 it builds a motion queue and then smooths it 01:00:48 Okay. 01:00:51 with a 'moving average' alogorithm 01:00:56 its very very smooth 01:01:13 But is it accurate on sharp changes? 01:01:16 yes 01:01:29 best of all worlds really 01:02:14 mind ewe, cradeks mending of segmod is pretty impressive too 01:02:15 As my grandfather would say, "I believe you but there's thousands that wouldn't" 01:02:36 yeah. whatever, Im having fun playing with it 01:02:59 I bought the Rabbit compiler and an happily hacking away and downloading code to the target 01:03:01 In essence is it a single tasking os? 01:03:05 yep 01:03:13 with hardware based step generators 01:03:18 Okay. 01:03:34 did you see mariss 'unstallable stepper motor' post? 01:03:50 Long ago we got model cars to run around a track with dos and peek and poke. 01:04:03 No I'm not a yahoo person at all. 01:04:07 'k 01:04:15 quick description 01:04:20 take a stepper 01:04:22 Thanks. 01:04:28 and a gecko drive 01:04:56 hook some signals out of the drive relating to the phase lag of the stepper 01:05:04 feed them back to the G2002 01:05:22 as the lag increases, slow down the incoming pulse train 01:05:39 result, it works like a servo ..!! 01:06:29 Something went way over my head? 01:06:34 he *clains* his test bench one basically you could put a wrench on it and it continued when you let go, without missing a step 01:06:49 well, I didnt understand it myself to be honest 01:06:55 learath has quit 01:07:15 basically he's fed back some load information from the drive to the step pulse generator 01:07:18 I can see the wrench thing though. 01:07:47 In emc terms you simply pile the extra pulses into following error and then reclaim them when the motor comes loose. 01:08:03 sorta yes. 01:08:31 Does that lag coordinate to the other motors among those being driven? 01:08:35 but its slowing down the putput pulse trian when you work out the motor cant keep up 01:08:46 yes, it slwos all the motors down 01:09:31 from what I gather, its someting to do with looking at the back emf to work out the phase lag on the rotor 01:09:39 not just plain current draw 01:10:05 but it was a bit hazy 01:10:09 A long while ago we did some experiments with steppers and encoder feedback. 01:10:25 I tink this was encoderless 01:10:32 There is a module still available for the K/M dro card. 01:10:55 Right. I can see how it can read lag from the motor. 01:11:20 The thing we did with EMC was speed up the motor when they began to lag. 01:11:24 Made it worse. 01:11:26 heh 01:11:30 it would :) 01:11:36 once its stalled, its stalled 01:12:03 We thought about flipping it over so steps slowed to match encoder feedback but never did. 01:12:19 with a stepper, you are working your way back up the torque curve as you slow down 01:12:29 That's why I was confused about it working like a servo. 01:12:40 well, yeah 01:12:43 Servo's turn up power when lag occurrs. 01:12:46 bad description 01:12:57 No good job. 01:13:04 these are turning the torque up I guess 01:13:14 Right. 01:13:24 smart cookie that guy 01:13:30 With the new 2002 then, there is no need for rt. 01:13:35 nope 01:13:38 non at all 01:13:54 I have it running here, doze and linux GUI's 01:13:57 Cause it's done in the rabbit. 01:14:03 * robin_sz nods 01:14:26 Sounds like a fairly good hardware solution to the issue. 01:14:41 seems so 01:15:07 850 us for four gecko drives and the 2002 and you supply the program feeder. 01:15:28 mm, 01:15:35 120 x 4 + 250 01:16:05 Um I was thinking of the 210's 01:16:11 right 01:16:19 not needed 210s use 201s 01:16:23 Is there an upper limit to the pulse rate? 01:16:29 this thing does pulse trians to 250khz easy 01:17:12 so you get very smooth changes between individual frequencies 01:17:13 Well above what a motor can handle at 10x micro. 01:17:18 sure ... 01:17:27 but thats part of the key 01:17:37 if you have 20khz max like we do 01:17:45 next step down is? 01:17:51 16.666khz? 01:18:13 whatever, its fairly big jumps 01:18:22 even though we mix em up 01:18:27 Right. That's why I always set max possible above max vel. 01:18:42 the g2002 produces *very* smooth pulse trains 01:18:52 you have to try it to believe it ... 01:19:21 I wonder how it compares to Jon E's board/ 01:19:27 dunno 01:19:40 spect his board is smooth too 01:19:41 I'll have to explore that with him. 01:19:57 im looking at it for a cheap plasma table 01:20:11 just plug a USB in and away you go 01:20:22 I can see that. 01:20:54 After your horror stories about mach2 stopping for a half second... 01:20:59 This would be very good. 01:21:00 yeah 01:21:04 screwed me that did 01:21:09 0.5 second? 01:21:14 4 seconds sometimes 01:21:23 Don't you hate it when that happens. 01:21:33 my customers did yes :) 01:21:50 some of them phoned up to explain 01:22:27 Were they making references to your kin? 01:22:32 one of them (quite rightly) declined the opportunity to hand over all the money 01:23:12 That kind of thing hurts everyone. 01:23:15 in the end, I decided not ot ship the orders I has, as it was just going to be more trouble 01:23:18 There are no winners. 01:23:21 right 01:23:30 and the task planner was the worst bit 01:23:39 even without the stopping 01:24:03 a bit like early EMC, it doesntcope well with low steps/mm 01:24:17 at say 20 steps/mm it sucks. 01:24:20 bigtime. 01:24:40 imagine a 20mm hole. 01:24:58 cut 5mm chamfers on it at 45 degrees. 01:25:11 so its a 10mm wide slot, with curved ends 01:25:41 now, all you have to do is convince the metalworker that it is round really 01:26:10 I can just imagine what the customer said about that... 01:26:15 I gave up asking for a fix on that one in the end 01:26:42 whatever, we fit proper controls now 01:26:47 I had one customer complaining about a 0.0003 step at the quadrature switch. 01:26:53 heh 01:27:08 threaten him with Mach2 next time :) 01:27:15 He said, "look at this" and he held it up to a light. 01:27:28 Okay. Good plan. 01:27:48 to be fair, Mach2 beats EMC in 2 crucial areas 01:27:56 Thanks for taking the time with 2002 01:28:00 np 01:28:17 ? 01:28:31 The two areas are? 01:28:33 user macros and GUI configuration by click and drool 01:28:46 even a windows weenie can do it. 01:28:53 Yes. I think you are correct. 01:29:12 still ... were getting there 01:29:31 did you see my Mach2 screen layout? 01:29:36 NIST wrote a paper a while back about each variable output from a routine 01:29:58 uh huh 01:30:02 having it's own set of characteristics that are available. 01:30:24 I would like to see your gui. 01:30:43 http://www.rapidcut.co.uk/images/screenshot.png 01:30:53 go on, the NIST thing ... 01:32:04 The idea was that if a variable was a float or an int, it would ship it's range and units and such right with it. 01:32:14 right ... 01:32:24 in some xml-like stream 01:32:36 Then the HMI could discover possible widgets to use to display that variable when it was needed. 01:32:43 right, 01:33:15 I can't remember exactly what format or formats they were proposing. 01:33:19 some file in the HMI tells the thing how to lay out the widgets 01:33:49 That's the idea. An HMI writer would work up the rules rather than the specific layout. 01:33:59 right 01:34:24 let the things pack the screen and shuffle each other up 01:34:31 There is just a bit of that in tkemc and mini. The axis position displays and offsets grow to the number of axes defined. 01:34:39 right 01:34:52 I did some work on that with my rewrite that never got finished 01:35:00 the 'components' based thing 01:35:09 (long time ago) 01:35:12 Yes I remember some of it. 01:35:20 still out there ... somwhere 01:35:31 I know the feeling. 01:35:53 so many projects, so little time 01:36:02 I've been working for a bit on a new variable loop thing. 01:36:10 ?? 01:36:20 Makes most of the EMC interface into a state machine. 01:36:26 ahh :) 01:36:36 thats probably heading in the right direction 01:36:39 You know how you can register a variable with the tickle loop. 01:36:52 I remember a bit 01:36:56 Most all of the gui would be regulated by variables. 01:37:00 right 01:37:14 And only changed variables would get passed to tickle. 01:37:18 right 01:37:22 that makes sense 01:37:37 the key has to be that it sholdnt matter if the widget is there or not 01:37:38 And that's as far as I've gotten. 01:37:49 Absolutely. 01:38:16 from then, its just a question of making up soem sort of file to determine how and where you stuff the widgets 01:38:43 Yep. And that becomes a thing the end user can manipulate. 01:38:47 right 01:39:15 once you have the file, brewing up a click.and.drool tool to configure it is possible 01:39:23 Want a huge display of the position vars, just spec them. 01:39:30 zackly 01:39:40 thats all mach2 does 01:39:49 Okay. 01:40:02 very similar infact 01:40:31 each display or led or button is bound to a var in the core code somehow 01:40:54 he gets different pages by making certain groups visible or inisible 01:41:06 not true tabbed pages or anything 01:41:15 they basicall all overlay on one page 01:41:34 which is why they are all 'static' 01:41:41 they dont push up or resize 01:41:50 Okay. 01:42:02 That could be an advantage in tickle. 01:42:30 really, you shoul'd grab a copy and try it, not to use it, hell no, but see the good bits and learn :) 01:42:50 he 'borrowed' the interp from emc after all ... 01:42:54 fairs fair :) 01:42:58 Don't think I've even got an OS here it could run on. 01:43:05 XP, ME? 01:43:25 95 the 16 bit version. 01:43:34 yeawy 01:43:43 you like pain I see ;) 01:43:50 Yep. 01:44:05 10 boxes and only one dual boot with MS. 01:44:20 if you are going to inflict windows on yourself, at least get XP so its not too painful :) 01:44:40 Still use easy cad and fast cad and a ladder programmer on it. 01:44:46 right 01:44:56 And keep it away from the web!!! 01:45:15 have to say, (touches wood) not had any trouble with XP, so far not a single OS crash 01:45:27 well, almost not 01:45:49 Helped a guy down the road clean xp of spybots. More than 120 of the little bastards. 01:45:55 heh 01:46:01 sounds about normal 01:46:13 run adaware? 01:46:33 Some freebee. 01:46:43 yeah, probably adaware 01:46:54 Might have been. 01:47:03 The box ran a lot faster after. 01:47:06 get him to install Firefox and thunderbird instead of Ie and lookout ... 01:47:30 For a while we keep getting popups saying that it wanted to call home and would we let it. 01:47:43 hah 01:48:24 anyway, its late, wife already snoring on the sofa :) 01:48:38 catch you later. Thanks. 01:48:43 let me know if you play with a G2002 01:48:56 right, bedtime 01:49:00 robin_sz has quit 01:50:24 rayh has quit 06:10:44 learath has joined #emc 06:26:53 picnet has quit 06:38:43 picnet has joined #emc 07:36:18 A-L-P-H-A_laptop has joined #emc 07:36:32 hi 07:52:41 picnet has quit 08:10:52 A-L-P-H-A_laptop has quit 18:20:44 logger_aj has joined #emc 18:20:44 topic is: Welcome to the Enhanced Machine Control forum | Regular Developer's meetings every Sunday between 14:00 & 18:00 GMT 18:20:44 Users on #emc: logger_aj rayh acemi A-L-P-H-A learath gezr zwisk jepler asdfqwega websys CIA-7 danfalck @ChanServ pemmet cradek anonimasu 18:28:24 Imperator_ has joined #emc 18:51:10 rayh has quit 19:01:33 picnet has joined #emc 20:00:43 who's used gerber to gcode stuff? Ijust want to use the drill holes, anyone got a tutorial on that? 20:18:30 picnet has quit 20:33:53 rayh has joined #emc 21:13:25 picnet has joined #emc 21:26:52 alex_joni has joined #emc 21:27:01 meep? 21:29:26 Hi alex. 21:29:37 hey rayh 21:29:52 seen some interesting talks last night between you and robin 21:30:03 I learned a lot. 21:30:10 * alex_joni is freezing .. 21:30:21 why? 21:30:28 -18 outside 21:30:29 ;) 21:30:43 it's ok inside.. but when I get outside... brrr :-) 21:30:44 Yea. I know that feeling. 21:31:09 you may know it, but around here people are not used to this kind of weather 21:31:18 I know it too (from the mountains) 21:31:32 When you get a chance could you describe what you did with classicladder. 21:31:39 not much 21:31:54 basicly classicladder exports some HAL-pins 21:32:00 inputs & outputs 21:32:03 You said that you got it so spindle on off would show. 21:32:11 you can select that from the config page 21:32:38 well I connected spindle-on ( that comes from the iocontroller, 21:33:02 iocontroller has an HAL-pin called spindle-on (also a pin spindle-forward, backward, speed, etc.) 21:33:14 okay 21:33:16 I took that pin and connected it to an input from classicladder 21:33:22 also HAL-pin 21:33:37 a simple add signal, and link signal 21:34:01 and when I pressed spindle on (on tkemc;) I could see the Input change on the classicladder GUI 21:34:14 Okay. 21:34:53 I hope to get more work done this weekend, as the whole thing is a bit shaky 21:35:22 classicladder permits you to configure stuff more than once 21:35:28 All the links between emc2 and classic ladder are through HAL pins. 21:35:32 and when you do that it re-exports the pins to HAL 21:35:57 which generates an error (I have to check for cases like that) 21:36:02 so far yes 21:36:21 I thought (and I was right) that the hal-connection is pretty basic to set up 21:36:36 NML support in CL is a whole different story 21:37:03 Could our HAL export a pin for every IO command from EMC? 21:37:07 first of all CL is written in C 21:37:14 sure it could 21:37:29 what kind of IO commands do you have in mind? 21:37:31 We would just have to write a module to do that. 21:37:44 * alex_joni started to write iocontroller 21:37:48 not simiocontrol 21:37:57 it's in CVS 21:38:18 * rayh updates emc2 21:39:16 hello 21:39:23 hey an0n 21:39:48 could these HAL pins like spindle on or spindle forward be only hal variables. 21:40:05 hal has no variables 21:40:16 hal has components 21:40:21 Then when cl sees the spindle forward command from emc it closes that contact, evaluates the rest of the run, 21:40:26 which have pins, parameters 21:40:40 things like spindle coolent on, and tool loaded 21:40:55 cl sees spindle-forward as an input 21:40:57 to the PLC 21:41:02 before it returns a spindle forward command that really changes pin polarity. 21:41:56 emc (iocontrol) [spindle-forward] -> [input_12] (classicladder) -> [output_15] (classicladder) -> [pin12] (parport) 21:42:01 smthg like this? 21:43:01 ray: the way I see it 21:43:03 picnet has quit 21:43:08 emc components export hal-pins 21:43:23 be it iocontrol, emcmot, etc. 21:43:38 these pins are all in a bucket (hal) 21:43:53 they are either realtime or nonrt 21:44:16 classicladder (if started and configured) exports his own pins to the bucket 21:44:28 after that you can connect what and how you want 21:44:47 say cooland-on goes to input_1 of the CL 21:45:04 and output_12 from the CL goes to parport.2.pin-7-inverted 21:45:10 (just examples) 21:49:13 Okay. I can see what you are doing.\ 21:50:14 * alex_joni waits for opinions 21:50:44 I got it. Looks good to me. 21:51:08 Adding in the tool prep and change commands would work the same as the spindle. 21:51:14 yes 21:51:28 I added those, because those exist from the GUI to the IO 21:51:34 through task, etc 21:51:41 In essence what you have here is bridgeport without the logical connections. 21:51:43 others should be added 21:51:46 yes 21:51:58 and the connections you can make in HAL (for simple systems) 21:52:05 or in CL (for complicated systems) 21:52:21 if you need timings, more outputs at once, etc. 21:53:20 If we ran a limit switch through hal to cl and wrote a rung with output back to hal to halt motion... 21:53:41 that would be ok.. but 21:53:44 How much more overhead does that create. 21:53:50 not like it's done now 21:53:51 ;) 21:54:05 I understand that. 21:54:10 right now the stuff I did with CL is just a quick hack (a proof of concept) 21:54:29 if cl runs RT (and it can), and it exports the pins RT to HAL 21:54:35 then the whole thing will run RT 21:54:46 I like it very much for those cases of a single pc doing all the motion and io work. 21:54:54 servo-rate 21:54:57 or faster 21:55:10 so you can make it safe for limitswitches 21:55:25 but.. as you said.. it's not ok for multiple PC's solutions 21:55:29 Okay. I get that. 21:55:42 for that NML would be best 21:55:46 but that's not RT 21:55:52 and pretty hard to expand 21:55:55 Right. 21:56:19 hard to expand? 21:56:38 yes.. if you want to add something lateron 21:56:49 say a plasma-on signal 21:56:54 you need to add that to NML 21:57:01 and to all clients involved 21:57:04 including CL 21:57:46 Yes. My thinking there was to create a hundred or so NML messages named xx1-xx100 21:57:56 I thought about that too 21:58:05 how about a single message? 21:58:10 with subtypes 21:58:21 same thing 21:58:34 UM. Immeidate reaction is okay. 21:58:55 brain is getting ahead of fingers... 21:58:59 ok, we could have NML-generic messages 21:59:13 that all components know of 21:59:21 GUI, task, motion, io, 21:59:30 So the subtype would be the first element in the message and would define the others? 22:00:19 Or would this message be a whole new type. 22:00:50 I think it can be derived from a NML_Message class 22:01:27 so it can be made to fit... 22:01:45 now.. question is.. how will you bind it to a certain action? 22:01:56 you could bind it to custom M-codes 22:02:12 or custom buttons 22:02:12 or custom IO-pins 22:03:05 or other.. but preferably all that you should be able to configure without recompiling (and easy) 22:03:14 and without adding yet another config file 22:03:51 Okay. Let me try proposing a simple example. 22:04:40 A gui button named "flame start" -->NML-generic xx1 22:05:52 * alex_joni agrees so far 22:06:01 It would carry a type IO so it passes through task to IO to your bucket. 22:06:42 to iocontroller.0.generic-pin-xx1 22:06:44 where NML-generic IO --> xx1 is commanded to set pin y1 22:07:08 which can then be connected anywhere 22:07:17 CL sees pin y1 as an input and processes it 22:07:27 yup 22:07:30 Setting an output. 22:07:37 maybe starts gas, then a spark 22:07:44 Right. 22:07:55 then checks for flame 22:08:03 What if the gui needed confirmation. 22:08:30 and after that it tells emc it's ok (through a pin connected to iocontroller, which gets as a message to GUI) 22:08:43 NML-generic xy1 22:08:46 NML has all of those conditions wait none, wait received, wait done. 22:09:06 thing is how do you tell it that without recompiling? 22:09:38 It's a bit mask that is carried with the message and applied throughout. 22:09:44 will be pretty tough to code 22:10:05 but.. tough is good ;) 22:10:49 sounds feasible 22:10:56 now another thing... 22:11:05 k 22:11:15 the same way all hal-stuff gets into the bucket 22:11:20 it should be on the GUI part too 22:11:26 a GUI-bucket ;) 22:11:36 and the user selects from there what he needs 22:11:59 This is an extension of the discussion with Robin last night 22:12:12 yes 22:12:20 I had a thought ;) 22:12:30 * rayh is all eyes 22:12:38 I played with a doze software called LCDHype 22:12:53 and with it's linux-equivalent lcdproc 22:13:13 basicly it's a software to connect some LCD to a parport 22:13:28 has a lot of drivers (for different LCD-types) 22:13:56 now I was thinking that it would be very easy to write a NML-component (GUI equivalent) 22:14:03 who sends data to lcdproc 22:14:14 and outputs the GUI on a LCD 22:15:31 I was thinking that an LCD could be better on a machine, than a monitor 22:15:52 you can put it easy behind a lexan, or whatever to protect it 22:15:53 There are certainly a number of machines that use them. 22:16:06 text-mode LCD is fine too 22:16:21 well.. that was just a thought... 22:16:37 I might do that sometime, but right now the other stuff is more needed ;) 22:17:06 The NML is a kind of bucket, or is it. 22:17:19 hmmm.. more like a network of pipes 22:17:21 ;) 22:17:44 Right and for your lcd you need a memory. 22:18:08 memory? 22:18:19 So that you can easily switch between little parts like location or mode or lines of g-code. 22:18:45 ahh.. yes, you need some buttons too ;) 22:19:03 I imagine it to be like a big sheet of paper and you slide the LCD display over it. 22:20:25 The text on the paper is the current state of the EMC at all times. 22:20:41 yes 22:21:02 all you need is an component linked to emcstatus 22:21:19 and it gets the latest stuff from there (position, etc.) 22:21:54 I've never gotten my head around emcstatus. 22:22:30 well... I'm not an expert either ;) 22:22:51 but if all of the current state of emc resides there... 22:23:09 it's a NML-channel 22:23:14 just like any other 22:23:18 but it's for status 22:23:34 okay. 22:24:19 * alex_joni is looking at a .nml file 22:24:43 tkemc is connected as xemc .. right? 22:24:56 actually emcsh 22:26:21 yes.. that's it 22:26:39 emcsh connects to 5 NML channels 22:26:57 emcCommand (where it sends command to the taskcontroller) 22:27:15 emcStatus (where it gets status from the taskcontroller) 22:27:34 emcError (channel for errors, connected to all components) 22:27:50 Yes tkemc and mini use emcsh. 22:27:54 toolCmd (to send commands to the tool controller) 22:28:02 tkio uses iosh. 22:28:15 toolSts (status back from the tool controller) 22:28:47 That is where spindle, tool, lube, and such are handled for tickle scripts. 22:29:30 I suspect iosh connects only to toolCmd and toolSts 22:30:36 I just love it when I'm right ;) 22:31:47 logger_aj, bookmark 22:31:47 See http://193.226.12.129/irc/irc.freenode.net:6667/emc/2005-02-10#T22-31-47 22:33:22 If you've got a few minutes let me describe my imagination for a comprehensive interface. 22:33:50 go right ahead 22:34:12 You are sitting near one corner of a square room looking at the opposite corner. 22:34:40 * anonimasu lurks 22:35:06 The entire wall to the left of that opposite corner is filled with status reports from the EMC. 22:35:43 there are two walls on the left ;-) 22:35:50 The entire wall to the right of that opposite corner is filled with signals to the EMC. 22:36:19 True but you have to turn your head to see the one partially behind you. 22:36:30 :P 22:36:33 ok.. go ahead 22:36:44 We may need it but right now it's the two away from you I'm looking at. 22:37:12 ok 22:37:20 Signals to the EMC are a bit like buttons except that they also have variables that may be attached. 22:37:52 For example SCALE which can have a value. 50% 90%... 22:38:12 It can also have a min and max value. 22:38:40 agreed so far 22:38:43 Now right in front of you is a tipped table top. Like a drafting table 22:39:11 When you reach up and grab SCALE, it's variables come with it to your table. 22:39:43 ok 22:40:03 When it gets to your table it gets pressed into the shape of a button, a scale, or whatever you choose to use to display and manipulate it. 22:40:52 Now look for a moment at the state wall while we enter a value into SCALE and send it off. 22:41:18 There you see SCALE's value change 22:42:06 And you also see the color of the SCALE presentation change to red. 22:42:20 When NML is done with it's wait state then that SCALE display changes to green. 22:43:07 SCALE is input to EMC? 22:43:11 Now if you grab SCALE from the state wall and stick it on your table it brings with it the nature of the variable. 22:43:12 robin_sz has joined #emc 22:43:14 Yes. 22:43:19 evening 22:43:22 just the man needed 22:43:28 hello robin 22:43:29 ;) 22:43:33 It overrides speed/ 22:43:38 Hi robin. 22:43:41 ah, ok 22:43:53 robin: check the last hour log 22:44:32 log of? 22:44:36 In my imagination we have created a completely flexible gui environment. 22:44:38 irctalks 22:44:48 logger_aj, bookmark 22:44:48 See http://193.226.12.129/irc/irc.freenode.net:6667/emc/2005-02-10#T22-44-48 22:44:54 how would I do that? 22:45:29 The size and shape of the drafting table determines the gui look and feel 22:45:45 But the wall information remains the same. 22:46:00 well .. the wall would be emcsh ? 22:46:05 Every state, Every command, always available to the desktop. 22:46:14 Yea only bigger. 22:47:16 ok 22:47:25 so far I agree ;) 22:47:31 And more generalized so that your work with the LCD could draw from it as well. 22:47:32 alex_joni: the NML message stuff? 22:47:51 * rayh gets another cup of coffee 22:47:57 NML, classicladder, HAL 22:48:04 a lot of nice stuff ;) 22:48:13 yeah saw that 22:48:51 are you familiar with lcdproc? 22:49:04 nope 22:49:57 never mind then ;) 22:50:38 i saw the thing .. lcd , parport, gui 22:53:32 * alex_joni went to bed 22:53:35 There are five deer on my porch eating seeds the birds dropped. 22:54:07 wow, 22:54:14 thanks to my wifi ;) 22:54:17 what sort of deer? 22:54:26 Whitetails 22:54:32 ahh yes. 22:54:41 nice.. can you pet them? 22:54:43 .243 is ideal 22:54:59 ^_^ 22:55:07 No They run if you get very close. 22:55:21 I've had one almost eat an apple out of my hand. 22:55:41 The dog got upset and chased it away. 22:55:45 lol 22:56:47 ok... now where were we? 22:56:54 emcsh needs to be expanded 22:57:17 custom signals (NML-messages) need to be added 22:57:19 * robin_sz was doing 3 axis routing of handgrips today 22:57:27 coo 22:57:35 wabbit based? 22:57:40 nah 22:57:49 Like the one you posted the scan of? 22:57:54 nice 22:57:55 yep 22:58:16 Great. I did a little target shooting when I was a kid. 22:58:29 im still a kid :) 22:58:56 http://lcdproc.sourceforge.net/smoketests/ 22:59:13 kinda like compile_farm 23:01:29 robin: got any thoughts on the NML/GUI stuff= 23:01:30 ? 23:03:31 alex_joni: emcsh is tickle specific and also a limited set of the status and commands available.\ 23:04:22 ok.. so you think about a more genric layer above? 23:04:39 Yes. 23:04:55 acemi has quit 23:04:59 but the GUI still needs to access it through emcsh 23:05:04 tkemc at least 23:05:11 One that could be approached by any tool set 23:05:13 Yep. 23:05:49 ok, in that case the emcsh interface could get rewritten 23:05:58 it won't talk NML anymore 23:06:12 it would talk to that component (the wall) 23:06:26 You're quick 23:06:42 I'm tired ;) 23:07:10 We can continue another time... 23:07:27 nah.. this sounds like something going in the right direction 23:07:36 usually stuff interrupted won't go any further 23:07:38 ;) 23:07:54 I haven't a clue what the wall really looks like in data terms. 23:08:16 xml could do it but there is a lot of overhead. 23:08:23 probably a bunch of bricks 23:08:40 each brick containing one or more fields 23:08:54 That would be find. 23:08:56 fine 23:10:03 Could the info in a brick be self defining. 23:10:20 should be 23:11:29 So that if you grab a brick and drop it onto the desk it has it's own variable names as well as legends. 23:11:56 and basic type (button, slider, etc.) 23:12:00 for the GUI 23:12:51 Would the wall be in english or i18n 23:12:59 hm, could the sliders/text/buttons be made as objects with a cyclic time set for updates? 23:13:45 or as buttons/sliders.. with a push function to push the updated values 23:13:46 should be i18n 23:13:57 picnet has joined #emc 23:14:01 back into the program 23:14:47 Any command should have a way to push the new value. 23:14:59 yeah true.. 23:15:14 and the "wall" is a data abstraction object which takes care of the messaging.. 23:15:30 Right now emcsh uses commands to querry value and the same command with a value to set it. 23:15:41 and manages which data goes where efficiently.. 23:15:51 rayh:talking about tcl/emcsh interface? 23:15:52 [emc_mode] returns the current mode 23:15:59 * anonimasu is just ranting 23:16:00 or emcsh/emc interface? 23:16:03 I have no clue on how you do it today 23:16:09 an0n: http://www.robijn.net/lcdproc/lcdvc/ 23:16:12 I was thinking the way I do it at the plc's I work with.. 23:16:19 while emc_mode manual sets the value 23:16:44 I am thinking the same way as when I code the PLC's I do at work.. 23:17:53 ? 23:18:45 dont know how to explain what I was thinking really.. need pen and paper.. 23:18:59 * rayh knows that feeling 23:19:32 me too 23:19:49 We need IRC-whiteboard. 23:20:00 lol 23:20:11 is there smthg like that? 23:21:06 Not that I know of. 23:21:14 anyways... 23:21:24 we need inputs and outputs 23:21:33 right? 23:21:34 A graphical wiki. Yea yea that's it. 23:22:33 anonimasu: are you thinking of the notion that a plc reads all the inputs, computes the logic, and sets all the outputs? 23:22:39 rayh: no 23:22:46 rayh: I was thinking about the GUI 23:23:00 The ladder gui? 23:23:05 emc gui.. 23:23:14 err the emc gui.. 23:23:53 What should it do or look like. 23:24:15 I was thinking about how to pass data for user variables/buttons.. 23:24:39 Ah. 23:24:41 allowing the user to easily add/remove their variables for display 23:25:13 This next is tickle specific. 23:25:21 but keeping it separate, from the rest of emc.. 23:25:33 There is a program vtcl that is a kinda drag and drop and size. 23:25:43 yeah, somthing like that was what I thought about.. 23:25:59 I wrote a dummy emc library for it so that a user can test out stuff. 23:26:19 A-L-P-H-A has quit 23:26:22 you did? 23:26:38 then when ready, just remove the library and start as an ordinary emc gui. 23:27:10 The dummy only returns single values and does not do any kind of reality thing. 23:27:51 But I'd bet that I could work something like that up with the set of stuff from both walls if we could define them. 23:28:04 yup 23:29:10 vtcl has blt, and other graphical libraries can be added. 23:29:29 I'd have to create a library of emc graphical things. 23:29:40 yeah, I read a bit more about your wall idea.. 23:30:22 what's blt? 23:30:29 axis displays --> axis names and values with actual, commanded, dtg, and such 23:30:53 It is an expansion library written in tickle with different widgets than the basic tk. 23:32:46 What we would need is a way to select a state variable or command and have it make it's own widget. 23:32:59 from the brick that is that variable or command. 23:33:43 vtcl can handle multiple toplevels 23:34:25 so one could build a complete control on multiple pages and switch between. 23:34:49 that sounds very neat 23:36:40 yup 23:37:03 vtcl is a bit klunky right now but it or something like it could be cleaned up. 23:37:25 What we need to do to start is define the bricks in the wall. 23:37:45 who let pink floyd in? 23:37:49 maybe using a wiki? 23:38:06 I think you just did 23:38:21 hm, could you tell me how you define "bricks" I missed that part 23:38:28 We could easily start a page on the wiki. 23:38:42 gui-rants 23:38:43 ^_^ 23:39:05 There are two walls. One is all of the possible emc state varaibles 23:39:17 The other is all of the possible emc commands. 23:39:33 Each brick is a single variable or command. 23:39:47 ok, objects.. 23:39:50 basically 23:39:58 That brick carries with it the units associated with the variable and any name or legend. 23:40:33 max and min values, current value and such 23:41:10 It might also carry a suggestion about the nature of widgets that would best display or operate the variable or command. 23:41:12 ok, I get it 23:41:46 Once that wall is built and working, any graphical or text library could approach it. 23:42:06 yeah, that's the same path I was thinking about that I forgot to write down :) 23:42:37 W could even make an html lib that would display a remote machine on a browser. 23:42:56 lol 23:43:06 now that's .. crazy 23:43:10 Hundreds of us could watch while one of us starts up a machine. 23:43:17 heavy data abstraction.. 23:43:25 hehe 23:43:36 rayh - with your connection speed? 23:43:56 I'd probably be light years behind. 23:44:15 wow. 23:44:16 Don't try putting an estop on my destop. 23:44:31 OK, who suddenly lit a fire under you gu[i]ys? 23:44:32 How you doing bob? 23:44:33 detaching the gui, from the rest of emc.. 23:44:50 very well - how was the warm weather? 23:45:22 Nice. A bit of ice but just wonderful. Longest midwinter thaw I've seen in 30 years. 23:46:14 I'm even imagining a set of widgets in Synergy that would run the machine with the code generated and a real-time motion component in the solid modeling display. 23:46:16 the idea is a bit extreme to actually implement, but it seems very nice.. 23:46:37 I'm not much of a programmer. Dreamer more like. 23:46:43 We could do that 23:46:45 but it could be done 23:46:54 I definately want a lcdproc GUI 23:46:58 ;) 23:47:19 That would be darn handy. Even on a control with a screen. 23:47:20 alex_joni: you would just grab the data off the wall and output it to the lcd 23:47:35 err bricks.. 23:47:36 ;) 23:47:48 yes 23:47:53 pretty basic and simple 23:48:46 Via makes a itx sized board with four display drivers in sequence. 23:49:09 I could see Paul C making an EMC interface that stretched across all of them. 23:49:31 hehe 23:49:42 I have a dual-DVI out board 23:49:48 never used them both :( 23:50:00 Now I've got to quit dreaming and see if we can define a single brick... 23:50:50 hi ray 23:51:14 Hi Dan. Paul there yet? 23:52:35 yes he's here 23:52:47 Great. 23:52:58 paul_c has joined #emc 23:53:01 he's getting the laptop hooked up1 23:53:04 up! 23:53:11 Yo I'm in 23:53:16 Hi Paul. 23:53:45 hey paul 23:54:05 danfalck: thanks for the link .. I put it in 23:54:14 thank you. 23:54:25 alex_joni: Can you check your copy of 4.14 - I think you may have a corrupt download. 23:54:41 Hi Ray.... Did the CDs turn up ? 23:55:04 hmmm... 23:55:06 Just did. I'll try installing tonight or tomorrow morning. 23:55:09 checking 23:55:32 paul: md5 not ok? 23:55:34 paul_c: do you know why sherline's downloads are gone again? 23:55:36 Rebuilt the kernel, so it should install on the Via C3 23:55:49 That's where it's headed. 23:55:53 I hope my vise turns up tomorrow 23:56:24 idot.com says that they are discontinuing some of the 800 boards. 23:56:52 dropped price by $10 or so. 23:57:13 paul_c: md5sum is ok 23:57:16 that means they must be end-of-line i guess 23:58:22 rayh: Looks like a permissions problem 23:58:27 Darn. I was nearing the end of a design. 23:58:34 Oh. 23:59:05 Someone take them off line cause we were hitting them to hard? 23:59:12 Permissions? go and check with Ms Whiplash, she is in chrage of permissions around here ;) 23:59:48 okay...