[00:00:50] <jepler> http://www.scenta.co.uk/minisites/flash/roboclaw/index.html
jepler, boring game. :(
* Jymmm is waiting for A-L-P-H-A to write a better game
Jymmm, already invented... it's at "http://banging.Jymmms.Sister.com"
the site exists
A-L-P-H-A: She's dead so you know what that makes you!
the last guy to bang her? ;)
if I'm insensitive... it's only cause I don't believe you. :)
anyone finding ubuntu's servers slow?
this fuck'n fly won't tired it self out.
just keeps flying and flying.
black light, electricution device thingie
A-L-P-H-A: I'm not getting the best d/l speeds either
Fetched 159kB in 8s (19.1kB/s)
I'm gettin glike around that speed too
pissing me off... taking forever!
finally done... just didn't bother with gimp/oo.o
removed like and hour right there at that speed.
I'll do those are night, when I'm asleep
DAMN it fly... fly outta my room, and into the electric light.
the fly zapper thingie
03cradek 07HEAD * 10emc2/docs/src/common/emc2_introduction.lyx: improve GPL summary
damn it... ubuntu still is broken with ati, and multiple monitors (I can get two working, but not 3+)
the ZAP you hear from a fly zapper is so satifying, when the fly has been flying around pestering me.
robin_sz: I certainly won't use the control system of that mill were I to get it
that would be an EMC retrofit
you didn't recognise it by any chance?
good morning from deep in Cheeseland, USA!!!!
I haven't heard of that city but I bet it's in Wisconsin?
i just got thid old Pentium 120 Mhz with 48 megs of ram online....using puppy linux....
i was bored up here
mdynac: switch to Debian !
how are U ?
that's not a fast machine these days...
it won't run on this box
hey cradek :)
it had doze 98 on it......
mdynac: erase it
ensure to format with /s option
giacus: he said he's already using linux...
mdynac: what are you running with emc?
puppy linux saved this machine from the dumpster.....
i am running ubuntu....with emc
mdynac: what linux ?
on a PIII
ah.. Ubuntu, niceee
ah I see, I thought you were using the Puppy with emc on it
not yet, but i might test it out...
there's a special puppy that someone has made for emc users
not so updated for what I know
Ubutnu should be better !
do you recall the adaptive feedrate function you wrote at the fest?
so far it is working quite well....
why surprised ?
i was the EDM guy down there
great, what's the application?
wire that is
are you the guy I talked to about reading some paper tapes?
ok I know who you are
glad you got it all working
are you making parts with emc/edm now?
mdynac: who are you ?
i am about to install my whole system in an edm machine this month.....
no not yet
where you came from ?
giacus: we met at the cnc workshop in may
not me :(
btw, mdynac nice to meet you
i have it spread out on a workbech right now, but now that the adaptive feed work i can go ahead and put it in a real machine
Next time you'll have to have fest in borkland so I get to know everyone XD
I'm a emc lover :P
just a bit busy in these days..
mdynac: I'm anxious to see you get it working, I think you'd be the first to do edm
fishing, fishing, fishing!! sund and sea
mdynac: 2 or 4 axis edm?
i hope so too.....
since may there are several people using emc for lathes, another new application
only 2 axis for starters....
sounds like a good idea
you have iron to run with EMC as well I take it?
working iron that is
yes an Anrew EF-330 edm machine, runs currently on an old pdp8\a
andrew ef 330
I'm always impressed that you guys can keep those machines working for so many years
we just finished a replacement memory board for the old DEC core memory, now we can service the machine for 20 more years....
what goes wrong with the core? driver circuitry?
it's not like the core itself would wear out...
how are you ?
the drive circuitry is a piece of cake, it is the actual core mat that is going bad.....
giacus: nice thanks
really, I wouldn't have guessed
corrosion, in a machine shop environment....
by core memory do you mean the ring-type memory?
oh the little wires corrode? or the core beads themselves?
magnetised rings suspended in a latticework of wires
the beads crack and the wires just corrode at the solder joints....
3 wire core memory
sadly that sounds terminal... nice you have come up with a replacement
yep 2 cypress memory chips and some tristate....such a tiny board....
and a battery
mdynac: want a miracle ?
yeah I wondered about that
looking at the cristal sphere :DD
aren't there "retrofits" for core memory? dram that emulates core memory behavior?
you'd need a battery though
Lerneaen_Hydra: read up a few lines, that's what he's talking about :-)
oh, maybe thats what you meant a bit earlier
cradek: now that adaptive feedrate is working, maybe you guys can start working on phase 2 , which is actual backup....
mdynac: think at a dream
think it is possible
and give me your eyes
I can do Miracle!
O.o I have a feeling mdynac want's his eyes where they are
in their sockets
now think at your mothernboard
its is not what you think ..
it is a 3 ghz mothernboard!
it is fast as the light
like a flash
is is so ?
Lerneaen_Hydra: with wire edm when you cut into a part sometimes you have to back out along the same path
Lerneaen_Hydra: I guess real edm controllers can do that automatically
any reason programming the path won't work?
sounds like a task for a python converter
just convenience maybe
looking at mi cristal sphere I see your mothernboard travelling like a flash
that's not related to EMC
other times you have to back up "a bit" like when it shorts out against the part
that requires feedback, right?
obviously that's easier than backing up the entire path
mdynac: can you corfimr ??!!
yes there's always arc current feedback in edm controlling the feed
I guess the feed often goes to zero
(this is just what I learned at the workshop, I have no experience)
it would seem that the short-out part needs to be in RT-EMC
but the other programmed backup could be in a converter type program
mdynac: kidding ..
yes the adaptive feedrate is already there, and all in realtime
did you understanbd that ?
we added that at workshop
I meant the back-up-at-short-out
does it move backwards or just stop?
yes right now we can't go backwards at all
depends on the application, some actually move backwards, some do other things like stop and tap the wire (I guess)
it would seem to me that if you try to make an interpreter that can handle all the intricacies of milling, turning, and EDM it would be rather messy
mdynac said for his application just stopping is good enough
oh, then EMC should work as it is today
right, and he's working on setting it up
the problem with putting the backup moves in the gcode is that you're badly stuck if you abort the program in the middle
although I don't know how a real edm controller handles that either
wouldn't MDI handle that nicely?
definitely depends on the path.
unless you're stuck in the middle of a radies
hmm, wasn't there a start-from-this-line function in axis?
if you're cutting a straight line, getting out is not complex, but it sure could be in other programs
yes there is
in some cases maybe you could use that
but not in the general case ... it's a hard problem.
it's not just a matter of pulling it out?
(I've never done EDM so I don't know much about it)
I don't know either
see you next time
I'm sure since wires break anyway, you could just break the wire and remove the part, then reconfigure everything
it's not like you have to throw away the edm machine :-)
uh, random question, how was it one did 8^5/4^3
had the numerator and denominated been the same number x^a/x^b would have been x^(a-b)
but since they're not
factor 8 and 4, then distribute the power over the factors.
then you can cancel matching terms from the top and bottom
8^5 = (2^3)^5 = 2^15
yes, that's actually quite a nice way of doing that
now why didn't I see that before
or get a nice calculatpr program that can handle numbers as large as 2^15 exactly
oh, it's not that that's the problem, I have introductory course thing
Here's hoping EE is as fun as I believe it is ;)
I think cradek was EE before he changed to CE
I studied computer science, but didn't finish
different terms in the US and borkland x.x
oh, why not?
because I found a job I liked, and I really hated school.
oh, I see. bad school?
not a good one, anyway
but it was the one in my home town, so it was easy to study there
oh, I see
even though I like to build things, I didn't find EE fun
you found CE better?
I suppose a bit
the CS classes were less hard for me
(some were very easy)
at least there was some variety (CE is both EE and CS classes)
I think that's called D here in sweden
EE is E
and CS is IT
where D is something between E and IT, and IT is nearly only software
yes sounds similar
EE is sorta fun, its very much like CS, except, things blow up from time to time, and debugging them is a question of observing the brown stains on the board and trying to guess what exactly went wrong ..
that sounds like how I repair monitors
first replace everything that looks like it exploded
sounds almost familiar to certain parts of my retrofit
I have a BSc in EE ... I think they gave it me out of sympathy
except notice some components get really hot
and power only arrives half of the time
when you notice a logic level 1 is tied to ground :D
robin_sz: err, did you by any chance recognise that mill?
it looked 1970s
hmm, must be a strange model
the controller was very 1970 ..
I wonder how the iron is
I'll bet it has 2.6 billion 74 series chips and a lot of wire
that's all going to go in the bin if I buy it
or, the logic bits at least
are models that old usually so bad that they're useless?
looked nice for small work, if the spindle is anyt good, ytou really have to see these things and rattle them
so it could be good for a retrofit?
no, if built well, they last for ages .. and that one lookd like a training mill for a college or something, so might have done almost no hours
is it servo? or stepper?
yeah, jymmm said he had used the same model when in school
I don't know, there's no info about it that I can find, other than the table goes 115x350mm
is it a proper cast body, or bits of bent tin?
I only have that picture ATM
more like bartering
they asked $5k for it, which is laughable
you have a sister?
dang, thats that option gone then
hmm. that would have been a good idea
I think you cant trade cousins,
you can only loan them
the tradee doesn't need to know that
could anyone send me a memo whenever Eugenics join this channel
he hasn't been around for a while now
you could add him to your notify list
may i ask how that is performed
in chatzilla, you type "/notify Eugenics"
I'm not sure what happens when they get online (/notify alone will tell you the status of everyone on your list)
you can also add Eugenics to your list of "stalk words" - those will also cause a notification ehenever they appear in a channel you're in
well if he'll be back in the channel maybe you could tell him i was looking for him
so he can send me a memo or mail
will do (if I'm around, and I remember :) )
(if I remember)
i should be building my parallel avr programmer but i'll have to wait half a week from now to get the parts shipped
until then i've got nothing to do
parallel as in PC parallel port, or parallel as in "using a lot of pins on the chip"?
lots of pins on the chip
ah. any specific reason for parallel vs serial programming?
but as a matter of fact it's also using the par-port for interfacing the pc
well the parallel is faster and more reliable
not on the AVR series
and can do certain things such as setting fuses and stuff
faster, possibly. more reliable - no
are you using 1200s?
i'm gonna use 8515 and 2313's
16 mips and 20 mips respectively
ok. I think those are both EOL though
unless you're talking about mega/tiny versions
an isp programmer (incredibly simple hardware) can be bought for 65$
they're $30 at DigiKey
sorry, i should have written tiny2313
the AAVRISP2 is USB, and is $35
only one A there
ok - the tiny is the replacement for the "normal" 2313
30$ is a lot of money for isp hardware that is hardly any hardware at all besides the possible usb interface
it has a serial port and two microcontrollers in it, as well as an oscillator
how could an isp-programmer require mocrocontrollers?
not even a parallel programmer requires that and parallel programmers are slightly more complex than the isp ones
I like ISP, so I always use serial programmers anyway
the design i'm gonna use has not more than a shiftregister and a couple of trannies and resistors
I'm not sure you'll get a speed improvement there :)
possibly not, but i like the felling of a "real programmer" if you know what i mean
they're no different on the AVR - all the programming is handled by internal flash circuitry
not just a couple of probes to stick down on the isp pins
ah. I use SMT devices almost exclusively, so sockets are more of a problem
now i'm starting to feel like a fool that i've bothered with a parallel programmer at all
well, it's not really an advantage for the chip, and it makes the software harder to write, since you need IO provileges to use the parport
with a serial unit, you can use a comm program, and no special privileges
(almost - obviously it would be very slow for you to type in the programming commands manually :) )
i'm blindly hoping that avr-studio should take care of everything on the software side
there's a Linux software package that can program using hte serial programmers (STK500 or AVRISP)
on Windoes, it will
what version of Windows do you have?
the AVR studio doesn't work with the older programmers, like the STK200 or STK300 - only with some dongle they had way back
(and with the serial programmers, of course)
maybe it's foolish to remove the avr every time it need to be programmed
more chance of bending pins
for the programmer i could install a device that pushes it out gently but on the breadboard i'm gonna need a tool to remove the device
are you good at Classic Ladder ? I would like to take on the toggle problem I described yesterday
I suck at CL ;)
I'll read through the thread, and see if I have anything to add
the basic problem is that HAL logic is level triggered. I'd want an AND block which is edge triggered
you can create a "delay" by using two blocks (like NOT or OR), and evaluating them at different times in the thread
you can then take the output of both of the blocks (buffers, in essence), and if they're the same, don't do anything
that way, only the first run through the thread will do anything - the next time slice, both will have the same output, and that will prevent anything from happening
can I do the ordering just by rearranging how I call addf on the different blocks ?
or you can set the order explicitly (unless that feature has been removed)
well a classicladder implementation would be a bit cleaner I think
the only thing is that the second block whould be evaluated after the toggle logic, but before the motion / io controller
there may be a race condition there anyway
I agree, but I'm clueless ;)
at least as to how to do it in CL - I can probably describe a ladder that would work
sounds relatively ugly to do that
the demo cl config fires up quite nicely
now I just have to learn what all the windows mean ;)
I found the editor a real pain to use, but they're all that way (all the ones I tried, anyway)
I suppose an edge detect block would be useful
yes, but what would the output of it be ? true for one period until the update function is called again ?
I was just thinking that the output duration could be a parameter
I heard something about python HAL blocks ? that sounds fun
number of cycles to hold the output
jepler made a HAL interface for pythin
python, too :)
I guess we need jepler around to try it ? or have you worked with it ?
this is the sum of my python experience: ><
it's a fun language
but high level, advanced code can be hard to 'get'
well my experience is about 'hello world' level...
Just do the whole thing in CL.
CHANGE = INPUT_PIN ^ PREVIOUS_INPUT_PIN(\ (^ represents exclusive OR)
PREVIOUS_INPUT_PIN = INPUT_PIN (I'm using = to mean set the left variable to the right value)
OUTPUT_PIN = CHANGE ^ OUTPUT_PIN
(I wish I knew CL, so I could write this the way CL does it.)
lerma: and the CL input is edge triggered ?
The INPUT_PIN represents a push button. Each time you press the button, the output will change state.
that has transitions on both edges, I think
though the OUTPUT_PIN state may take care of the release
right. but is the CL logic edge or level triggered. If it's level triggered then it's no better than the and/not blocks I tried in HAL
it's "level" - that's why the CHANGE variable is there
Yes, that was wrong. Should be:
if you want it to change on leading edge of INPUT_PIN:
OUTPUT_PIN =(INPUT_PIN & CHANGE) ^ OUTPUT_PIN
or if you want it to change on trailing edge of INPUT_PIN:
OUTPUT_PIN =(!INPUT_PIN & CHANGE) ^ OUTPUT_PIN (& represents AND; ! represnts not)
probably leading edge is best
probably, assuming that filtering/debounce is adequate
CL reads the levels and executes the code in order. SWPadnos -- If CL runs slowly enough, debouncing will take care of itself. I assume that the rate can be set for CL.
But you know what they say about assume.
not independently for separate rungs, but yes, the CL evaluator is a normal HAL function
(and can therefore be added to any thread you like)
is the python HAL interface in cvs ?
it's in axis, so it should be there in emc2 now (emcmodule.cc or halmodule.cc)
right. but in the python code I see 'from hal import *' which would indicate that there should be a pythod module named hal somewhere
err - could be
ls -R | grep hal.py
I think the idea was that this would allow you to make HAL pins/params in python
and not much else
that gives the groundwork for python communicating with HAL, but there's no "funct" creator or anything
OK.. how hard is to write a new HAL block in C then ?
not hard at all
do you want to make an edge detector?
yes I could try that
ok. I'd modify blocks.c, and make a copy of the NOT functions (I think there's a NOT block)
yes, not exists
there are about 5 places to add stuff: in the kernel parameters section, in the typedefs, the "export" function, the evaluate function, and maybe somewhere else :)
oh yeah - comments and manpage
there must be a good name for the edge detector ?
how about 'edge'?
the estop block and a not/xor or something may be able to do what you want
why does it have to be five different places in blocks.c for each function :(
because you have a kernel parameter, a "function", and some setup stuff to deal with
it's a pain at first, but pretty easy once you get used to it
(blocks.c is about 3x as big as it should be though)
I'd make the edge block have one input, and two outputs, for rising and falling edge detected
you can add a parameter if you like, for the number of cycles to hold the output, but that may require extra logic (ie, what if you get two eges quickly - shoiuld both outputs remain on, or should falling cancel rising and vice versa?)
what about synchronization between different HAL threads and between HAL and halui/motion ?
i.e. if I have the block update tied to a thread io_thread, and edge outputs true for one cycle, is motion and halui going to detect that every time ?
03jepler 07HEAD * 10emc2/src/emc/usr_intf/axis/scripts/axis.py: improve detection/removal of first G0 motion from preview plot and extents calculation
03jepler 07HEAD * 10emc2/lib/python/rs274/glcanon.py: improve detection/removal of first G0 motion from preview plot and extents calculation
if you need to, you can add a "reset" pin, which would get rid of the need for a duration parameter
etla: in short, no. halui is not a realtime program, so you can't predict when it will accept and act on a change to a pin
reset should default to "on", so that you get a one-shot output
etla: for realtime components, you can depend on their execution order, depending on the threads you add their functions to, and the order.
if connected to a signal, then that would control it
jepler: I'd be interesting in looking at your python HAL module. where is it in the source tree ?
etla: you have recent CVS HEAD?
the module implementation is in src/hal/halmodule.cc and an example of its use is in src/emc/usr_intf/axis/scripts/hal_manualtoolchange.py
python hal_manualtoolchange.py gives me ImportError: No module named hal
is there bin/hal_manualtoolchange ? if so, run it instead. If not, your emc2 isn't configured to build the parts that use Python.
yes /bin/hal_manualtoolchange exists
ok, that seems to work
it's a little program that pops up a dialog box when you change tools, then signals to emc that the tool has been changed when you click the "OK"
it is loaded when you run with configs/sim/axis.ini
try using that configuration, and enter 'T1M6' in MDI
can I help you understand any of the code?
the lines from h = hal.component("hal_manualtoolchange") to h.ready() create the component and its pins
The python code is pretty readable, what else could be done with the HAL python module ?
the lines from 'while 1:' to the end check 'change' about 10 times a second, and "do something" when it's appropriate
you can do anything that could be done from a userspace HAL component
so something like VCP ?
anything that is not time-critical, and doesn't need to talk to real hardware.
yes, you could write something like VCP, or something like halui (using the 'emc' module to send the commands back to emc)
how come my python interpreter does not know about the hal and emc modules, but when I run bin/hal_manualtoolchange it works ?
the magic is in these lines at the top:
import sys, os
BASE = os.path.abspath(os.path.join(os.path.dirname(sys.argv), ".."))
sys.path.insert(0, os.path.join(BASE, "lib", "python"))
basically, this says "look for hal.so in ../lib/python compared to where this script is"
so you can put your script in bin/ and put those lines in it, or you can set an environment variable before running the python script
e.g., export PYTHONPATH=/home/jepler/emc2.cvs/lib/python
I'll try that.
seems to work.
is there a lost of what functions are available in the hal module
i see component, newpin, ready etc.
list I mean
once you've set that environment variable, running 'pydoc hal' will show you the documentation
there's not much documentation
basically, the component methods are .ready(), .newpin(), .newparam(), .exit(); and the module also has the HAL constants like HAL_BIT defined
oh, and there's 'hal.error' which will be raised if you do something like try to create a component that already exists...
hi alex, what's upo?
("-o" is the emoticon for a dead guy with his arms and legs cut off)
jepler: I'm home ;)
you were travelling again?
I didn't even know
I was to a customer for 2 days .. but had my wireless with me
oh, my pvr tells me I have about 3 hours of athletics to catch up with - gotta go ;)
anyone cares about the 10th dimension?
[18:52:59] <alex_joni> http://www.shoutwire.com/viewstory/18527/The_Tenth_Dimension
Has anyone worked with Phenolic ?
Phenolic acid? the metal aging stuff?
odd way of logging off :)
alex_joni Good (looks at international clock and see's it's broken) Morning|Afternoon|Evening !
it's 1hour after midnight
that would be mornin to me =)
not sure what you say there though :)
EARLY mornin =)
still late in the afternoon for me ;)
oh, btw.. there's a new Canon out there.. wanna see?
[21:53:17] <alex_joni> http://www.ellf.ru/archives/2006/01/h/2006-01-16-canon-thumb.jpg
looks like something I might see on Star Trek
check the buttons on the bottom ;)
* alex_joni calls it a night
anonimasu_ is now known as anonimasu