#emc-devel | Logs for 2010-10-17

[04:07:41] <mhaberler_> mhaberler_ is now known as mhaberler
[04:24:32] <NTU> I'm writing a wiki on making your own EMC live cd with RTAI for Arch Linux so others can make their own. The guide / wiki requires extensive testing on my part, making it a very easy copy and paste operation however the big initial work is mostly finished. For those interested, its here http://neo-technical.wikispaces.com/livecd I am also working on updating the EMC package for Arch so it can be launched graphically via gnome rather than through
[04:24:32] <NTU> a terminal, for easy to use operation :)
[15:38:14] <alex_joni> awallin: cool presentation film
[15:47:28] <JT-Hardinge> I have a similar Board but with 4 Axis and I've had the same Problem at the beginning.
[15:47:30] <JT-Hardinge> But as always I took a look at the Stepconf generated files and saw the .hal is wrong.
[15:47:31] <JT-Hardinge> On the lines for Pin configurations, it should be xenable for x, yenable for y and so on,
[15:47:33] <JT-Hardinge> but there was xenable for all axis enable Pins.
[15:47:34] <JT-Hardinge> from the forum
[15:49:56] <JT-Hardinge> hmm, I just created a config and it is correct :)
[15:51:54] <JT-Hardinge> so nevermind
[16:01:22] <skunkworks> alex_joni: I don't know how I would get the spindle to orient until after the call to go home. (unless I did it manually do a spindle orient - while commanding the machine to the tool change position,)
[16:02:14] <skunkworks> I don't see any external way to know that a tool change is called until it moves to the tool change position and the tool change pin goes high./
[16:02:47] <skunkworks> if that makes sense
[16:03:43] <JT-Hardinge> isn't there a tool prep something or other
[16:04:37] <JT-Hardinge> iocontrol.0.tool-prepare
[16:04:40] <JT-Hardinge> (Bit, Out) TRUE when a Tn tool prepare is requested
[16:04:48] <skunkworks> right - but the tool prep is independent of the m6 command
[16:05:03] <JT-Hardinge> ah, ok
[16:05:09] <skunkworks> I can prepare the tool - but that doesn't mean I am going to do a tool change at that point
[16:05:42] <skunkworks> I think we are splitting hairs.. I don't really know if I need more speed yet ;)
[16:05:55] <JT-Hardinge> then it is like my Discovery 308 the M6 puts the spindle in the tool change position then orientates the spindle then changes the tool?
[16:06:15] <skunkworks> JT-Hardinge: http://www.youtube.com/watch?v=KplU8hkI0AQ
[16:07:16] <skunkworks> the spindle orient is done when the toolchange pin goes high - so you can see that it doesn't orient the tool until it is in the tool change position. (am using tool_change_is_ g30 or whatever it is called in the ini)
[16:08:23] <skunkworks> unless I am missing something - maybe someday there should be a pin that goes high when the toolchange is called. (the very start of the proccess) but like I say - I don't know if it is a big deal.
[16:09:07] <skunkworks> the tool prepare pre-fetches the tool - so that should not be a problem.
[16:10:04] <skunkworks> (the video is just a T7178M6 in mdi
[16:10:12] <JT-Hardinge> looks cool to me... slow connection atm
[16:10:17] <skunkworks> heh
[16:10:51] <JT-Hardinge> how are you orientating the spindle?
[16:11:09] <skunkworks> it is a dog run by a solinoid. pretty easy
[16:11:32] <JT-Hardinge> cool
[16:11:47] <JT-Hardinge> I think mine uses the encoder
[16:12:32] <skunkworks> the transmission just needs to be in gear 7 - then activate the lock solenoid and spindle creep into dog.
[16:14:42] <JT-Hardinge> how many gears does it have?
[16:14:46] <skunkworks> 16
[16:14:58] <JT-Hardinge> wow what is the rpm range?
[16:15:11] <skunkworks> heh - 1 to 3000
[16:15:29] <skunkworks> http://www.youtube.com/watch?v=22dWg3GbywE&playnext=1&videos=Qwr0zgU2_jE&feature=mfu_in_order
[16:15:57] <skunkworks> it had that many gears because initally the spindle motor was hydraulic and only had 2 speed.
[16:16:00] <skunkworks> speeds
[16:16:26] <JT-Hardinge> you took off all the hydraulics?
[16:16:27] <skunkworks> should be able to rigid tap a pretty big hole ;)
[16:17:04] <skunkworks> we still need some - for shifting and table lift / counter balance. - but the hydraulic servos and spindle is gone
[16:17:23] <skunkworks> collet unclamp and such
[16:17:42] <skunkworks> (that is why it is so loud ;))
[16:18:04] <JT-Hardinge> the hydraulic pump is loud?
[16:18:22] <JT-Hardinge> I don't have speakers on the Hardinge (yet)
[16:18:26] <skunkworks> heh
[16:18:30] <skunkworks> yes - it has a wine
[16:20:08] <skunkworks> we have to run 2 pumps still - 475psi for oiling and most things like tool change - a 1200 psi pump for collet, table clamp/lift. ( we want to get a smaller 1200psi pump because it used to need a lot of volume for servos)
[16:22:09] <JT-Hardinge> I have a 5hp pump that I can't even give away lol and it was hardly used
[16:22:33] <skunkworks> heh
[16:23:59] <JT-Hardinge> we took it off of a small tank so we could use the tank to build a heated oil tank for Briggs to put warm oil in the engines before they hit the run tunnel
[16:25:24] <JT-Hardinge> well I need to finish my winter service on the lawn mower before nap time :)
[16:25:53] <skunkworks> I need to make a raised bed toda
[16:25:55] <skunkworks> today
[16:30:48] <Jymmm> skunkworks: Got Hovercraft?
[16:31:53] <skunkworks> heh
[16:36:31] <Dave911> JT: How did they heat the oil, cartridge heaters?
[16:37:13] <JT-Hardinge> we used some low density submersion heaters in the tank, they didn't heat it before.
[16:37:19] <JT-Hardinge> low watt density
[16:37:38] <JT-Hardinge> I think you have to stay below 22 for oil or something like that
[16:47:32] <Jymmm> blow torch =)
[16:47:50] <Jymmm> magnesium powder
[16:48:18] <JT-Hardinge> tannerite
[16:48:41] <Jymmm> Potassium Permanganate
[16:49:04] <Jymmm> Just gotta love exothermic reaction!
[16:50:45] <JT-Hardinge> fulminate of mercury
[16:51:23] <Jymmm> I dont know how many of you are pyros, but did you know that fire is just a self sustaining exothermic reaction?
[16:55:47] <skunkworks> when I was a kid I would make hydrogen through electrolysis of water. fill balloons and light them off...
[17:00:09] <Jymmm> SWPLinux: WB
[17:05:30] <SWPLinux> hi
[17:07:16] <Jymmm> SWPLinux: What planet or continent you be on?
[17:07:37] <SWPLinux> Earth, North America
[17:07:51] <Jymmm> Really, I'm surprised.
[17:07:53] <SWPLinux> Toronto, specifically
[17:08:15] <Jymmm> Ah
[17:08:30] <Jymmm> or shoudl I say.... Eh
[17:08:33] <SWPLinux> heading home for a couple of days actually
[17:08:57] <Jymmm> short flight at least, less TSA
[17:09:24] <SWPLinux> har har
[17:09:29] <Jymmm> No?
[17:09:42] <Jymmm> YYZ ORA Home?
[17:09:48] <SWPLinux> sadly, there aren't any direct flights to Burlington, so I get to go through Washington DC
[17:09:54] <SWPLinux> YYZ - >IAD -> BTV
[17:10:01] <Jymmm> ah
[17:10:04] <SWPLinux> eh :)
[17:10:40] <Jymmm> would it be faster driving?
[17:11:06] <SWPLinux> not quite, but it's fairly close
[17:11:19] <SWPLinux> it's about 8-9 hours, plus whatever the border crossing adds
[17:11:43] <SWPLinux> only 4 hours flying, plus the extra time before the first flight, so still ~6 hours
[17:12:01] <jthornton> have a 22 shell under your seat and see what that adds to your border crossing :)
[17:12:23] <Jymmm> SWPLinux: Tornto to Motreal, then drive across?
[17:13:04] <SWPLinux> nah, that just makes me go through both airport security and the border. it's kind of the worst of both worlds
[17:13:34] <Jymmm> SWPLinux: Take one of the back roads across
[17:14:06] <SWPLinux> yep. come on up and tell that to the border guards
[17:14:13] <SWPLinux> it's gotten bad in the last couple of years
[17:14:50] <Jymmm> how so?
[17:15:38] <Jymmm> A backroad crossing has to be less congested than a main hwy crossing
[17:16:00] <SWPLinux> well, there are towns that actually straddle the border in Vermont (Derby Line is one of them), and you used to be able to cross the street to buy a pizza or something. now, they'll arrest you if you don't go to the end of the street and go through the border station before crossing the street (and the border)
[17:17:27] <Jymmm> Yeah, but you're not buying a pizza.
[17:17:35] <jthornton> getting close to Berlin sounds like...
[17:18:20] <SWPLinux> no, Berlin is a lot easier now ;)
[17:18:47] <SWPLinux> my point was that there aren't a lot of back roads where you can just go cross the border without a major pain
[17:20:19] <Jymmm> 235 has a lil station
[17:21:25] <Jymmm> http://maps.google.com/maps?f=d&source=s_d&saddr=Essex+Junction,+VT&daddr=Burlington,+VT&hl=en&geocode=FW3fpgIdUGqk-ykfwAVnYnfKTDHYE5PD4G51Gw%3BFeqlpgIdWN-i-ynlVZu2VXrKTDGOSQ5yGeVfww&gl=us&mra=ls&sll=44.048116,-72.817383&sspn=5.029625,6.251221&ie=UTF8&ll=45.013815,-72.97823&spn=0.019326,0.04077&t=h&z=15
[17:21:51] <SWPLinux> I'll keep that in mind for next time, since I'm already at the airport, checked in, through security, and enjoying a Cappuccino+extra shot + Bailey's right now :)
[17:22:17] <Jymmm> You drinking, musta been a rough time.
[17:22:53] <SWPLinux> yeah. remember Friday night when I said something at ~11:00 your time>
[17:22:54] <SWPLinux> ?
[17:23:09] <Jymmm> the usb jtag something or another
[17:23:24] <SWPLinux> I was getting up for my work day yesterday, which went from 3:00 AM until 9:00 PM
[17:23:40] <SWPLinux> plus travel time and dropping off equipment (2:30-10:00 if you include that)
[17:24:05] <SWPLinux> with no real meals, which was a little bit annoying
[17:24:29] <Jymmm> For you, I Bet.
[17:24:39] <SWPLinux> yeah (!)
[17:24:50] <SWPLinux> at least one of the guys brought his espresso machine
[17:25:20] <Jymmm> Dont know if thats good or bad
[17:27:02] <SWPLinux> yes, it was
[17:27:09] <Jymmm> eh
[17:27:25] <SWPLinux> because the closest bathroom was about 1/4 mile away (still in the arena, at least)
[17:27:57] <Jymmm> wth, did they have you underground in a bunker ?!
[17:28:26] <SWPLinux> underground at least. at the Air Canada Center, on the basketball court
[17:29:56] <Jymmm> Oh, you had to walk forever to hit the nearest head
[17:29:59] <Jymmm> eh
[17:32:11] <SWPLinux> yeah, which was a real problem because I basically had to be on the court all the time, it was hard to get 5 minutes away, let alone 15
[17:32:51] <Jymmm> Hand held urinal in front of 50,000 eh
[17:34:02] <SWPLinux> no, luckily this wasn't a game - just "media day"
[17:34:13] <Jymmm> ah
[17:52:11] <SWPLinux> well, see you later, time to head for the gate
[17:53:04] <Jymmm> hasta
[17:53:07] <Jymmm> eh
[18:01:15] <andypugh> I am a bit fuzzy on what things need to be kmalloc-ed inside a hostmot2 driver.
[18:01:51] <andypugh> My understanding is that you need to hal_malloc anything related to a HAL pin, to put it in shared memory.
[18:03:12] <andypugh> Is it only things which need to be accessed by the TRAM read and write that need kmalloc, or is it (as has just occurred to me) anything which is an array of a size only decided at run-time?
[18:03:56] <andypugh> I suspect I just answered my own question again.
[19:10:48] <jepler> need to hold pins and parameters? hal_malloc. can be statically allocated? file-level static. otherwise? well, for a hardware driver, kmalloc is fine. kmalloc isn't available in rtapi_app, so it wouldn't work on --enable-simulator machines
[19:11:37] <jepler> if you kmalloc, generally you have to have a matching kfree. hal_alloc memory is sort-of freed at component exit.
[19:19:01] <andypugh> Any disadvantage in using hal_malloc? The other hostmot drivers have lots of kmalloc and then a hierarchy of fail0: fail1: etc labels to kfree if it all goes wrong.
[19:19:10] <andypugh> I am wondering why.
[19:22:06] <Dave911> JT: Sorry I went away ... low density - in other words large surface low wattage so the oil doesn't burn at the surface? Is that 22 watts per square inch? I need to heat some oil but not get into a situation where the oil can burn at the heating surface. I really need a controlled surface temp. But my solution has to be cheap.
[19:28:01] <andypugh> I think I have my pointers and structs in a muddle.
[19:28:11] <andypugh> http://www.pastebin.ca/1965081
[19:32:57] <willeo> trying to connect a pyvcp button to a %B in classicladder
[19:33:04] <willeo> anybody ever done it?
[19:44:32] <andypugh> Any ideas on my pastebin? I am trying to return a pointer to a struct inside an array inside a struct in an array, and seem to be getting my level of indirection wrong..
[19:48:13] <micges> andypugh: you should put pin/param after 'hal' ( hm2->sserial.instance[i].hm2_8i20[n].hal.hm2_phase_angle)
[19:48:32] <micges> hm2->sserial.instance[i].hm2_8i20[n].hal.pin.hm2_phase_angle
[19:48:48] <andypugh> Doh! Of course.
[19:49:04] <andypugh> Sorry, too long staring and not enough looking.
[19:49:09] <andypugh> Thanks :-)
[19:49:23] <micges> np
[19:49:30] <micges> take a short brake ;)
[19:50:28] <andypugh> Nearly there: note: expected ‘volatile real_t **’ but argument is of type ‘volatile real_t *
[19:51:28] <micges> you should put * before each of pin entries in struct
[19:51:49] <micges> hal_float_t hm2_phase_angle = > hal_float_t *hm2_phase_angle
[19:52:22] <andypugh> Ah, yes, so I should.
[19:52:28] <andypugh> Thanks again.
[20:01:31] <Dave911_> Dave911_ is now known as Dave911
[21:01:33] <jepler> hm, I think I need to revise what I said. I think there's no guarantee of being able to access kmalloc'd memory from a realtime thread.
[21:01:56] <jepler> I'm not 100% sure of that, though
[21:02:12] <jepler> anyway, the total amount of memory that can be hal_malloc'd is much smaller than the total memory that can be kmalloc'd
[21:42:19] <jepler> weird, it's true that there's a weird value for EXTRAVERSION in the -122 headers, but on the other hand it doesn't actually affect the vermagic of a component built with comp
[21:42:48] <alex_joni> I kinda thought so
[21:43:10] <alex_joni> it would have been strange for regular emc2 modules to work, and comp ones not
[21:44:44] <jepler> $ comp --compile samco.comp; modinfo ./samco.ko | grep vermagic
[21:44:45] <jepler> ...
[21:44:48] <jepler> vermagic: 2.6.32-122-rtai SMP mod_unload 586TSC
[21:48:17] <alex_joni> looks good to me
[21:56:04] <jepler> hm, and he says he's using comp too
[22:23:55] <skunkworks> samco?
[22:24:42] <JT-Hardinge> jepler: I created a time.comp that is used to convert seconds to hours, minutes, and seconds. I use it to display the elapsed time for a run. Should I push it to master or 2.4 branch?
[22:25:00] <JT-Hardinge> I think it will be useful to others
[22:43:38] <andypugh> jepler: To come back to this kmalloc thing: Am I right in thinking that all variables inside a HAL component are using kernel memory, and that is the the reason to use kmalloc on any variables that need to be dynamically sized at runtime?
[22:44:10] <andypugh> ie, ordinary malloc would simply not work for driver code?
[22:44:49] <andypugh> But, it might be better to only hal_malloc things that really need to be in HAL shared memory, and to kmalloc the rest?
[22:45:34] <andypugh> So, coming back to http://www.pastebin.ca/1965081
[22:46:19] <andypugh> I should, possibly, wrap the addresses in the hm2_8i20_instance in a struct, and then hal_malloc the .hal struct, and kmalloc the rest?
[22:47:24] <andypugh> Or is this worrying a bit too much about a maximum of 1200 bytes?
[22:48:40] <andypugh> (You could, in theory have 32 8i20 motor drives hanging off a single FPGA card, each with 3 register addresses and 3 register values)