[00:00:04] <voxadam> http://www.linuxcnc.org/docs/EMC2_Integrator_Manual.pdf
[00:00:16] <voxadam> http://www.linuxcnc.org/content/view/5/5/lang,english/
and you're looking at the git 'master' branch?
the hal_m5i20 driver is removed in 'master', because the hostmot2 driver for 5i20 cards is stable and has many more features.
I was starting to wonder.
even so I think the path is wrong for v2.4..
[00:02:26] <voxadam> http://git.linuxcnc.org/gitweb?p=emc2.git;a=tree;f=src/hal/drivers;h=f1ce4eb5a5d96aa49cce385a1a998f544a3ff088;hb=master
Oops... I didn't mean to paste that.
in v2.4_branch the path is src/hal/drivers/m5i20/hostmot5_src/REGMAP4E
*however* the register map for hostmot2 is entirely different..
the one that I think is accurate for hostmot2 is src/hal/drivers/mesa-hostmot2/doc/regmap
same path in the v2.4_branch and master branches
Are the quadrature counters for the encoders implemented in HOSTMOT2 or EMCMOT?
are you looking for info on how to use index mask with hostmot2?
(since that's what the surrounding text is about..)
I'm looking for info on a number of different things at the moment. Index masking is one of those things.
OK, I can help with that
is 5i20 your card?
for index mask support, choose one of the firmwares with IM in the name, such as SVST8_4IM2.
At the moment my card is purely theoretical as I don't own one at the moment. I'm looking deeper into EMC for someone with a mid-80s Mori that is thinking about replacing the old Yasnac control with EMC.
Refer to the PIN file for the location of the index mask pins (P4 pins 1, 3, ..., 15)
to actually enable use of the index mask, use a line in one of your hal files like: setp hm2_pci.0.encoder.00.index-mask 1
to use the opposite polarity for the mask, add another line for index-mask-invert
I don't use index mask myself, but I know cradek does at least on his HNC
After I do some more digging I'll probably have to pick cradek's brain. The Mori he retrofitted is the little brother to the Mori I'm looking at.
Does EMC support Mesa daughter cards like the 7I34 eight channel RS-485 interface?
voxadam: on JR, cradek uses spindle orient for tool change but not for rigid tapping. If you have a way to confirm that the spindle is oriented (handshake or timeout) it should be just fine if it's not RT.
voxadam: for rigid tapping, he uses an encoder only and doesn't use orient. The design of emc's single point threading and rigid tapping is to use the index pulse from the spindle encoder to detect the "zero degree" angle, but since rigid tapping is one pass only you don't even need multiple rigid taps to start at the same angle
Thanks... I figured that's what alex_joni was saying.
.. so because the only way he could manage to mount a spindle encoder was on the motor, not on the spindle, the index never lines up the same anyway
That's what I was thinking.
Retrofitting is so much fun. So many workarounds, so little time (and I/O).
actually he talked about hooking up one of the phases to the index input so that it would never even wait to start a tap
as for the 7i34 - you can use it to get differential signalling, but actually doing serial communication on it is not implemented in our driver or available in any of the firmwares we ship
so for instance it's not an option for communicating with a modbus device at 1Mbps serial or the like
What phy interface do people use for modbus?
PCI serial card?
I understand that classicladder has support for any linux serial device plus ethernet
so that would include on-board serial, PCI serial, USB serial
the library used by other HAL drivers (gs2_vfd at least) is also supposed to support ethernet
as well as any serial device known to Linux
SWPadnos: I think gs2_vfd is all
I thought there was another one someone had written
maybe so but I don't recall it
I'm looking to possibly push as much I/O that doesn't require bounded latencies off to modbus so that I can hopefully avoid using a 5I22 or a second 5I20.
I wonder if it was something I was working on (briefly) for the VFD on the Tormach or something
not quite modbus
if you happen to already have the modbus I/O I don't blame you for thinking that way
minor design point - the more stuff you stick on modbus, the higher the latency will be
It's good to know that I'm not crazy. :)
I wish I felt like the classicladder modbus implementation was solid .. dave911 has had negative experiences (but has a patch that we're working towards including in a future version)
and personally I don't have modbus hardware
I don't know if multiple devices are truly supported on a single serial port
I know they should be, but I don't know that it works correctly
(but cradek might like it -- he has some of those automationdirect vfds with modbus and I think it might give him accurate spindle speed control, in contrast to the 0-10V method)
Hmmm.... That's problematic.
something to check, I'm not pointing out a suspected bug, just a point to be sure of
If we do go that route I'm sure there will be plenty of checking... CL's modbus support is barely documented and rarely talked about.
Time to reboot. Every time I'm notified of an OS update that requires me to reboot it makes me seriously think about Linux on the desktop.
I just use Windows 2000 - no more pesky updates
Just recently upgraded from NT4 I assume.
no, never used NT on a real machine
3.51 or 4
(had OS2 Warp though, as well as NextStep and beOS)
still have warp3
I started out (personally anyway) with 4
My first experience was with CP/M on a Z80.
had 3 at work though
APPLE IIe, then TRS80
Apple (the Bell&Howell black ones), Atari, Exidy Sorcerer, some Coleco, TRS80, TI 99/4A, etc etc
not colecovision, some other color thing that wasn't a Radio Shack CoCo
12 butotn keypad + joystick on a coiled cord?
hmmm, maybe it wasn't a Coleco at all
it's been a number of years (decades), I may have forgotten
SWPadnos: You know you stil have it =)
nope, I think I only have the Atari
only the Atari 800XL and the TI were mine, the others were at school
had one of those
had or have?
and an NEC Turbo GraphX
had, I'm pretty sure
Bummer, I'd buy the Atari 2600 from ya
if I have it, I'll send it to you
I'm reasonably sure I don't, but you can dream ;)
LOL, that works.
jepler: about not being able to compile, I had the same problem after the linux-headers got reinstalled. I just installed my header packages again and was able to compile.
mozmck: makes sense to me -- the apt_preferences 'pin' will make it not be offered as an update
I assume now you get prompted to install the new one every time update manager pops up
jepler: I do here because I still have the standard kernel installed as well.
alex_joni suggested making the version number higher so it stays on the top of the list, and it would also keep the headers from being overwritten.
something like 2.6.32-99-rtai, or maybe I could add 100 to the ubuntu revision number so that if it's based on the ubuntu 2.6.32-22-generic mine would say 2.6.32-122-rtai
where are people staying at the fest?
Hampton Inn Ann Arbor North
for me anyway
I think some others are staying at the Microtel
mozmck: if we really want to be antisocial we could make it a whole epoch later
:) Do you not like the idea then?
in a version like 1:2.6.32... the 1: is often not shown but it is newer than anything from the earlier (unnamed) epoch
I am unhappy that the patched-kernel-specific headers go in the common headers package, that's the cause of this problem
but I am way too out of it to know if there's a packaging solution to put the headers where they need to go
so I don't have anything to offer but the current suggestion
epoch has the advantage of not showing a confusing version to the user
but that's about it
ah, I didn't know about the epoch. I presume you're calling the 1: that?
[02:22:37] <jepler> http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version
there are two headers packages, and I had assumed that anything changed when in the one labeled rtai, but apparently not.
which makes sense since some of the standard kernel headers are modified in the patch, and would be overwritten by the generic package.
from ubuntu there's linux-headers-2.6.32-22 and linux-headers-2.6.32-22-generic
I think that the modified headers went in linux-headers-2.6.32-22 but were then overwritten when ubuntu released a new version of it
I'm not sure that 2.6.32-122... is more confusing than 2.6.32-22...
yes, I think you're right there.
of course that assumes you can figure out how to specify an epoch to the kernel building stuff
I think modifying the debian revision would have the benefit of having completely separate packages for the rtai kernel.
and it wouldn't interfere with compiling stuff for the ubuntu kernels
I agree; since the linux-headers-2.6.32-22 (or -122) package won't work if replaced by one built by ubuntu, we need to make sure they have either package names that are distinct or package version numbers where ours wins
hm, does the -122 have to be a number? If not we could put -linuxcnc22 or something
I think that would work. I'll have to try it.
hm I think I got side tracked a bit, since linux-headers-2.6.32-22 is a package name; its version is something like 2.6.32-21.32. you started talking about selecting distinct package names and I got off on selecting higher version numbers
I know if I put ...-22_rtai the compile barfs in one place.
distinct package names is the better idea
_ may be a forbidden character in a package name
It doesn't work for the ubuntu build setup anyhow.
yeah, I was talking about the package name. The version is somewhat part of that I think.
SteveStallings is now known as steves_logging
EMC: 03jthornton 07v2.4_branch * ra8e9cb1989d8 10/docs/src/lathe/lathe-user.lyx: add info about arcs and update tool table info
today I was using mozmck rtai kernel to drive real machine, everything was ok but after 6~8 emc starts realtime doesn't unload and futher load emc wasn't possible
no trace on dmesg and this happened few minutes after I've unplugged ethernet cable
any ideas, clues?
micges, does it happen with the ethernet cable plugged in?
maybe, I didn't pay attention
it was few minutes before work end, so I'll debug it tomorrow, today I'm asking if someone noticed something simmilar
I haven't, but I haven't started and stopped emc that many times lately.
it was attempt to machine integration with 10.04, so many emc restart is needed
Yeah. I don't have an idea. I have a problem (and I think someone else did as well) getting emc to load the realtime at all on a computer with more that 2 cores. I can run the rtai kernel latency test once after booting but not again.
I haven't had time to try and debug that.
mozmck_work, using ISOLCPUS (or the equivalent)?
my is dual core, so can I try isolcpus ?
you can try. I think there was a recent discussion, and maybe a patch, about which CPU the RT tasks should be assigned to
I don't recall the outcome
is it an Intel? if so, and HyperThreading is on, it will look like 4 cores
in which case I think you'd want isolcpus=3
I think ht should be disabled for rt
you can probably disable hyperthreading (in the BIOS), it often doesn't help much
I don't think it's necessary, but it may be somewhat helpful
it probably depends on which CPU generation you have
whatever that means :)
LASER CARD READER!
fast ethernet, I'll bet
I think just 10-BaseT
maybe it's already twisted pair
No, not that bad
that was arcnet speed
1Base5 was 1Mbit
jepler: I got Excel to make the 48 combinations. As expected there are two that work properly in opposite directions, (15 and 44 in this case) and a few than rotate the motor badly.
andypugh: I also fiddled with a program to generate the tables -- but of course I don't have a motor to test it with. http://emergent.unpy.net/files/sandbox/mkphasetable.py
For comparison, done with Excel and a lot of auto-fill. (and converting to google docs has broken it, I think)
[20:10:39] <andypugh> https://spreadsheets.google.com/ccc?key=0AhjJW1-T6n7CdE9aQ043d2plalBUaXZ1aE90b1JsTUE&hl=en#gid=0
SWPadnos: I tried isolcpus but it didn't help.
ok, just curious
RTAPI used to use the highest numbered CPU for RT tasks, I don't know if that was changed recently
for your new machine, that would be #5 (so isolcpus=5)
jepler had a patch that would let rtai determine the cpu the realtime stuff ran on, but I didn't try that because the rtai tests themselves fail.
yeah, 5 is what I used.
RTAI already has support for choosing which CPU to use, I think RTAPI always used the highest numbered one
I might try vulcano or magma in case it's a bug in rtai 3.8.1
Yes, I believe it does. but the rtai kernel latency test at least used cpu 0
if I recall correctly...
sure, or "whichever one it was stuck on" :)
here we go, for a lightweight distro: http://tinycorelinux.com/
runs out of CPU cache, on modern CPUs :)
(or is small enough to do so anyway)
interesting! I've looked at fltk some. I like what I've seen so far.
A friend of mine has a compact linux distro, well, he did until Intel bought him :-)
I see that comp.g looks to handle a "modparam" tag. is it supported or a vestigial remnant of what became "personality"?
I have to wonder how many people have been fitted for straight jackets as a direct result of ladder logic. Maybe I'm just not used to it yet.
what's the problem voxadam ?
No real problem... I'm just reading about ladder. I don't have any previous experience with it.
in ladder the last output wins
btw, you don't _have_ to use ladder..
classicladder does more than just ladder
How do you avoid it?
but the alternatives are worse
no.. grafcet was the name I tried to recall
looks like this: http://upload.wikimedia.org/wikipedia/commons/3/3d/Secuencial_GRAFCET.PNG
I'm imagining the endless possibility of race conditions in ladder.
I guess it just takes experience.
also known as SFC = sequential function chart
[21:52:54] <alex_joni> http://en.wikipedia.org/wiki/Sequential_function_chart
I did some coding in SFC a while ago, and it's not fun
ladder is quite easy once you get it..
just read/write it left to right :D
voxadam: use do this - done with this - do next in ladder
voxadam: start with one line rungs
then move over to more complex things
I'm sure I'll get used to it.
does G76 work with the spindle turning backwards?
JT-Hardinge: I don't think so
oh crap I'm screwed now
I guess negative pitch, even if it works, doesn't give the tool enough runup?
JT-Hardinge: Just lie about the encoder scale for the length of the job, ie negate it. Then you should be OK with the tool at the back.
andypugh: I don't follow
I still have to run my spindle backwards on this part
If G76 doesn't work with the spindle running backwards, don't let the lathe know. negate the scale of the spindle encoder, put the tool at the back, run the spindle backwards and set up as for an internal thread.
G76 will think the spindle is running forwards.
You're quite the workaround artist...
andypugh: that didn't seem to change anything
was that suppose to make the spindle change directions ie M3 run backwards?
No, just meant to make G76 think that the spindle was running forwards when it was running backwards, so that it advances towards the chuck as the encoder count increases.
well it did do that for sure cause it is running some air threads atm
You would still need to run the spindle in reverse, but I doubt G76 looks at M3/M4
ok, I'll just have to run the threads in a separate program I guess
I am assuming that G76 expects to see an increasing count, that's all.
andypugh: thanks for the quick workaround
For a longer term one, you could perhaps set up a DIO pin that switches a factor in HAL to reverse the spindle encoder.
That might need two encoders, and the DIO would switch a MUX that links one or the other to *.spindle-position or whatever the pin is called.
better to fix EMC so G76 works on both front and back threading
there we go and have some 1 5/8-20 UN-2B Left Hand External Threads on the part
andypugh: thanks again you saved my ass
Glad it worked, it was pure speculation :)
Is there a master "todo" list for things that need to be fixed or implemented in EMC (like back threading using G76)?
There is something on the Wiki, yes.
* cradek blushes
that's an ooold bug - I forgot about it.
But I don't think left-hand threading is mentioned.
Has anyone ever entertained the idea of a bug tracker?
we have one
feature requests aren't bugs though :)
thee problem isn't LH, it's M4
Call it an "issue tracker" then.
I'm working on a list of enhancements though, I suppose I should merge it with the list(s) on the wiki
we have both actually, but people often don't categorize things correctly
for my version of correct, anyway :)
JT-Hardinge: I'll fix that in 2.4.2 fwiw
Am I right in thinking that there is no fixed phase relationship between software pwmgen instances? ie they all run independently and don't share a clock?
HAL threads are effectively a master clock
which doesn't exactly provide a fixed phase relationship
So two 50% PWMs will start in phase, and stay in phase?
I don't think there's any guarantee of that
No, I was assuming not.
they won't "beat", since they have the same master clock, but they may get out of sync by a base period
That reminds me.... what does HAL use as its clock source? The guy I'm working with is worried that some sort of archaic x86 hardware specific/dependent clock source is used.
voxadam, whatever is available, either the 1.19MHz clock, or a high resolution timer if that's available
HRTs are used if compiled though?
Other implementations I have seen use a count-up count-down clock and switch at a certain point, so a set of PWMs which share the clock but have different duty cycles will be in phase. The HAL one seems to work in a slightly more "ad-ho" way.
what at odd worry
if available, support is already included
that is a bit like being worried that the resistors are those old archaic carbon ones
I think he read some old emc1 related docs, posts.
I'm just trying to alleviate his worries.
tell him to check youtube?
He's not 100% comfortable with the idea of EMCMOT being implemented in software. He prefers hardware.
no cnc control is implemented in hardware
I understand that.
software - putting the first "C" in "CNC" since the '70s or so
and thank history for that
I think he's getting more comfortable with the idea. I spent some time explaining how RTAI/ADEOS works and that Linux is a preemtable thread.
out of curiosity, what alternatives does he think he has?
(to software control)
I've had this problem in the past... People seem to think that because it's implemented on a dedicated micro that it's "hardware based" when in fact it is in no way such.
I can understand someone wanting cranks instead of cnc, but to be scared if the x86 timer in particular is just weird
yeah, that's the thing
if you open up a Fanuc, Delta Tau, Heidenhein, whatever, you find a PC
often running Windows
dang phone kb
heh, was wondering what was up with cradek's typing today
you're not on the road already, are you?
SWPadnos: btw, our robots use winxp for the GUI part
For some reason having a little Galil "black box" is comforting to people.
mixed with some non-free RT for the planners though..
The idea of RT on an OTS x86 box scares the sh*t out of people.
well, you can spend as much as you want getting the hardware more reliable
that's not universal
(with asymptotic reliability/cost)
right - not that it gets much more reliable, but it can still cost about as much as you're willing to spend
RTAI is mature, SMI can be disabled and systems can be profiled. RTAI/Linux is the way of the future.
and the present
And, the future is now.
it sure gives us a flexible powerful system
I can't read any more about PLCs and ladder. Time for some BBQ and beer.
voxadam: I'll be over as soon as these last few parts are done
Can comp handle compound logic in the "if personality == " lines?
it can do things like if (personality & 0xF0) I think
ok, the first part took 3 weeks the second one tool 45 minutes or so
voxadam: I somehow doubt RTAI/Linux is the way of the distant future
SWPadnos: Yes, so either I choose my type codes to suit boolean logic, or I just have lots of doubled-up lines.
at least not the way current HW design is going
modern PCs are less and less suitable for realtime stuff.. too many gimicks inside
more likely an ARM or AVR32 or something
or a less potent processor..
look how great the Atom is working for RT
I wonder how much Intel is trying to make Atoms better for RT, vs. low power media processors
I seriously doubt they take RT in consideration when designing any new processor
that's probably true
not really an interesting share of the market
RT applications are probably less than 0.01% or so ;)
anyways, got a high priority task ready to preempt me
good night all
see you :)
is there a default "personality"?