#emc | Logs for 2008-10-20

[00:11:08] <dmess> likewise..
[00:11:43] <dmess> cant do shite about some ov it
[00:31:54] <steve_stallings> steve_stallings is now known as steves_logging
[00:47:26] <JymmmEMC> JymmmEMC is now known as red70sShow
[00:47:57] <red70sShow> red70sShow is now known as JymmmEMC
[01:02:14] <JymmmEMC> JymmmEMC is now known as Jymmmmm
[01:34:53] <maddash> maddash is now known as Yo_OY
[01:35:22] <Yo_OY> Yo_OY is now known as o_O
[01:35:35] <o_O> o_O is now known as O_o
[01:35:53] <O_o> O_o is now known as Guest73104
[01:35:57] <Guest73104> Guest73104 is now known as o_-
[01:36:07] <o_-> argh all the good nicks are taken
[01:36:19] <jepler> o_-: welcome
[01:36:31] <jepler> o_-: try using morse code
[03:04:13] <cradek> whee
[03:04:31] <cradek> I made a tool holder to put my ebay knurling tool on the HNC
[03:04:48] <cradek> but jeez, it's easy to get spoiled by usually working with aluminum
[03:05:10] <cradek> steel takes a lot more effort.
[03:08:25] <jmkasunich> heh
[03:08:51] <jmkasunich> what kind of knurling tool? single wheel, dual wheel?
[03:09:13] <cradek> dual wheel
[03:09:30] <jmkasunich> knurling takes quite a bit of push
[03:09:36] <cradek> yep
[03:09:50] <cradek> I've never had much success on either of my light lathes
[03:10:15] <jmkasunich> even on a heavy lathe, you won't have much success if you have a light workpiece
[03:10:28] <cradek> also true
[03:10:37] <maddash> Gentlemen: I have seen true beauty today, in the form of a 1-bit DAC.
[03:10:47] <jmkasunich> PDM + filter?
[03:12:00] <maddash> PWM + a capacity twisted together with a resistor
[03:12:28] <jmkasunich> capacitor twisted with a resistor = a filter
[03:12:47] <maddash> yes, but oh-so-primitive
[03:12:52] <maddash> low-pass filter
[03:13:15] <maddash> it was awesome watching the line on my scope dance from 0 to 3 V
[03:14:19] <maddash> oh, such beauty. why do people even bother with DAC's, anyway?
[03:15:31] <fenn> because sometimes 1-bit pwm isn't fast enough
[03:15:49] <jmkasunich> what are the values of your R and C?
[03:16:30] <jmkasunich> http://jmkasunich.com/pics/hbm-vismach-ss1.png
[03:16:35] <fenn> the scissor type knurler always seemed more logical to me
[03:16:43] <jmkasunich> what I've been working on ^^^
[03:16:47] <maddash> hm, good questoin
[03:17:06] <maddash> 10k resistor, capacitor only says, "104K100V"
[03:17:28] <fenn> jmkasunich: nice CAD suite :P
[03:17:43] <cradek> maddash: = .1 uF
[03:17:45] <jmkasunich> probably means 10 with 4 zeros after = 100000pf = 0.1uF
[03:18:03] <jmkasunich> so, time constant is 10K * 0.1uF = 1mS
[03:18:11] <jmkasunich> fine for motor control
[03:18:18] <jmkasunich> not so good for say audio ;-)
[03:18:33] <cradek> jmkasunich: nice T slots!
[03:18:39] <jmkasunich> thanks
[03:18:41] <cradek> in fact the whole thing is quite cool
[03:19:01] <jmkasunich> I still want to put ways and a screw on the vertical axis, and make each major component a different color
[03:19:05] <cradek> did you take a bunch of measurements, or is the size approximate?
[03:19:13] <jmkasunich> I'm just winging it
[03:19:23] <maddash> er, i get that "104K" ==> 100000, but wat about "100V"
[03:19:30] <fenn> when you add milling simulation do we get to see chips embedding themselves in the ways?
[03:19:39] <jmkasunich> fenn: no
[03:19:49] <jmkasunich> I'm mostly working from this pic: http://jmkasunich.com/pics/gilbert-with-part-2662.jpg
[03:19:53] <cradek> maddash: voltage rating
[03:19:56] <jmkasunich> maddash: 100V is the voltage rating
[03:21:05] <maddash> so, >100V = big asplosm?
[03:21:17] <fenn> pico sized explosion
[03:21:28] <jmkasunich> depends on how much current is available
[03:21:40] <jmkasunich> put it across the AC line, and you'll get a bit of excitement
[03:22:16] <fenn> do ceramics tend to fail short or open?
[03:22:31] <jmkasunich> with overvoltage they fail short
[03:22:53] <jmkasunich> depending on the external circult, the resulting fault current might open it up
[03:23:13] <jmkasunich> if you connect it across the AC line, something somewhere is gonna open
[03:23:21] <jmkasunich> either the cap, your wires, or the fuse/breaker
[03:23:23] <fenn> the breaker hopefully
[03:23:31] <maddash> so 10^5 * 10^-7 = 10^-2; isn't that supposed to be 10mS time constant?
[03:23:55] <maddash> ok
[03:23:56] <maddash> nvm
[03:24:09] <jmkasunich> 10K = 10^4
[03:24:12] <maddash> * maddash <=== stupid. 10K = 10^4, not 10^5
[03:24:38] <fenn> maddash: try the 'units' command
[03:24:38] <jmkasunich> you had me doubting myself for a minute there - I didn't catch it right away ;-)
[03:25:09] <maddash> units
[03:25:14] <maddash> whoops, i'm in windows
[03:25:57] <fenn> there's a binary for windows too
[03:26:02] <maddash> so, tinier resistance and capacitance ==> faster stabilizing 1-bit DAC?
[03:26:41] <fenn> http://gnuwin32.sourceforge.net/packages/units.htm if you are interested
[03:28:10] <maddash> does that make sense? if you remove the low pass filter altogether, wouldn't you have zero resistance/capacitance? so instantly stabilizing DAC?
[03:28:37] <jmkasunich> no, you'd wind up with raw PWM
[03:29:26] <jmkasunich> if the PWM duty cycle is 73%, and the voltages are 0 and 5V, that means the output is at 5V for 73% of the time, and 0V for 27% of the time
[03:29:57] <maddash> right, so, intuitively at least, more low-pass-filter characteristic (e.g., more resistance/capacitance) = more stabilizing voltages, right?
[03:30:08] <jmkasunich> the filter attenuates the switching and gives you the average voltage, 0.73*5 = 3.65V
[03:30:50] <jmkasunich> there is always some residual PWM - if you look closely enough, your "DC" output actually has a triangular ripple voltage on it
[03:31:00] <jmkasunich> more filter = less ripple, but slower response
[03:31:11] <jmkasunich> less filter = more ripple, but faster response
[03:31:32] <jmkasunich> if you increase the PWM frequency, or go to PDM, you get less ripple for the same filter
[03:31:52] <jmkasunich> (or you can use less filter to get faster response with the same ripple)
[03:32:01] <maddash> ah, no wonder --- I kept seeing wavy spikes and thought something was wrong with the probes/scope
[03:32:13] <jmkasunich> do you have a two channel scope?
[03:32:23] <jmkasunich> (and two probes)?
[03:32:30] <maddash> yep
[03:32:40] <jmkasunich> if so, put one probe on the raw PWM before the filter, and one on the filter
[03:32:47] <jmkasunich> trigger the scope on the raw PWM
[03:32:59] <maddash> yep, I did that already before
[03:33:05] <jmkasunich> that way you'll have a stable display, and you can see the relationship between the PWM and the ripple
[03:33:34] <maddash> no, I did see the ripple; I just didn't know why it was there.
[03:34:35] <fenn> substitute potentiometer for resistor to see the effect the filter has
[03:34:58] <maddash> huh? you mean swap the resistor for a pot?
[03:35:02] <fenn> yeah
[03:35:17] <jmkasunich> 10K pot, use the wiper and one end instead of the resistor
[03:35:30] <maddash> wouldn't that just squeeze the maximum voltage down?
[03:35:39] <jmkasunich> no
[03:36:06] <jmkasunich> use the wiper and one end to replace the two leads of the resistor, other end of the pot doesn;t go anywhere
[03:36:14] <fenn> more resistance = bigger IR drop, but your scope isnt drawing much current
[03:36:15] <jmkasunich> you're not using it as a voltage divider, just a variable resistor
[03:36:45] <jmkasunich> or just swap in different resistors
[03:37:02] <jmkasunich> use 100K, you'll have tiny ripple, but slow response to changes
[03:37:13] <jmkasunich> use 1K, and you'll have faster response, but more ripple
[03:38:18] <maddash> ditto for changing the capacitance, b/c the equation tau = C R
[03:38:28] <jmkasunich> right
[03:38:46] <jmkasunich> in fact it is easier and less likely to have side effects to just change the C instead of the R
[03:39:18] <maddash> 'side effects'?
[03:39:55] <jmkasunich> for example, if you wanted a 1000 times smaller time constant, you could change the R from 10K to 10 ohms, or you could change the C from 0.1uF to 100pF
[03:40:25] <jmkasunich> 10 ohms is a rather small R - the C will be almost directly across the PWM output and will probably load it down
[03:40:45] <jmkasunich> in fact, the internal resistance of whatever is driving the PWM output is probably more than 10 ohms, could be 100 or more
[03:42:21] <jmkasunich> bedtime here, goodnight folks
[03:42:30] <maddash> ditto; gnite
[03:42:49] <maddash> jmkasunich: quick, what camera do you use?
[03:43:04] <jmkasunich> Pentax K10
[03:43:11] <maddash> thanks
[03:45:29] <maddash> holy crap, $750+
[03:46:10] <jmkasunich> cheaper than equivalents from Nikon or Canon
[07:20:02] <micges> is there any hal comp to make mux2_bit operation ?
[07:23:46] <fenn> xor2/and2?
[07:29:06] <micges> can you write more clear ?
[12:16:47] <piasdom> g'mornin
[12:45:22] <piasdom> anyone know a good setting for ferror and min_ferror for emc2?
[12:46:31] <alex_joni> do you know a good speed setting for my car?
[12:46:48] <piasdom> to the floor ?
[12:46:50] <piasdom> :)
[12:47:00] <piasdom> thanks any...goping
[12:47:08] <piasdom> going lookin'
[12:47:16] <alex_joni> piasdom: can't answer without more info
[12:47:24] <piasdom> sorry
[12:47:29] <alex_joni> I assume it's a servo machine?
[12:47:46] <piasdom> thought i was asking a stupid q
[12:47:54] <piasdom> stepper
[12:47:58] <alex_joni> no, the question is ok, but it's not a generic answer
[12:48:01] <piasdom> sherline
[12:48:05] <alex_joni> ok.. what's a step size on your machine?
[12:48:40] <alex_joni> 1/SCALE
[12:48:47] <piasdom> x 8" y 4" z4"
[12:48:52] <piasdom> o
[12:48:54] <piasdom> :0brb
[12:48:55] <alex_joni> not the table size..
[12:49:00] <alex_joni> the distance it moves at one step
[12:50:00] <piasdom> step angle ? 1.8 degrees
[12:50:10] <alex_joni> ok, that means 200 steps for a motor rotation
[12:50:24] <alex_joni> 20 TPI screws? (that is common afaik on sherline)
[12:50:36] <piasdom> yes
[12:50:52] <alex_joni> ok, next we need microstepping..
[12:51:02] <alex_joni> that depends on the driver that is driving the motors
[12:51:17] <piasdom> looking
[12:51:48] <alex_joni> I think it's settable at the driver
[12:52:42] <piasdom> is that 16000/step/inch ?
[12:52:47] <alex_joni> that is SCALE
[12:52:58] <piasdom> ok
[12:52:58] <alex_joni> so at every step your machine moves 1/16000 "
[12:53:15] <alex_joni> 0.0000625"
[12:53:37] <alex_joni> ferror is how far the machine can get behind the commanded position
[12:53:45] <piasdom> i see 800 setp per rev
[12:53:48] <piasdom> that ?
[12:54:06] <alex_joni> 800 step / rev = 200 step/rev motor * 4 microsteps
[12:54:57] <piasdom> going to look for microstep brb
[12:55:41] <alex_joni> wait..
[12:55:56] <alex_joni> if your SCALE is 16000, then microsteps is 4
[12:56:13] <alex_joni> if you have 800 steps/rev then microsteps is 4
[12:56:21] <alex_joni> 16000 = 200 * 4 * 20
[12:56:38] <alex_joni> SCALE = steps/rev at the motor * microsteps * tpi
[12:56:42] <piasdom> ok
[12:56:58] <alex_joni> I would probably try:
[12:57:03] <alex_joni> FERROR = 0.050
[12:57:04] <alex_joni> MIN_FERROR = 0.010
[12:57:10] <piasdom> thanks
[12:57:25] <alex_joni> but it's up to you if 0.05" is good enough :)
[12:57:43] <alex_joni> you can try lower values, but probably need to finetune vel/acc
[12:58:10] <piasdom> making it smaller will get better tol. ?
[12:58:30] <alex_joni> if your machine can't get that accuracy, emc2 will error out
[12:59:13] <piasdom> well, i get linear error
[12:59:25] <alex_joni> can you type the exact error?
[12:59:36] <piasdom> ok
[13:00:14] <piasdom> 1 - linear move on line 5 would exceed limits
[13:00:15] <piasdom> -----
[13:00:41] <piasdom> 1 - linear move on line 5 would exceed limits
[13:01:07] <piasdom> line 5 ----> g81 f4 x.25 y.1 r.05 z-.03
[13:03:28] <fragalot> Perhaps your software limits are set wrong ?
[13:03:56] <piasdom> oh oh
[13:03:59] <piasdom> in my ini ?
[13:04:01] <cradek> or you're not homed, or you have an offset you don't expect
[13:04:34] <piasdom> i 0'ed all before i start
[13:04:49] <cradek> start with jogging. after you home the machine, you should be able to jog each axis its full distance and no further
[13:05:04] <cradek> if this test fails, you need to work on homing and/or soft limit settings
[13:05:18] <piasdom> i can run a example the came with emc
[13:07:41] <piasdom> i can't run in manual to my limits
[13:08:24] <piasdom> my limits are x0 to 8" y0 to 4" z0 to 4"
[13:09:15] <cradek> Z should probably be 0 to -4 so you can home at the top of travel instead of the bottom
[13:09:35] <jepler> piasdom: the command you showed has "z-.03", but you said your minimum z limit was 0.
[13:10:01] <cradek> after you change that, restart emc, jog X all the way to the left, home it. Jog Y all the way to the back, home it. Jog Z all the way up, home it. Then try jogging all your axes to their limits again.
[13:10:20] <piasdom> ok rbr
[13:10:23] <piasdom> brb
[13:10:31] <cradek> err, I was unclear about X,Y -- move the tool to the near left corner of the table
[13:10:40] <cradek> and up all the way
[13:10:46] <cradek> this is your home position
[13:10:51] <fragalot> don't crash it ;)
[13:10:57] <fragalot> (he has no limit switches,..)
[13:11:03] <cradek> yeah I'm assuming no switches
[13:11:12] <fragalot> bah, my hand is all messed up...
[13:11:13] <cradek> soft limits will protect him, all he has to do is home it in the right position
[13:11:31] <fragalot> struck it against the exhaust of my scooter while i was putting the spark plug cable back in it's place...
[13:11:42] <jepler> fragalot: ouch
[13:11:44] <fragalot> cradek: if you restart EMC? how can the soft limits protect him?
[13:12:04] <fragalot> jepler: thats what I said.
[13:12:05] <cradek> fragalot: after homing, soft limits are in effect
[13:12:18] <fragalot> cradek: Aye, AFTER :p which means he has enough time to crash it :d
[13:12:33] <cradek> sure, that's the fun of homing
[13:12:37] <fragalot> :D
[13:13:10] <piasdom> YEA...it runs
[13:13:22] <fragalot> half an hour till class starts..
[13:13:26] <piasdom> but z and y are backwards :)
[13:13:32] <fragalot> piasdom: lol.
[13:13:38] <fragalot> piasdom: so,.. invert the dir pin
[13:13:39] <piasdom> but i can fix that.
[13:13:59] <piasdom> thank to all of you
[13:14:03] <jepler> two ways of reversing direction of travel on steppers: negate SCALE (ini), or invert direction pin (hal)
[13:14:05] <fragalot> some controllers (mine) have that "invert" feat. built-in, or you can do it in EMC.
[13:14:20] <piasdom> i do have the invert
[13:14:30] <piasdom> either is the same /
[13:14:31] <piasdom> ?
[13:14:47] <fragalot> either you invert, or you don't... but both ways jepler said can work.
[13:14:56] <piasdom> cool
[13:15:01] <jepler> the effect should be the same
[13:15:15] <piasdom> i got my upgrade and my machine THANKS
[13:15:21] <jepler> bbl
[13:15:36] <fragalot> somebody here is watching the simpsons... with the volume all the way open >.>
[13:15:41] <fragalot> and it's got the long intro..
[13:16:21] <fragalot> hehe, I think uni is looking into getting the classrooms repainted,... They are walking arround with colorschemes,..
[13:37:04] <skunworks> http://woodgears.ca/index.html
[13:50:29] <Kohlswa> *sights* UPS is takeing forever.
[13:51:27] <mr_boo> what have you ordered?
[13:53:33] <Kohlswa> just some stuff from Sherline, I currently live in Sweden.
[13:54:56] <cradek> http://www.coolweldstudios.com/jeffpics/frankjoymike.jpg
[13:57:29] <Kohlswa> thats very nice
[13:58:51] <mr_boo> cradek: have you done that yourself?
[13:59:12] <cradek> no, just saw the picture somewhere.
[14:06:59] <mr_boo> is there a trick to get one axis to go on indefinitely (i've disconnected motor shaft from lead screw)
[14:07:17] <cradek> no
[14:07:37] <mr_boo> can it run for a seriously long time then?
[14:07:49] <jepler> mr_boo: is this just for testing?
[14:08:01] <mr_boo> jepler: i need to refurbish the motor shaft
[14:08:10] <jepler> if you just want to keep a motor turning one direction at a set speed without limit, you can do it in hal without emc
[14:08:25] <jepler> load stepgen in velocity mode, and set its velocity input as desired
[14:09:47] <mr_boo> is hal a separate application?
[14:10:40] <SWPadnos> HAL is the low level driver and realtime system that EMC uses
[14:10:40] <jepler> hal is the hardware abstraction layer that emc uses
[14:10:46] <jepler> you can use it directly with 'halrun', a commandline program
[14:10:58] <mr_boo> ok
[14:13:03] <mr_boo> prolly too advanced for me
[14:14:31] <SWPadnos> if it's a DC servo you can just attach a power supply to it directly
[14:14:43] <mr_boo> its a stepper
[14:14:59] <BigJohnT> some reading material on HAL http://www.linuxcnc.org/docview/html//hal_tutorial.html
[14:15:22] <mr_boo> thanks
[14:16:58] <jepler> untested (I don't have any bare motors handy :-P) http://emergent.unpy.net/files/sandbox/turn.hal
[14:17:19] <jepler> save that to 'turn.hal', then in a terminal in the directory where you downloaded it, you can 'halrun -I turn.hal'
[14:17:47] <jepler> your motor should start turning at 200 steps per second (30RPM if half-stepping)
[14:18:07] <jepler> it should stop if you type 'quit'
[14:18:19] <jepler> you could vary the speed by typing 'setp stepgen.0.velocity-cmd <number>'
[14:18:40] <jepler> it will ramp the speed when you change it, according to the 'maxaccel' value
[14:18:53] <jepler> .. assuming I got all the details right, anyway
[14:19:43] <BigJohnT> jepler: after I test this I'm stealing your code for the manual :)
[14:19:54] <jepler> if your stepper boards have an enable pin, you might need to 'setp parport.0.pin-??-out 1' for that pin
[14:24:25] <fragalot> :'( uC class and i forgot my devboard at home.
[14:24:33] <fragalot> Owell, slacking time!
[14:24:45] <jepler> fragalot: at how many milliHz can you run AVR code in your head?
[14:24:54] <BigJohnT> so could you do a halrun -f turn.hal do you still need the -l?
[14:24:55] <jepler> I bet I get about 100mHz
[14:25:06] <jepler> BigJohnT: -I (capital I for interactive)
[14:25:17] <BigJohnT> ok
[14:25:37] <jepler> BigJohnT: if you used -f it would exit immediately after running the lines in the file, so it would not step very far
[14:25:45] <BigJohnT> ok
[14:26:01] <BigJohnT> just reading the man page and wondering out loud
[14:26:19] <jepler> I guess I should say "capital i" to best clear up the font confusion)
[14:26:35] <BigJohnT> :)
[14:26:49] <SWPadnos> the capital letter than sounds like "eye" or "aye"
[14:26:52] <SWPadnos> that
[14:27:08] <BigJohnT> ok mateee
[14:27:21] <SWPadnos> what letter is that? :)
[14:27:54] <BigJohnT> dunno some sea faring gibbersh
[14:28:03] <SWPadnos> aye, me heartiew
[14:28:06] <SWPadnos> argh
[14:28:14] <SWPadnos> pirate looks so much better without typs
[14:28:21] <SWPadnos> aaaaaaggggghhhhh
[14:28:33] <SWPadnos> I can't even spell typo today
[14:29:15] <jepler> BigJohnT: "halrun -I -f turn.hal" would be the same as "halrun -I turn.hal". To make things simpler, if you give a .hal file to halrun it adds the -f for you.
[14:29:44] <BigJohnT> ok thanks jepler
[14:32:52] <fragalot> jepler: in AVR code? ... approximately 0. :p
[14:35:40] <SWPadnos> how about with paper?
[14:39:29] <jepler> http://arduino.cc/en/uploads/Main/arduino-duemilanove-schematic.pdf <-- hm, I don't quite follow this schematic. the part of the circuit at the top involving IC5 and T1 is for automatically switching from external to usb power. why bother wiring IC5B in buffer configuration? why not use a single op-amp instead?
[14:40:26] <SWPadnos> "because it's there" ?
[14:41:31] <SWPadnos> you'd think that there would be some filtering or something, to make it look useful
[14:42:13] <skunworks> instead of grounding the inputs maybe..
[14:42:32] <skunworks> worked better layout wize?
[14:42:41] <skunworks> wise
[14:43:21] <SWPadnos> well, short wires should rarely be easier to route than no wires
[15:09:19] <mr_boo> could someone write a hal script that runs the X-axis motor at a constant speed please?
[15:09:53] <mr_boo> i've tried to walk through the tutorial but it was seriously complicated
[15:10:32] <SWPadnos> did you not notice that jepler wrote one for you already?
[15:10:38] <cradek> jepler did that for you one hour ago
[15:10:45] <mr_boo> oh
[15:10:56] <SWPadnos> it may not work perfectly, but you should be able to figure out how to fix it if it doesn't
[15:11:05] <mr_boo> i see
[15:11:40] <mr_boo> there it is
[15:12:47] <mr_boo> he even wrote a guide how to run it
[15:19:38] <mr_boo> is there a line i could add in the script to see that the program actually is trying to do anything?
[15:20:02] <mr_boo> right now i just get into the prompt when using 'halrun'
[15:20:12] <SWPadnos> once you're at the halcmd prompt, you can type HAL commands to look at things
[15:20:25] <SWPadnos> so you could do things like "loadusr halscope"
[15:20:29] <SWPadnos> or loadusr halmeter
[15:20:32] <SWPadnos> etc. etc.
[15:20:59] <mr_boo> i've tried to change pins and no motor ever moves
[15:21:19] <mr_boo> they're dead like doornails
[15:22:04] <SWPadnos> if the motor can move under EMC control, then you should look at the EMC setup and change the file jepler made to use the same pins
[15:22:25] <SWPadnos> of course we don't know how you have your hardware connected, so you'll have to fix that
[15:22:45] <mr_boo> ah
[15:23:03] <mr_boo> the pin numbering in his example was arbitary
[15:23:08] <mr_boo> but feasible
[15:23:34] <fragalot> *sneeze*
[15:23:36] <SWPadnos> could be, I haven't looked at it
[15:23:41] <SWPadnos> gesundheit
[15:23:46] <fragalot> Danke.
[15:24:46] <mr_boo> now it works
[15:24:56] <mr_boo> many thanks SWPadnos and jepler
[15:25:06] <SWPadnos> sure - have fun with it
[15:25:10] <fragalot> You're welcome. *walks awya with the glory*
[15:25:24] <SWPadnos> no, sorry. I'm reserving the glory for jepler. he did all the work
[15:26:39] <fragalot> :(
[15:26:48] <BigJohnT> mr_boo: why not just open up the stepconf wizard and test the axis with the test button?
[15:26:50] <fragalot> Can I atleast touch it once,
[15:27:25] <mr_boo> BigJohnT: hmm
[15:31:38] <mr_boo> SWPadnos: how do i change the rotation direction?
[15:31:51] <mr_boo> SWPadnos: i noticed i wasn't allowed to write to that pin
[15:31:51] <jepler> set the velocity to a negative number
[15:31:57] <mr_boo> ah
[15:31:58] <mr_boo> thanks
[15:34:45] <fragalot> velociraptors.... cute buggers
[15:37:45] <Dallur> fragalot: to bad they are to thick to fit in most laptops :P
[15:39:25] <fragalot> :D
[15:42:47] <fragalot> home time!
[15:57:30] <skunworks> http://woodgears.ca/eyeball/index.html
[15:57:43] <skunworks> 2.63 is the best I have done
[16:56:56] <mr_boo> many thanks for your support
[17:19:14] <cncman> hello
[17:19:26] <BigJohnT> hi
[17:20:39] <cncman> I have a made a PCI card with fpga, and i wanted to do a driver for it for emc2. I have seen that there is multiple drivers for a card mesa5i20, but don't know which is the current one
[17:21:21] <SWPadnos> the hostmot2 drivers are the newest
[17:21:27] <cncman> I see m5i20,mesa_5i2x and hostmot2
[17:21:41] <cncman> ok
[17:22:08] <SWPadnos> mesa_5i2x is a branch of development that has mostly stalled (we don't know if we'll pick it up again)
[17:22:09] <cncman> i see that hostmot2 is a lot heavier than the others
[17:22:27] <SWPadnos> yes, it supports several cards on different buses (PCI and parport)
[17:22:35] <cncman> ahh
[17:23:00] <SWPadnos> the m5i20 driver is probably the simplest if you're looking to support a relatively simple I/O and encoder/step generator/PWM kind of thing
[17:23:01] <cncman> my pci card only has PWM generators, and the encoder counters
[17:23:05] <SWPadnos> ok
[17:23:27] <alex_joni> and GPIO probably
[17:23:35] <SWPadnos> the hostmot2 driver supports enabling/disabling of functions, using the pins as GPIO if you've disabled something like a stepgen or encoder counter
[17:23:40] <cncman> yes
[17:24:09] <cncman> i have seen the hostmot2 code, and it seems complex
[17:24:18] <SWPadnos> if you're doing a relatively simple memory-mapped or I/O-mapped interface, then the m5i20 driver is probably the best to start with
[17:24:35] <cncman> ok, the stepgen is needed?
[17:24:39] <BigJohnT> * BigJohnT is glad SWPadnos jumped in to answer that question :)
[17:24:45] <SWPadnos> hostmot2 is more complex because it supports several cards and many features on the FPGA
[17:24:47] <cncman> my cnc machine goes with servos
[17:24:48] <alex_joni> not if you don't plan to support steppers
[17:24:54] <alex_joni> then it's not needed
[17:25:00] <cncman> ok alex :D
[17:25:28] <cncman> i will go with m5i20
[17:25:30] <alex_joni> what are you putting inside the fpga?
[17:25:58] <cncman> i'm putting the pwm generators, the counters and gpio for global purpose
[17:26:29] <cncman> i don't know if anything like speed calc. or acceleration hardware calculation will be needed for emc2
[17:27:04] <SWPadnos> one recommendation: group the registers as closely as possible, and also try to make all the information available with as few register reads/writes as possible
[17:27:18] <cncman> my pwm generator are for the 4 MOSFETS of the Hbridge
[17:27:40] <cncman> ok SWPadnos
[17:27:44] <SWPadnos> some PCI chipsets are amazingly dumb (including a specific one from Intel which I don't remember at the moment), and access wasn't much faster than a parallel port with it
[17:27:53] <SWPadnos> except that it was 32 bits at a time instead of 8
[17:29:02] <cncman> ok, my pci hardware in the card is in the FPGA itself
[17:29:12] <cncman> i see that the mesa card has a dedicated chip
[17:29:14] <SWPadnos> not the chipset
[17:29:44] <alex_joni> SWPadnos was talking about the north/southbridge on the motherboard
[17:29:49] <SWPadnos> right
[17:29:52] <alex_joni> probably northbridge
[17:30:04] <cncman> ok, I understand
[17:30:10] <SWPadnos> this particular chipset didn't do any write or read combining, so it would do an entire PCI setup /teardown for each read or write
[17:30:28] <SWPadnos> I think it was only able to do something like 2 or 3 operations per microsecond
[17:30:46] <SWPadnos> close to parallel port speed
[17:30:58] <cncman> I thought of reading all the registers in a bulk pci read, so it would be faster
[17:31:08] <cncman> but i have not implemented it yet
[17:31:49] <cncman> so the direction address is only tranferred once in the pci bus
[17:31:52] <SWPadnos> yes, a bulk read and/or write would be good, but there may be more setup than it's worth
[17:32:08] <SWPadnos> you should only be reading and writing <8 registers or so
[17:32:16] <cncman> yes
[17:34:08] <cncman> ok, i'm going to study the emc2 code, is anything worth to mention before reading it? any diagram available that could help me to take the big picture? i'm a bit lost
[17:34:40] <SWPadnos> I don't think there is any good high level documentation for that
[17:34:41] <alex_joni> cncman: try the documentation links at www.linuxcnc.org
[17:34:41] <cncman> i have read already the developers manual
[17:35:25] <cncman> ok, i have setup the opengrok with emc, it's time to study
[17:35:25] <SWPadnos> the basic structure is that there's a C Struct which mimics the memory map of the FPGA, and access is done through pointers to the card base address
[17:35:26] <alex_joni> http://www.linuxcnc.org/content/view/42/13/lang,en/
[17:35:42] <SWPadnos> oh, the EMC2 code - here I am thinking of the Mesa driver still :)
[17:35:55] <cncman> SWPadnos: X-DD
[17:36:22] <cncman> SWPadnos: are you the author of the mesa driver?
[17:36:27] <SWPadnos> nope
[17:36:41] <SWPadnos> Pete Vavaroutsos did most of it. I may have done a modification or something
[17:37:00] <cncman> ahaps
[17:37:19] <SWPadnos> I know about the hardware because I helped out with the 5i2x driver design, and I've done another product with a different one of their FPGA cards (the 5i22)
[17:38:33] <cncman> and are you using the hostmot2 driver or the m5i20 one?
[17:38:44] <SWPadnos> nope. it's custom :)
[17:38:50] <cncman> jeje, ok
[17:39:01] <SWPadnos> I'm not sure what I'll use when I eventually put my machine together
[17:39:15] <SWPadnos> I may resurrect the 5i2x driver, but I'm not sure
[17:40:02] <cncman> mmm, a pity that the firmware code is in vhdl, i'm better with verilog
[17:40:34] <cncman> I could do a hostmot2 clone in my card and use the driver almost without modifications
[17:40:41] <SWPadnos> feel free to write a translation :)
[17:41:03] <SWPadnos> I think that wouldn't be very sporting of you
[17:41:42] <cncman> ok, if i do it, i will post it here for anyone uploading it in the cvs
[17:42:14] <SWPadnos> Mesa sells hardware, and has GPL'ed a lot of source code - making competing hardware that uses the fruits of that seems icky to me (though it's still within your rights)
[17:42:15] <BigJohnT> YEA my FREE Gecko drive arrived and it only cost me postage out
[17:42:23] <alex_joni> what fpga chip did you use?
[17:42:31] <alex_joni> BigJohnT: hate you :P
[17:42:42] <SWPadnos> BigJohnT, how'd you manage that?
[17:42:53] <cncman> BigJohnT: spartan3
[17:43:03] <BigJohnT> I sent my broken drive in and they repaired it and sent it back :)
[17:43:11] <SWPadnos> heh
[17:43:16] <alex_joni> ah, not that free then :)
[17:43:37] <cncman> SWPadnos: no, i'm not doing competing hardware. The machine is for my use.
[17:43:38] <BigJohnT> no it cost me $5 to ship it to them
[17:45:00] <SWPadnos> heh - I'll bet a Mesa card would have been cheaper then, if you count your time at anything above $0.27/hour ;)
[17:45:34] <cncman> SWPadnos: but it wouldn't be so funny ;)
[17:45:38] <SWPadnos> heh
[17:45:52] <BigJohnT> I only get 10 cents per hour :)
[17:46:00] <SWPadnos> you do documentation though ;)
[17:46:08] <cncman> X-D
[17:46:43] <BigJohnT> at least on payday I have some sense...
[17:46:48] <BigJohnT> cents
[17:46:59] <SWPadnos> ba-dum-bump!
[17:47:11] <SWPadnos> (hmm. hard to type a cymbal sound)
[17:47:30] <cncman> i want the cnc to do the drilling of the pcboards, has anyone try a cnc machine with a laser?
[17:48:13] <alex_joni> there are a couple of people using lasers with emc2
[17:48:23] <cncman> i want to drill fr4 boards without copper clad
[18:22:40] <alex_joni> good night all
[18:34:26] <SWPadnos> hmmm. is it insensitive to say "I kill me" after a joke in an email to someone who had a fiancee commit suicide?
[18:35:12] <cradek> I don't know, but I find your question funny and slightly disturbing at the same time.
[18:35:36] <SWPadnos> heh
[18:35:57] <SWPadnos> I guess I should have answered that question before hitting "send"
[18:36:24] <SWPadnos> at least the suicide was a few years ago
[18:44:11] <toastatwork> i think a better question is think about the crowd you're asking
[18:47:31] <SWPadnos> well, I'm sure it'll be fine
[18:47:45] <SWPadnos> she's got a similar sense of humor as I do
[18:47:59] <SWPadnos> err - please correct for tense and that kind of thing :)
[18:48:31] <anonimasu> SWPadnos: yes..
[18:48:38] <anonimasu> I think that would be wrong..
[18:48:39] <anonimasu> :p
[18:48:42] <SWPadnos> inded
[18:48:45] <SWPadnos> +e
[18:50:19] <anonimasu> well, shit happens
[18:50:53] <SWPadnos> yep
[19:56:17] <piasdom> anyone know why the words in my file dropdown menu are just lines(in mini)
[20:13:42] <piasdom> and before i head home, i just want to thank all that helped me get this comp and mill going.
[20:14:04] <piasdom> i really appreciate it thanks again
[22:04:40] <dmess> hi all