OK, I dug a really deep hole this time. The new motherboard I bought has a network interface not recognized by Ubuntu. How bad is it going to be to set up later if I install without?
I doubt it'll be any trouble
don't you have any old card you can plug in?
Probably at the office. But I would still need to edit something later to change back.
if you install without network, all the apt repositories are disabled by default, but that's no problem
and if you add a card I think you can just set it up in the gui network configurator
I am already bug-eyed from dealing with a new Intel 965 chipset that does not have IDE, so extra chip on MB that 6.06 doesn't know, running with 6.10 and funny BIOS setup.
Next comes trying to get LILO to cope with dual boot when using Windows dynamic disks. Yes I am a masochist, why do you ask?
yuck. I guess I never buy the newest hardware so this stuff is sorted out by the time I get it
ubuntu uses grub...
My usual approach has been to get the latest reasonably affordable and keep it forever. My current home desktop is 8 years old.
I read that GRUB doesn't like dynamic disks, but LILO might.
I may give up and use VMWare hosted on Win2K with Ubuntu as guest.
steve_stallings is now known as steves_logging
looks like ray is back to sending email
seems that way
hmmm - maybe I should dive into that mesa stuff again
sounds very useful to have the thing reconfigurable
I'm not sure I follow the whole thing
people want what - to configure a certain number of quadrature inputs?
I think we have the "how do we get lots of info into the kernel" problem with this
or is it more than that?
well, the ideal situation is to have a parameter that tells the driver what configuration to expect, and have it reprogram the card if needed
you mean the insmod commandline problems that keep popping up?
I don't think we can do anything with "num_encoders=6 num_stepgens=4" or that level of reconfigurability
the data transfer problem
I guess I'm asking what the capabilities of the card are that you want to specify
I think "use this configuration" is plenty
most people won't have the tools or the ability to create a custom config
I have some background, and I still don't know enough to do it
is the required software free?
I think I have peter's 8-axis config, but haven't checked it in because I don't know how to be sure I compiled it correctly for the FPGA
yes - you can download the ISE tools from Xilinx, and they have a Linux version
hmm look at all that stuff in the m5i20 directory
I don't know enough VHDL to be able to inspect the code competently
I have done a very little bit of experimentation with using Altium to let me create custom configs, but haven't generated anything with it yet
(there's a feature to turn a VHDL file into a schematic symbol, which you can then wire up on an FPGA "schematic")
what all does the card do? quadrature decode, what else?
PWM output, quadrature, it has a timing source for interrupts if you want it, 48 additional I/O (some of which are extra PWM outputs or encoder inputs) ...
no step generation like ppmc?
no - that's what the snippet of email Ray was responding to mentioned
pwm out and quadrature in sounds like a great basis for a setup like my lathe
I have the VHDL source for the 8-axis config as well
and making equivalents to all the stepgen functions should be weasy, once I get enough base understanding to generate something in his framework
easy, not weasy
so the opposing H-bridge stuff, PWM, PDM, etc could all be available
I think the current config uses ~1/3 - 1/2 of the FPGA
sounds like a great card
it is, with a couple of caveats
the main one being that it has no isolation, and very little other protection
isolation doesn't come cheap does it
they have isolated I/O cards for $69 I think, maybe for 16 or 24 I/Os
which is a great price, actually
yeah sounds good
pci I hope?
it's amazingly inexpensive, actually - $199 in singles, and $149 in qty 5 (I think - maybe $159)
I bought it because it's amazingly cheap for FPGA development work
it's 1/4 the cost of most PCI FPGA cards
so this 8 axis config means 8 pwm generators, 8 quadrature decodes, and the rest generic IO?
I think it/s PWM+dir
what do we have now?
so 32 I/Os total for the 8 axes, leaving 40 for general use
4 axes with PWM+DIR, 4 encoders, 4 "secondary encoders", and 48 I/O, I think
32 inputs, 16 outputs I believe
sure would be nice to be able to pick those numbers
yeah, but the user would need the Xilinx tools
place + route is almost never done by a thiurd party - they use the vendor tools
oh - I forgot the 8 LEDs on the board :)
ah - the encoder interface has index inputs, and the PWM outputs have enable as well, so you only get 48 I/O if you don't use the secondary encoder inputs
but that's plenty for an entire mill and then some
also, it looks like there's some onboard functionality there for detecting index only while another input is activated, such as a home-with-index setup
for most, yep
Mr. Mazak being a possible exception :)
yeah then you need a few of them
I'd love to put lots of ladder on the card as well - that would be very cool
what's the make command to build more than one file in parallel?
does "time make -j" make sense?
sure, "make" won't exit until all the jobs it started have exited
you probably don't want -j, you want -jN where N is some number
the "point of diminishing returns" for -j is generally no more than 2 * number of cores
gettin gsluggish her e:)
a bit much :/
hmmm -j3 is a bit slower than without on my system
more task swapping = less compilation speed
right.. guess a SMP would help
it does ;)
* alex_joni learned today that HT sucks :)
not on this PC.. this is amd
my dual dual-core machine does a full make in ~20 seconds using -j (or -j 8)
(-j 8 ) ;)
should I say 2x dual core?
four cores and two sockets ago
I heard they're planing on quad and 8x cores
probably not for socket 940 though :(
Intel has already demonstrated (and possibly released) their first quad-core chip
that would be a nice design.. (if heat wasn't an issue)
that's teh nice thing about the Opterons - the package dissipation is the same, regardless of the number of cores they put on it
sounds like magic to me
jepler: the core is not the one wasting heat
it's all the rest around it :D
the dual 275 (dual cores @ 2.2 GHz) takes only ~6 W more than mu dual 244 setup did (single core, 1.8 GHz)
under load, it's about the same
[17:33:00] <SWPadnos> http://j-walk.com/other/wifispray/
I saw some wireless cable on ebay once
* alex_joni feels like http://www.rinkworks.com/stupid/cs_calls.shtml
I would not make it doing phone support.
"the cup holder is broken"
I once had a guy come in and say "I can't get into my computer - the C drive's all siezed up"
skunkworks: irc support is not easy either
I didn't understand a word of that conversation. You did better than I would have.
I had a neigbor fold his 5.25 disks to fit in the 3.5 slot.
I thought about telling him to spray it with WD-40 to loosen it :)
cradek: he's clueless about folders and paths :(
can't really help there
You guys do great.:)
that guy talks in riddles
haha "bean time"
what's that supposed to be?
I had that last night ;)
that might have been tmi
cvhili or coffee - I'm still trying to decide which
mariss said 'The fastest way to stop a step motor is to rapidly decelerate it. The second fastest way is to stop the step pulses to the drive. The third and far slowest way is to disable the drive, freewheeling the motor.'
so maybe that guy was right about a fast deaccelleration would be better than stopping the stepper cold.
the fastest way is to enable a mechanical brake
I suspect that decelerating would improve it even more (though at a much higher decel rate)
ie, decel + brake :)
SWPadnos: big brake -2g
I think we should fire a block of aluminum into the pully. :)
just like the saftey table saws ;)
skunkworks: like that wood saw
Micro-jam it, like Knight Rider used to do!
I miss the old shows like that -- mcgyver(sp) and the like.
* alex_joni grew up with that
yep - me also
a bit of duct-tape and we can build anything :D
have you seen the visa commersial with mcgyver in it recently - funny
gum wrappers, actually ;)
[20:05:53] <jepler> http://axis.unpy.net/01162843066
* jepler disappears
jepler: extensive changes?
doesn't build for me :(
alex_joni: oh I'm not surprised
you fixed up those paths?
yes.. it complains about linux/string.h
might have missed a path?
want to pastebin it?
which step -- 'make' or 'make -F Makefile_hal'?
2 lines .. I'll paste here
gcc -c arrays.c -o arrays_.o -Wall `pkg-config gtk+-2.0 --cflags` `pkg-config pango --cflags` `pkg-config gthread-2.0 --cflags` -DGTK_INTERFACE -DGTK2 -DSEQUENTIAL_SUPPORT -DDYNAMIC_PLCSIZE -DRT_SUPPORT -DHAL_SUPPORT -I/home/juve/emc2/include -g
arrays.c:31:26: error: linux/string.h: No such file or directory
wow that's bizarre
might be because of those pesky characters in the files?
do you need a -I/your/linux/dir ?
I mean, it's bizarre to include <signal> in one case and <linux/string.h> in another
I noticed that was a bit odd
adding -I/usr/src/linux-headers-2.6.15-magma/include to OWN_CFLAGS helped
I think the real slution is not to try to include <linux/string.h> except for realtime
anyways.. different issue now
the make -f Makefile_hal is not doing anything
hm, I wonder why not
try: make -f Makefile_hal modules
I see it tries to compile
but nothing comes out of it
or I'm completely blind
make -f Makefile_hal modules make -C /usr/src/linux-headers-2.6.15-magma SUBDIRS=`pwd` CC=gcc V=0 -o /Module.symvers modules
make: Entering directory `/usr/src/linux-headers-2.6.15-magma'
Building modules, stage 2.
make: Leaving directory `/usr/src/linux-headers-2.6.15-magma'
oh -- the kernel assumes the Makefile is called Makefile
you'll have to mv Makefile Makefile_userspace; mv Makefile_hal Makefile
then use 'make -F Makefile_userspace' for userspace, and 'make modules' for realtime
make: *** No rule to make target `/home/juve/emc2/src/hal/classicladder/classicladder_rt.c', needed by `/home/juve/emc2/src/hal/classicladder/classicladder_rt.o'. Stop.
if I make -d I see some weird errors about includign Makefile.modinc
[21:01:41] <alex_joni> http://pastebin.ca/242001
doesn't Makefile.modinc exist?
-rw-r--r-- 1 juve juve 2086 2006-11-06 18:39 /home/juve/emc2/src/Makefile.modinc
jepler: any idea what to check?
I see it gets included
else the modules rule wouldn't get found
alex_joni: no, I don't know
later I'll try on an rt machine myself
ok, never mind :/
jepler: I know.. there's no classicladder_rt.c
hum, does there have to be?
oh I see
the .o tries to expand to one
objs-classicladder_rt := module_hal.o classicladder.o calc.o vars_access.o arithm_eval.o hardware.o manager.o arrays.o symbols.o calc_sequential.o
this should be classicladder_rt-objs
is that the problem?
* alex_joni tries
it's further now
/home/juve/emc2/src/hal/classicladder/manager.c:23:19: error: stdio.h: No such file or directory
/home/juve/emc2/src/hal/classicladder/manager.c:24:20: error: string.h: No such file or directory
probably need to protect those includes with #if
why not just check this in on a branch?
irrational fear of branches?
hmm.. need to look up the branching foo
cradek: after you nag me to a few more times, I probably will
* alex_joni can probably add it too
jepler: would that be fine?
alex_joni: please dont, I've made changes in my copy here
now it's nearly compatible with the old one, seems to load the same .clp files
lol.. quote from cl/TODO.txt " (absolutely no idea for now, how to do all that with the current architecture)"
SWPadnos: slow reboot
err - I meabt that here :)
jepler: got it to compile cleanly
well.. with lots of warnings :D
but it generates some errors when I run it
I had to replace a lot of printf's with rtapi_print in arrays.c
on this end, I have it running demo_step_cl with the parport stuff removed
plan to commit it?
guess I'll see that tomorrow.. sleepy now :/
yeah I think I'll do the branch thing
if you plan that now, I can stay for a while and play with it on RT
can you quickly make me a diff for the things you changed?
that way I have your work as a starting point
I'll finish it up
got a diff command line?
man is slow
diff -ruN original new
where 'original' and 'new' are directories
I was close..
had them in reverse
[22:16:40] <alex_joni> http://dsplabs.cs.utt.ro/~juve/dropbox/cl_changes.diff
but even with those changes, it doesn't yet compile on realtime?
doesn't run though
oh, you get an error when you 'insmod'?
undefined symbol or something?
jepler: I renamed the Makefiles back to what they were initially
Starting program: /home/juve/emc2/src/hal/classicladder/classicladder
[Thread debugging using libthread_db enabled]
[New Thread -1218230592 (LWP 32664)]
Shared memory: 434c522b 5 360
RTAPI: Warning: shmem already mapped
Failed to alloc shared memory (434c522b 5 141452) !
ULAPI: WARNING: module 'HAL_classicladder' failed to delete shmem 02
I couldn't figure out how the original worked -- it maps with a fixed, small size (360 bytes in the example) even though it will access many more bytes (141452 in the exampe)
so in my version I mapped the beginning, find the correct size, and map again using that size
apparently it doesn't work on rtai
that's about all I have
jepler: is the code really terrible?
alex_joni: looks like the old "map once" approach works, though I don't understand why. I guess maybe the shared memory segment size is set at the first shmem_new() and it's ignored on subsequent ones...
I think I remember RTAPI doing that
basicly if I remember it right the same alloc gets called a few times, with a magic string
if there's no alloced mem, it gets alloced, if the string matches all is ok
// Attach SHMEM with proper size.
so try getting rid of the second group of lines with this comment at the top ^^^
down to InfosGene = (StrInfosGene*)(shmBase+2);
do I need to recompil ulapi?
or only the RT part?
the userspace part should be it
oh.. it runs
you should be able to load a .clp but the pin names match traditional emc
in the version you have
I ran the test
and it's updating and all
stopped it now, and editing is really a lot better than what we have in emc2/cl now
yeah, the test.hal
what are the other new features supposed to be?
some ladder parts
it still is buggy as hell :(
e.g. I tried entering edit
then loading a file without leaving edit
and it crashed on me
hmm.. no I think the load part is foobared
at least in the version I have
that's too bad
I thought I'd used it
Init tmp dir=/tmp/classicladder_tmp_fafosV
Load project 'projects_examples/example.clp' in tmp dir=/tmp/classicladder_tmp_fafosV
Loading datas from /tmp/classicladder_tmp_fafosV...
+ Stopped /home/juve/emc2/scripts/halrun test.hal
* alex_joni wonders why halrun returned
that happened when I hit the load button
SWPadnos_ is now known as SWPadnos
jepler: thanks for working on this..
I hope I can bang it all into shape
I worry that I'll modify it too much to make integrating future upstream changes too hard
because frankly the organization of classicladder is bad
it's not designed to be very modular