jmkasunich: you here by any chance ?
great, just wanted to let you know that I got around to test minmax and multiply this morning
multiply works great
minmax has a problem that I know some of the guys have been looking at today
there is nothing wrong with minmax per say
but it causes the RT stuff to segfault
heh, that's pretty wrong IMO
do you know what exactly makes it happen?
I know alex, cradek and the others were looking at it before
most of it is in the logs for today
none of us can spot the problem
I used minmax successfully
16:24:43 <jepler> here's the .hal I used for testing: http://pastebin.ca/79907
16:24:53 <jepler> I jogged around and turned mist on/off to test the 'reset' input
I was using the halui_halvcp sample config
I was using halui/halvcp components and than I reproduced with halui_halvcp
hmm, I would like to use my lathe to make this part for my lathe, but my lathe is in many pieces
jmkasunich: are these hardware store "dowel pins" too hard to drill and turn comfortably?
cradek: I can make it for you and ship it over but I'm afraid shipping would probably take long and be expensive
what's being mae?
mmm freshly baked scones
Dallur: I appreciate that, but I just have to quit complaining and put it back together!
I don't like scones.
jepler: is there coffee?
oh wait, you didn't invite me yet
cradek: if you want to, come on over. I'll make coffee.
thanks, but I wasn't serious
seriously, what are we talking about?
something being mde
well, cradek claims that cupcakes are better than muffins, that's crazy talk
[20:46:40] <Dallur> cradek: I can make it for you and ship it over but I'm afraid shipping would probably take long and be expensive
Dallur: cradek: what inputs / outputs were you using for minmax in your tests?
jepler: just a signal that I set with sets
I was using -fb from my Y axis
jepler: it would usually crash as soon as I attached any signal to any pin (if the function was hooked to a thread)
I only had problems as soon as I set the reset pin to high, at that point everything blew up
jepler: and if it didn't crash, it still didn't work (did nothing)
I got minmax to work, just as soon as I hit reset it blew up
A-L-P-H-A: my lathe is apart because I'm converting it to cnc, but I would like to use it to make a part for its conversion
ok, easy one first.... yes cradek, don't even think of doing anything to a dowel pin (unless you grind it)
it worked fine for me, including reset
jmkasunich: ok thanks
jmkasunich: figured as much
cradek, where are you? US?
yes right in the center (Lincoln NE)
on of the forgotten states.
the fly-over state
I remember it most days
I still don't know where nebraska is.
not ohio, nebraska
find a map, point at the middle of the US, there it is
and remember, even though alaska is right next to california on the map, that does not make it so
has anybody other than Dallur been able to reproduce the bug?
A-L-P-H-A: it's next to ther famous states like south dakota, iowa, kansas, and wyoming.
jmkasunich: read back
I mean just the last few minutes
I think the answer is no
no it's yes
19:50:18 <cradek> jepler: it would usually crash as soon as I attached any signal to any pin (if the function was hooked to a thread)
/topic <cradek> no it's yes
so you added the function to a thread, started the thread, and _then_ connected the signal?
I think I tried it both ways
if I connected the signals first, it would crash when I added to the thread
here is step by step how I reproduced in halui_halvcp config
change core_sim.hal from: loadrt blocks ddt=6 hypot=2
and the rest is at: http://pastebin.ca/79565
are we talking about a "lock up the PC and reboot" crash?
finally look . http://upload.wikimedia.org/wikipedia/en/a/a5/Map_of_USA_with_state_names.svg
jmkasunich: nope, gui stops responding to input and dmesg shows: [ 5774.108278] Default Trap Handler: vector 14: Suspend RT task c0b26000
Dallur: that example in pastebin isn't intended to be useful, is it? I don't see why yould set Yvel to the max of Ypos...
jepler: I skipped a few steps, like the ddt :D
jepler: it was just me copy pasting from the original hal to the halui_halvcp to reproduce, pin names are bogus
03jepler 07HEAD * 10axis/scripts/axis.py: remove psyco for now, as a user reported uncontrolled memory growth with it enabled
alpha.. you around?
oh... jepler, and cradek, live in the same city!
and they work at the same company too!
Mess...what'd you want? :)
wonder if there's a brokeback mountain there too.
what a RETARDED day..... been workin' these 8 PEI grown pivot tubes for the dash 8 nose gear... 12-14 hrs a day since last tuesday.. thru the long weekend.. and today about 5:30... the depth mice said they were all SCRAp.... ; (
not going there
what a waste of money.
I still can't get the minmax error
I'm trying to replicate it here
but thank GOD for our investigative and matl alotment... i clean up by about.005"... cutter JUST tickles .. but to spec
that is truly strange then
I used halui_halvcp with minmax=1 and then entered the lines dallur had in his pastebin, but with different signal names (there's already a Yvel)
Mess... so what the hell do you want to do with the incomplete parts I have?
I guess I'm not touching for the time being.
I added minmax=1 and addf minmax.0 servo-thread
newsig in float
lets finish them NEXT weekend ok.... not this one pls.. il run code
linkps minmax.0.in in
cradek: running one of the stock emc configs?
just added those two things to core_sim.hal in there
who took my allen wrenches??
look on the floor..
I've even tried weird things like
halcmd: sets F1 nan
halcmd: linksp F1 minmax.0.in
sets F1 nan?
halcmd accepts that?
looks that way
05 float R- nan minmax.0.in <== F1
05 float -W nan minmax.0.max
05 float -W -inf minmax.0.min
why you need the $$$ or what??
well I'll be darned
halcmd sets A-L-P-H-A nan
anyone got a design for a anti-backlash ballscrews?
two ballnuts, a few bellville washers, done ;-)
yeah... but I ordered a large ballscrew... how do I keep them from spinning apart? drill holes + tap them?
how do they attach to your table (or whatever)?
let me see if I still have photos
you need to attach one rigidly, and the other with spring tension
* jmkasunich gets back to minmax (I'm very easily distracted)
[01:14:37] <A-L-P-H-A> http://lloydleung.com/gallery/Mill_Related/Ballscrews%20mounted/#
not a good photo
there's a bracket, where the nut threads into.
held there with a setscrew + locktite.
you'll need to make a more sophisticated bracked I think
opps sorry not thinkin' right anymore tonite..
well, I can't seem to duplicate the problem
added "minmax=1" to the blocks loadrt line
right now, it's 3 pieces... a piece that looks like a U, where it's bolted to the Y gantry.
added "addf minmax.0 servo_thread"
a bracket that bolts to the U. The bracket is threaded to mate with the nut.
added "newsig in float"
i can see it in my head Alph... no problem i just cant type it tonite..
added linksp in minmax.0.in
are you doing the "addf" before or after the other threads?
[01:16:44] <A-L-P-H-A> http://lloydleung.com/gallery/Mill_Related/Mill%20Brackets/#
looking at minmax.0.max with halmeter, changing in does what I expect
(running halui_halvcp, added it right after the second addf hypot line
cradek: did you have to take the machine out of estop or anything like that?
jmkasunich: out of estop and enable for me
I don't think so
let me try it here
I've tried putting the thread first or last. I've tried entering the commands in an interactive 'halcmd' or not. I've tried turning the machine on.
hmm, working for me now
so jepler and I can't reproduce it... Dallur and cradek can
cradek: if you haven't changed the source on the other machine, maybe there's something in 'cvs diff -rBASE -rHEAD' ?
cradek: you're using "in" as the input for minmax?
so its doing nothing
I'm sure that's what I did
wonder if a changing signal is needed to invoke the error?
I've tested with the input having a writer and with the input not having a writer
Dallur: (or Rugludallur), did the crash happen instantly when you connected a signal to a pin? or some time later?
[1813956.416174] Default Trap Handler: vector 14: Suspend RT task c1820800
jmkasunich: 1. I changed the loadrt block to include the minmax
cradek: just now?
got it, I had to hook to both in and reset
did it happen instantly when you did the linksp, or sometime after?
2. I launch emc, hook up pins input, max and reset
you did the hookup manually?
3. come out of estop and turn machine on and than it happens
let me check further, standy
so for Rugludallur, it doesn't happen as soon as the pins are hooked up, it happens when you do machine on
is there any reason to think using the 2.0.1 halcmd against head would cause this?
05 float R- -9.73350e-01 minmax.0.in <== f
05 float -W -9.74756e-01 minmax.0.max ==> g
05 float -W -9.74756e-01 minmax.0.min
05 bit R- TRUE minmax.0.reset <== b
cradek: hmm there is a thought
thou shalt not mix versions
I suppose this is no surprise, it's running on servo thread
* Rugludallur bonks himself on his head while trying to find a cliff to jump off
I'll leave you with that thought and get back to my part-making
usually you can get away with it, but I just recently added a member to one of the hal internal structs
thou SHALT NOT mix versions
thou shalt not have emc in path
I guess I was extra careful because I have local hal changes (for the 'user comp ready' flag)
as long as you don't change any of the structs in shmem you are OK
I wonder if there should be a version code in the shmem, and hal_init() should check it...
that's fine, just don't do it by using $Version$
jepler: whats wrong with using $Version$ ?
argh now I can't find the handwheel
because only humans know when to bump bersion numbers, and because not all version control systems have $Version$
I mean, a human should decide when to bump the halcmd "interface version"
trying to maintain compatibility across versions?
maybe my intuition is wrong, but it seems like most changes to hal will turn out to be compatible
any change to the structs defined in hal_priv.h will be an issue
I'm not sure we should jump to the conclusion that this is a version issue, btw
not until Dallur has a chance to test with everything matching and verify that the problem is gone
Im about to finish testing it
it would be nice if we could try to guarantee forward compatability. For instance, adding new fields at the end of the linked-list private structures would be a good practice and would probably have meant the new 'pid' field would not have broken old components
yes it would
so move it?
"yes it would" break old components
the problem isn't old components per-se, its old copies of hal_lib.c
gone, the problem was just old halcmd
Rugludallur is now known as Dallur
jmkasunich: I meant "old binary components"
if hal_vcp in userspace is linked against old hal_lib, it adds an old comp struct to the list, then a RT component adds a new comp struct to the list, then a halcmd traverses the list, and gets a mix of old and new structs
even if the pid were at the end, if halcmd accesses the pid member, some structs won't have it
and the access will touch who-knows-what
Is there any reason to maintain backwards compatability, will there ever be a partial build or someone that needs to use old binaries with new ones ?
or should there ever be?
jmkasunich: hm, I notice that hal_lib.c is lgpl, but it includes the gpl hal_priv.h
my intent is to permit, but discourage, the writing of proprietary hal modules
if someone has a super-duper transfer function for example, I'm willing to let them embedd it in a hal module
I guess I should change the license on hal_priv.h to lgpl
jmkasunich: you made that change fairly recently, with the note "Cleaned up some licenseing issues" .. why did you change it from lgpl to gpl?
I did that?
you've made all the revs since 1.13 so it's clearly no problem if you wish to re-license it lgpl .. again
checking repository... I certainly didn't intend that
I can't tell from here but I assume it was part of some shotgun license fixes?
I think so
digging in commit logs to see
I think it was a case of me not understanding the viral nature of the GPL
I explicitly made the hal.h LGPL, that is the definition of the interface as seen by a user
(user = programmer writing a module)
the programmer needs to link to hal_lib.c, which is also LGPL to allow that
I didn't realise that everything that hal_lib.c included needed to be LGPL
hal_priv.h is _internals_ of the hal library, that the user (proprietary or not) never sees
so why do I have to LGPL it?
I hate lawyering
[01:53:16] <jmkasunich> http://sourceforge.net/mailarchive/message.php?msg_id=14537143
the relavent message
specifically, this was the intent:
+COPYING - implies that everything is GPL, revise to mention that
+interfaces are LGPL
I didn't see hal_priv.h as an interface
I guess I'll change it back
fsck, I don't want to change it back
specifically - if somebody is writing code that interacts with those structs, I _don't_ want that code to be proprietary
if they use _only_ the hal.h API, then they can go proprietary if they insist... any more "intimate" with hal's internals and it needs to be GPL
the license on hal_priv.h stays as it is
jepler: only you would notice that little inconsistency
yeah, everyone thinks I'm such a prick about licenses
well changing hal_priv.h to LGPL would allow more proprietary stuff than I intend
I'm gonna error on the side of less rather than more
how is that normally handled by library writers?
I don't know.
where you want to allow non-GPL use of the lib, but not allow wholesale copying of the lib code or use of its internals
I think the licensing as it is now reflects my intent as well as anything I can come up with
are you sure the LGPL doesn't give you the protection you want? I haven't read it for a long time, but I think it tries to draw a distinction between the act of using the library vs the act of extending it.
you can include hal.h and link to hal_lib.h, and that is all
I have no intention of reading licenses tonight
I think I understand what you would like to do, but I think a license prick would say that hal_lib.o is GPL and thus yourhalcomponent.o (which links hal_lib.o) is GPL
I'm gonna code some version testing stuff and pretend you didn't bring up the (L)GPL thing
please don't let me keep you from it
if I make hal_priv.h LGPL, then someone could write a proprietary halcmd
because with the struct definitions, they can go in and do all the linked list stuff that halcmd does
I want to allow prop. hal modules, but not prop. utilities
to be honest, a license prick could raise all kinds of issues... the simple fact that hal stuff is kernel modules gets into a gray area where there is massive debate
ain't going there
go do your version checking thing
um, whats wrong with someone writing a proprietary halcmd?
* fenn snarks
cause I don't want them doing it, thats why!
cant you make halcmd part of hal_lib somehow?
I can accept the possibility of some proprietary process control algorithm, or machine characteristics, that needs to be embedded inside a prop. module
but everything else related to HAL needs to be open/free
fenn: maybe... its possible that if/when we do a refactor, many of the halcmd "commands" might be implemented in the lib instead
i mean hal_lib is really worthless without halcmd
gcc is GPL, but you can use it to compile prop. programs
eh, nevermind.. i dont understand how all this library license propagation stuff
halcmd is GPL, but you can _use_ it to build prop. systems
jmkasunich: will you be around tomorrow? I want to talk again about adding the "(user) component ready" flag, but not tonight.
i do think a lot of stuff in halcmd should be functions in the lib (namely every last thing with a mutex in it)
I think so
hmm, one way to do the version check is to use a different shmem key...
the downside to that is that you might wind up with two completely independent hal's
with some components in one of them and others in the other one
ok, on this version thing
(thinking out loud)
its easy to make sure that version "tomorrow" and "tommorrow + N" don't conflict
they both know about the version code and check it
its a little harder to prevent versions "yesterday" and "tomorrow" from conflicting
jmkasunich: you could draw a point here and change the shared mem key so that any version prior to today would not work with any future versions (just repeating what you said before and twisting it)
the problem with changing the key is that the old version would open a shared memory region with the old key, the new version would open one with the new key
things wouldn't work right, but there'd be no apparent reason
however, I think I figured it out...
make the new versions check if the old key exists and barf ?
there already is a magic number, used to tell subsequent modules that the shmem is already initialzed
I'll use the same key, but introduce a new magic number
if it sees the old magic number, it will barf
if it sees the new one, it will check the version string
jmkasunich: is there much of a penalty in rtapi for small malloc()s? (for instance, 4 bytes at a time for single 'hal_float_t *'s)
* jepler hasn't actually gone to bed and is instead mulling a Python module for userspace components
hard to say
in rtapi that is... rtapi malloc's go directly to the RTOS and/or kernel
they might use large blocks
if you are talking about hal_malloc (for space in the hal shmem block) then there is no overhead for multiples of 4 bytes
I guess I mean hal_malloc
they you can do any size you want... all blocks will be returned on a 4 byte boundary, thats the only restriction
h = hal.component("test"); h.create_bit("b1", "w"); while 1: h.b1 = not h.b1 # a python hal component might look like this: creates toggling pin 'test.b1'
hal.component would invoke hal_init()?
and later you could call h.exit() or rely on python's garbage collection if you feel lucky (punk)
you gotta make sure to invoke hal_exit()
python's garabage collection isn't gonna know about hal_exit() is it?
or would the destructor for
or would the destructor for 'h' invoke hal_exit()?
python can call some code when an object is collected
that API seems to imply that the following is possible:
it's not written yet so currently everything seems possible
is that possible in "C" (two hal components in one process)?
I'm not sure what calling hal_init() twice from the same process would do, but I'm pretty certain it wouldn't be pretty
hm .. then it should error
not sure it does tho
then the Python program would raise hal.error at the second call to hal.component()
thats one of the issues that the refactor wants to address
the concept of a component should really be like the individual things inside blocks.c, not like the entire blocks.c
but hal_init() / hal_exit() operate on the entire thing scale
they map/unmap shared memory to the process, for example
for RT modules (like blocks) I want to separate out the loading of the module, from the instantiation of a ddt block
so you would do "loadrtmod blocks"
then "newblock ddt"
or "delblock minmax.0"
that would fit far better into your concept
well, Im heading off to bed, there is one thing I would like to mention before I go to sleep (so I don't forget)
I have been using comp now and I have noticed that when a = b comp does nothing to the output value
which means that the last value before a = b is the one given when a = b, I just wonder if this is the desired functionality ?
Rugludallur: that seems to be by design
Rugludallur: when a=b the difference between a and b doesn't exceed the hysteresis
if a > b, out is hi, if a < b, out is low, if a exactly = b, out is unchanged
oops, I oversimplified
if a is within the hystersis, out is unchanged
if hystersis is zero, then if a exactly = b, out is unchanged
I was just wondering if this was the desired functionality, nothing else :D
depends on who is doing the desiring...
is it what you desire?
for a comparator, its pretty easy to define what the output should be for a > b and a < b
a = b is ambiguous
heh, there is nothing preventing you from setting a negative hystersis
in which case, for any input within the hystersis range, the output oscillates ;-)
fine with me, I can work around it but I have a funny situation where b is a multiplier of max(a) so when a (and b) get to 0 ... well you see where it goes
it goes nowhere... stays at whatever its current state waw
yes which might be a or be depending on which calculation was done last
crap, I just realized my version detector is still no good
but it is not a problem, just add 1 to a or b and I have a >= or <=
the new on can correctly deal with any old one...
the old one will overwrite shmem data from the new one
and gl with the version
damn, I think I do need to use a new shmem key
yuck, yuck, yuck
jmkasunich: bearing mount is done! just have to screw it to the table and make the motor standoffs now
I wish I was making as good progress
backwards compatability sucks
I should have put version checking code in ages ago
I didn't keep up with what you were trying to do
are you trying to protect dummies like me from what I did today?
(if what you (and Dallur) did was use oldhalcmd with new components, or vice versa
sounds hard, us dummies find pretty creative ways to screw stuff up
well, struct definitions that are shared between multiple independent programs should be tagged
I did it for rtapi shmem structs
pure oversight that I didn't do it for hal
and its much harder to do it after the fact
can I brainstorm with you for a bit?
at first I thought about using differnet shmem keys
sure if you think I can help
but that just means the old halcmd will open one shmem, and the new stuff will open another
so the wrong halcmd won't see any of the stuff?
you'll have two "hals", both of which won't work, but no error messages to explain why
ok that prevents you from screwing it up, but is not ideal
you can't just put a version number at the beginning of the shared structure?
right now there is a magic number there
the first time any hal component is installed, it must init the global struct
subsequent components aren't allowed to erase that data
so the first one sets the magic number
I was gonna have a new magic number for the new code, and have it complain if it sees the old one
but if you run the new code first, then the old code, the old code will overwrite the init done by the new code
result, messy (segfaults, maybe even oopses)
so thats right out.
the magic number ("this is hal land") and the version number are for two different things
latest is having the same magic number, but have the new code check the version code (which will be located at the end of the master shmem struct)
so if you don't try to combine them, is everything fine?
fortunately, the last thing in the old master struct was a char
so if I add a short for the version, it won't overlap the next struct in the shmem block (everything is 4-byte aligned)
seems like the magic number and version should be at the beginning, so you can always find them no matter what's changed in the structs
I suspect, but can't guarantee, that the last 3 bytes of the old struct wil be zero
if I add the version to the new struct, and you run an old program that doesn't check for the version, it can wreak havoc
(if I add it at the beginning)
true I guess
I think maybe I need to use two differnet keys
I see what you mean about this being hard to add after the fact
all new modules would attempt to open a shmem using the old key
if they find an already inited one (magic number in the front), they would exit with an error message
if not, they would close it, and open another with the new key
that one would have a version number at the beginning
someone using the old programs will still have absolutely no clue that things are fscked though
you can't fix the old programs that don't have versioning
so screw 'em
but I need to make sure that running an old one after/with a new one won't cause massive bustage
needs to be a benign failure
brb, cat issues
hmm, I might be able to take advantage of they way our realtime script works
we never load rtapi without loading hal_lib.ko
so a user space program (halcmd, halui, halvcp, etc) will _never_ be the first one to open the shmem region
case A: you have a new hal_lib.ko, and one or more old user space progs
case B: you have an old hal_lib.ko, and at least one new user space prog (could have old ones too)
case B is easy, the user space progs can see that there is an old hal_lib.ko loaded by magic number (if I change it for the new), or by the absence of a version code at the end of the struct
gawd I'm an idiot
back on 2004, I changed rtapi_shmem_new() to zero the first 4 bytes of any newly allocated shmem region
that meant instead of checking for a magic number (and having a 1 in 4 billion chance of seeing it when I shouldn't) to decide if the data was already inited, I could simply check for zero
but did I change the code back then? noooooooo.... I'm still checking for the magic, and _anything_ else will result in me re-initing the entire block
I think the right thing to do is change to a complely different key
23:43: cradek: brb, cat issues
must be nasty issues...
03jmkasunich 07HEAD * 10emc2/src/hal/ (hal_lib.c hal_priv.h): added version tagging for HAL shared memory structures, to head off problems that arise when people use old copies of halcmd with newer kernel modules or vice-versa
when i draw around 1 amp current the voltage goes down to 14.91 volts from 15.03 volts. is this normal for an LM317 voltage regulator?
maybe a question for ##electronics
* giacus goes to fish mullets :P
fenn wake up!
fenn I have a present for you!
good morning all. a little help with linux and X server?
sure - let's see what we can break
err - fix
just got a new mb and cpu. loading Breezy, everything ok (i think) and X server fails.
what video card?
build in AIT Express 200
the .log file shows it was correctly identified.
that's the chipset, does it also have integrated graphics?
yes. it has a plug!
Ati Tadeon Xpress 200
well, I've had a lot of problems with the ATI driver in Breezy, and A-L-P-H-A has as well
I installed the ATI proprietary drivers, and they seem to work, but they're not accelerated (on my Radeon 8500DV)
they fall back to software rendering, so I get a paltry 100 or so FPS in glxgears
the other thing to check is that the mouse driver is pointing at the correct /dev file
is that in xorg.conf?
yep (sorry - phone)
everything seems to point correctly.
ok. I think it changed from /dev/mouse to /dev/input/mice or something like that
unfortunately, I don't have that machine here right now, so I can't check
* Jymmm plays the theme from Jeopardy while Roguish waits for SWPadnos_ return
has emc2 been installed with ubuntu 6?
Dallur2 is now known as Dallur
Roguish: yes -- if you have a "dapper" 6.06 machine, you can install emc2 on it by changing each "breezy" to "dapper" in the emc2-install.sh script
if ATI works better in dapper, i'll try that.
I don't know if there's any big difference in video card support between the two
If anyone in Germany wants a cheap Large CNC Plasma cutting table there is one on Ebay which is currently listed at 1000 Euro
[14:47:39] <Dallur2> http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&ih=007&item=170002010721&rd=1&sspagename=STRK%3AMEWA%3AIT&rd=1
oops - I hadn't had enough caffeine - I had problems in dapper, but it worked fine in breezy
i'm using breezy. very frustrating.
my ati laptop worked in breezy without doing anything special
I think A-L-P-H-A found that there's a problem with XOrg 7.0 and ATI. he was waiting (im)patiently for ubuntu to release XOrg 7.1
you could always try the vesa driver
'fatal server error: Caught signal 4. Server aborting'
how do i do the vesa driver?
change xorg.conf to say Driver "vesa"
where it probably says Driver "ati" currently
cool, now i get a screen with nothing on it other than the cursor x
no X weave background?
Roguish do you have two video cards?
ok , nm
there's no longer a weave background - the default is black
Roguish: try rebooting it now, maybe gdm is confused
i think gdm is sick. after booting, the ubuntu load screeen show, then the monitor goes black and shows 'out of range'
maybe the video mode is wrong
that was after i changed 'ati' to 'vesa'
Ahhaa, time to bring out the shotgun and visit my neighbor, since he is now working outside with an angle grinder I have noticed that whenever he is using alot of power my internet stops working, that bastard
It must be that the em field generated from his power cables somehow cross with my phone/dsl line and .....
That is the only logical expl. that I can think off
on something a bit more related to emc, I have been using the feedback signal from stepgen and I have noticed that it is really jerky
is that normal ?
Rugludallur: STOP ROLLING OVER THE NETWORK CABLE WITH YOUR CHAIR!
Jymmm: ahh yahhh sorry
(looking out the window at your neighbor =)
True story --> "The computer resets itself every time the toilet is flushed"
don't put the computer in the toilet
Guy called Dell T/S and said that. they all thought he was full of shit for three weeks. Finally one tech listened a tad longer and figure this guy is in a rural area and has an electric water well on the property and was causing a brown out.
Rugludallur: the feedback position will be updated each servo cycle, not each base_period.
What's happening today?
not much, it seems
wow jymmm that qcode program almost does as much as jon elson's 20 year old C programs
fenn is that a good thing?
see - nothing new has been invented since the Concorde
jymmm not really
heh - I wrote software that's older than you!
what a funny line
fenn then crawl back under your blue foam rock!
* fenn goes back to lisping
Jymmm: lisp is like XML from hell
but with more parens
fenn please tell me your kidding about using lisp
jsut remember all the curly braces or parentheses or whatever
SWPadnos_ is now known as SWPadnos
and the smug sense of satisfaction.
fenn and XML is the spawn of satan btw.
then lisp must be satan
* fenn smugs helplessly
fenn: I know it's old, but is it that bad?
lisp is only bad until you get to know it
(that might be true about xml too, but I have my doubts)
xml is ok.
aside for the parentheses lisp seems pretty cool actually
<lisp><paren>+ 3 2</paren></lisp>
if you aren't using emacs (or another editor that formats lisp correctly) it sucks
No, in RPN the + would come last
if you aren't using emacs (or another editor that formats lisp correctly and has good paren matching) it sucks
well i'm just playing around so far
fenn any particular reasonign for your lisp madness?
my PLAN TO TAKE OVER THE WORLD
fenn Well, Good Luck with that!
the real problem with lisp as I see it is the libraries are nonexistent - where you can do http/smtp/opengl?/tk? easily with python/perl/ruby it's not that way with lisp.
why is that anyway?
i mean python didnt just magically appear some day
I don't really know
both (python/lisp) are easily? extensible in C
probably sick and tired of PHP and tried python and just took off
i see a lot of things i like about python that they actually "stole" from lisp
cradek: causes a following error on the 'max' configuration: G20 F999 / G00 X1.5 Y0 Z1 / G00 Z1.1 / G01 Z1 / M2
that's without segment joining even turned on right?
before you just rip it out, let me look at it
I strongly suspect it's another external vs internal units thing
maybe I'm using the wrong units in the list of points to be merged or something
the first error appeared to be on a G1 -> G0, this one is G0 -> G1
it might be toExtVel (linear_move and friends aren't set in flush_segments)
well, reverting the "merge" code fixes this problem
what sets those globals when pulling chained_points off?
only in the case 'linear_move && !angular_move' would points be combined so I blew off updating the globals
and anyway that's the case through this whole example program
ok, the queue is in external units, but getStraightVel/Acc should be called in internal units
in flush_segments you're calling them in external units
you should make the queue internal units I think
you're right, that fixes it
I wonder why I didn't see it right the first time you ran into the problem
because it's a tangled mess of units?
* Jymmm quietly removes the bottle of whiskey from jepler's desk.
03jepler 07HEAD * 10emc2/src/emc/task/emccanon.cc:
store internal units in chained_points. fixes the "following error" bug in the
Jymmm: thanks, but the problem is not so simple as mere substance abuse
jepler One step at a time, one step at a time.
jepler: First, you must admit that you have a substance abuse problem, no, I don't care if don't actually have one, you must admit that you do as the first step!
* fenn has a substance abuse problem!
fenn lack of ?
or did you spill the whiskey (again) ?
* Jymmm hands fenn a paper bag.
SWPadnos: Do you have any bright clear red led's (3mm) ?
SWPadnos: Thanks. I think I'll order some of the pinks ones too.
to go with the pinnk tutu
Yeah, hold on...
[18:14:13] <Jymmm> http://search.ebay.com/160005313817
ok, got it working, not sure how, but oh well. got emc2 testing tarball and extracted. now, trying to build for run in place and get 'no acceptable C compiler found...........'
did i leave out a step?
you have to install a bunch of packages before proceed compiling Emc2
i already have emc2 released installed.
Roguish: Do you have any dev tools intalled? A compiler maybe?
how would i know?
brand new everything.
THAT, I wouldn't know. Try typing gcc in a shell and see what happens
this page could help http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl/emcinfo.pl?Installing_EMC2
command not found
Roguish: sudo updatedb;locate gcc
and i'm on that page.
gcc is just to start .. I suppose you have to install 20-30 packages yet ..
Roguish if you've never ran updatedb before, it'll take a few minutes.
Roguish: type this: sudo apt-get build-dep emc2-axis
ok, it shows lots of gcc stuff
working, getting lots of packages.
fenn You took over the world?
i HATE computers.
I hate peoples !
and love computers :P
* Jymmm runs away with Anna
just need to do it right
giacus: Yeah, I bet you dont hate people THAT much now, do you!
Jymmm: got no luck fishing today: 0
ok, now it's buildign a lot more.
o/~ I hate the world and the world hates me o/~
giacus bait or fly, shore or boat?
I'll back tomorrow .. :D
giacus boat or shore?
bait for mullets
I think its a bad lunar phase right now
ah, I dont' think I've ever salt water fished, and never on the shore.
But, I did catch my very first fish with a string on a stick =)
have to re-try tomorrow ;)
10" rainbow trout
Roguish: Dont thank us, just sponsor the "Fenn taking over the world fund", for just $0.50/day, the mere cost of a newspaper, Fenn will be able to take over and rule the world!
and if you sign up today to become one of my minions or henchmen, you get a free jetpack!
* Jymmm could be a henchmen, been a bouncer, not much difference.
offer void where prohibited, some rules may apply, consult your doctor before taking anything for granted
Hello, Dr Seuss....
"if a packet hits a pocket on a socket on a port ..."
"then the socket packet pocket has an error to report"
lol... that's the best network geek joke I've heard =)
there's more - I just can't remember it all
That's a tounge twister in itself as it is!
[18:42:37] <SWPadnos> http://web.mit.edu/adorai/www/seuss-technical-writing.html
SWPadnos you know much about RF ?
yeah - it makes radios work
SWPadnos: How hard would this be to duplicate functionality wise? http://electronicsusa.com/csd.html
not too hard, as long as the frequency range is limited
it's an RF transmission detector? it seems like that would be pretty simple.
but it would have to be fairly narrow band, so it doesn't get falsely triggered by nearby stations
I think there are RF microcontrollers that could do this with one chip and a couple of discrete parts
surely 5W at 10' is going to be much more powerful than any station at any distance
maybe my intuition is wrong about that
depends somewhat on the quality of the transsmitter
since it's from hf to UHF... I'm thinking every cordless phone and wifi is gonna trigger it.
but you're right - that one just has adjustable sensitivity, and is wideband
right - you want tunability
No, not really.
wideband is good. no notch filters
but all power in the passband goes to the detector, so as you said, every radio device in the area will add to the net detected
they say 5w+, no unlicensed Tx is close to that.
I wonder if I could rip apart one of those wifi detectors and do somethign with that.
ok - I hadn't noticed the power spec
those are 2.45 GHz
this should be ~80-250 MHz
I don't understand RF but I found this "simple field strength meter", claims 30MHz to 2GHz: http://www.qsl.net/n9zia/wireless/appendixF.html#3
20KHz - 1.2GHz
Hot Damn! http://geocities.com/ajpotts19/wavemeter.html
1MHZ to 950MHz
Thanks jepler !!!
Shit, could get much simpler than that!
yeah - that looks way simpler than anything I would have done ;)
SWPadnos: You're just a digital guy, but I would hold that againest ya =)
I'm used to radio designs that need to work from ~1600 feet, 99.99999% of the time, and in ~300-500 uS
so the "diode detector" is a little beneath me
* SWPadnos holds nose up in the air
not that I did the hardware design on those anyway ;)
wth is this uS chit?!
you and your digital mumbo jumbo!
Speed of Light baby!
microseconds - I know it's hard to understand metric prefixes and ISO standard units ;)
oh I know what it means, but when you have a delay on a radio (other than hitting the PTT), you gots to be talk'n digital.
but of course
channelized digital with sub-channels encoded and all that jazz
Yeah, trunking/celluar type stuff.
err - no
[19:37:16] <SWPadnos> http://www.pocketwizard.com/HTML/products.asp
stupid flash web designers
SWPadnos: I'll take four please
ok - that'll be $1200 please
WEll, one Tx, 3 Rx
SWPadnos just put it on my acnt
you're over limit ;)
Fine, put it on YOUR acnt.
4 would be $1200 ?
the funny thing is, I co-founded the company and wrote all the software for the products (not these, but an earlier generation), and I don't even own any
B&H will give you a good price ...
AH, abouttthe same as SB-800
yeah - the high end one is $300 per unit, the plus II is ~$160
but the SB-800 won't trigger a camera
No, it acts as a master, and triggers the slaves WITH TTL.
right, but not the camera ;)
and only more SB-800s
(or other compatible Nikon flashes)
or SB-600 slaves
What, those have TTL ?
the PW should get TTL soon (though Jim's been saying that for years), and at that point, it'll work with any camera and strobe that do TTL
also, there are Sekonic light meters that have the transmitters built in, as well as several strobe manufacturers with built-in receivers
ah, cool. Sounds like this is getting REALLY expensive now =)
I don't really keep track. I just wait for the quarterly stock dividend checks ;)
so buy lots, right now!
I could use two SB-600 slaves and be alright for most.
I'm not up to par going full manual yet, dont even have a light meter.
the camera has one
HEll, I don't even know how to program the SB-800 flash!
I just stick it on automatic, look at the settings it would use, then change them a bit
actually, the P mode on the F100 is pretty nice - use the back wheel (I think) to change the shutter speed / aperture mix
The lat time I setup RC flash, I had to call Nikon to ask about setting the channel in the camera to trigger it. It's like one line in the 300 page manual that tells you.
same exposure, but different depth of field and "streaks"
'A' mode isnt' too shabby
isn't A the "aperture priority" mode?
I usually use P, then scroll through the combos for the aperture or speed I want
and I think the other wheel allows over/underexposure control
Gas has been so high lately, I really haven't had a chance to do a alot of shooting.
I guess I could take the camera out of the case ;)
speaking of gas, maybe I'll go make a bowl of chili
gimme a sec, I'll show you my latest...
I found that location after driving around 40 miles.
actually, since it's summer, gazpacho is the thing .. not chili
true, but I have canned chili in the cupboard
woah -- hold on here -- canned chili?
not canned - in the fridge
yep - from Costco
yes, I was waiting impatiently on an xorg 7.1 release with ubuntu.
You know, I really enjoy Knoppix... It just works.
Sounds like a marketing slogan, but I've had very good luck with it.
much more than ubuntu
if you like Knoppix, try Mepis
it worked better for me than Knoppix, on my laptop at least
SWPadnos what wifi chipset do you have on your laptop?
it's a 5 year old clone P3
on which Mepis installed and ran perfectly, including correctly detecting hte 1400x1050 LCD
the Knoppix of the era missed that, and didn't configure power saving stuff (and CPU fan control) correctly either
I'm not sure if knoppix did the apc or not (never looked), did every thing but the wifi, but I think that's something I have todo, and just dont understand the README's
I've never taken the time to get wifi working under Linux - I have a windows HD for the laptop
one day I will, but probably not with this pcmcia card ;)
hehm mine IS supported, I just dont "get it" instructions wise.
Mine is a portable desktop anyway...
this was one of the first 802.11a/b cards, so who knows
or b/g - whichever
b/g == 2.4GHz
a = 5.8
1 == 5.?? GHz
cradek More cat issues I see.
cradek: It's all good =)
mine is sitting in my lap, peacefully sleeping
no claws even
mine's stomping around on me purring loudly
my python hal module works
this python program creates a component that counts up about 5 times per second:
import hal, time
h = hal.component("test")
h.newpin("i", hal.HAL_S32, hal.HAL_RD)
h.i = h.i + 1
when you UPS goes bad, you know its not going to be a fun evening