you guys dry out yet?
yep it's fine this morning
I'm just starting to get wet
the rain followed me
yah - the sun is trying to peak out
ok, so here's a really basic question that I'm pretty sure I know the answer to
if I have int a,b; float c;
and I assign a=c, then a should have the integer portion of c
if I then do c=c-a, then c now should have the fractional portion
and if I then assign b=(1e9*c), then b should have the number of billionths from c
(yes, this is meant to convert a float to seconds/nanoseconds)
sounds good to me
me too. sadly it seems to not be working
I'd be nervous trying that with negative numbers
or the subtractions aren't working
sure, the numbers should always be positive
what do you get instead?
though I may have used hal_u32s, come to think of it
well, the timeouts never happen
well, print a and b silly
and halmeter shows numbers which are too big to fit
yeah, doing that :)
I still haven't fired up that computer though, so it'll take me a sec to see if I did the stupid thing of if (some unsigned number < 0)
which seems likely, since halmeter was showing hex numbers in addition to decimal
EMC: 03jepler 07v2.4_branch * r8a00e9b8a867 10/tcl/bin/pickconfig.tcl: Don't present an option that doesn't work
EMC: 03jepler 07v2.4_branch * r3e89a25a2819 10/scripts/emcmkdesktop.in: Make icon appear
EMC: 03jepler 07v2.4_branch * r46ce3d2b908e 10/src/emc/usr_intf/axis/scripts/axis.py: Show a prompt when a user re-homes.
EMC: 03jepler 07v2.4_branch * r167ec44a7a9c 10/tcl/bin/pickconfig.tcl: make desktop files executable to placate lucid
ok good. I am stupid in the simple way (u32 vs s32)
but I'm recovering
ries_ is now known as ries
EMC: 03cradek 07master * r636a0528e657 10/src/emc/usr_intf/touchy/ (emc_interface.py touchy.glade touchy.py): show new status information in touchy
EMC: 03swpadnos 07master * r28729a6722a5 10/src/emc/iotask/ioControl.cc: Change HAL pin and param creation to use ...newf functions
EMC: 03swpadnos 07master * rf9020388ed2d 10/src/emc/motion/motion.c: Change HAL pin and param creation to use ...newf functions
well that was harder than it had to be
SWPadnos: what was the trouble?
oh, I wanted to make my changes come after all the stuff that was added to master
that's exactly what jmk and I are working on now
except you don't get the benefit of my rambling explanations of git
so I did a series of things that made no sense, and then copied the changed files out of my tree, did a git reset origin/master, and re-did the commits
that's one way to do it!
I decided on "whatever (I think) works" :)
What's a NEWF?
it's like a newt
EMC: 03jmkasunich 07master * r65c35fd53383 10/src/hal/components/ (16 files): clean up usage of HAL_NAME_LEN
EMC: 03jmkasunich 07master * rec5f871b2cf3 10/src/hal/drivers/ (24 files in 2 dirs): clean up usage of HAL_NAME_LEN
EMC: 03jmkasunich 07master * r203f8efa8813 10/src/emc/usr_intf/halui.cc: clean up usage of HAL_NAME_LEN
EMC: 03jmkasunich 07master * ra6e1f17de7a0 10/src/hal/ (8 files in 2 dirs): clean up usage of HAL_NAME_LEN
someone who lives in newfoundland
it's a type of dog
I thought that was newfie
newf is a truncated newfie (tail cut off)
to answer the question though, there are functions that can create pin names with a formatted string (like printf), rather than with a constant string
using those eliminates snprintf calls and in some cases local char array variables
and also gets rid of possible buffer length issues
style question: the watchdog component now seems to work (now that I'm using signed variables), but I have named the inputs/timeouts watchdog.input-n and watchdog.timeout-n, rather than watchdog.n.input and watchdog.n.timeout
I did this because it
I did this because it's a single instance with multiple inputs
that's how I'd interpret such names
and there's only one processing function
ok, so no preference for the other way then?
for example, we have and2.<n>.in-<m>, where n is instance and m is pin num within the instance
if there can only ever be one instance, then n seems redundant
ok, I'll commit as is
someone should test on RT please
and having it there (as zero) might falsely imply that you can have more than one instance
question - _can_ you have more than one instance?
actually, I didn't prevent it, but since it will always use the same HAL component name, it shouldn't be able to be loaded twice
the existing "charge_pump" component never has multiple instances and omits the number
or was that a question of "why not?"
well, if you intend there to be only one, comp can prevent that with "singleton"
it's a C component
since it has (but may not need) a variable number of inputs
well, the array could be fixed size, it would still have a variable number of inputs
ok, does it have an argument that specifies the number of instances?
(like "count" for comp components)
if not, then it is a singleton, and the instance number can be omitted
not instances, but inputs yes - "count=n"
it has a user-specified number of inputs
I can rename that to "inputs" or something
I think 'count' should be reserved to indicate number of instances
(I was noticing that with stepgen and others - it should be count= instead of num_stepgens ...)
yeah, they predate the convention, so changing them would annoy people, but they should be changed
I think I noticed it with siggen actually, since I used that to make a test HAL setup for the watchdog
ok, I changed it to num_inputs
yeah, actually I think stepgen does not have that issue - there can be only one instance (only one set of update/makepulses/capture functions), although that instance can produce multiple sets of outputs
no nuns here
besides, they have no inputs ;)
damn. I should write a man page
I think I agree with what jmk-lucidvm says
I hate groff/nroff/troff/buggeroff or whatever it is
at least as he told it to me verbally; I'm too tired to read the screens
I'm too far away to hear it
I said we want to follow the comp convention - count = number of instances, singletons have no count argument, and if a singleton has variable number of inputs, outputs, etc, then we use something like num_inputs
the watchdog is similar to stepgen in that regard, since it only has one "set-timeouts" function, and one "process" function for all inputs
is the only load-time argument the number of inputs?
the timeouts are float parameters
stepgen deals with something like that using array parameters
step_type="0,0,1" means three stegens, with those three types
you could do "timeout=100,1000,50,100000" to say "four inputs, with those timeouts"
that avoids the problem of someone saying num_inputs=3 and then providing 2 or 4 timeout values
yeah, I had thought about doing it with load-time "fixed" values
they can't, they're params
oh, duh, I misread your response
I missed the "yep", thought you meant that the timeouts were load time parameters
but you really meant they are hal params - my mistake
it's more "watchdog-ish" to specify them once and have them fixed for all eternity thereafter
(per run anyway)
but I don't have a very strong opinion there - do what you feel is right
there are pathological ways of tricking array parameters into not working right (which serves them right, but still)
step_type="0,1,-1,-1,2", for example
(won't work there since there's a num_stepgens as well)
that's actually a slightly valid thing to do even - say you remove one thing you were watchdogging, number 2 of 6. you could disable #2 only, and only have to remove the hal references to #2, without having to shift all the others down by 1
(but I'm not doing that, so no cause for alarm)
EMC: 03cradek 07master * r2ec0a074070d 10/src/emc/kinematics/maxkins.c: remove incorrect comment
EMC: 03seb 07master * r47de58f1a1dc 10/src/hal/drivers/mesa-hostmot2/pins.c: remove an old obsolete pin number
EMC: 03seb 07master * r636de57b3e8b 10/src/hal/drivers/mesa-hostmot2/doc/ (README.regmap regmap): remove the regmap, point to the one in the firmware repo
EMC: 03seb 07master * r427c459381e3 10/src/hal/drivers/mesa-hostmot2/pins.c: fix the PD Secondary Pin mask
EMC: 03jmkasunich 07master * rd054e9e34d8c 10/src/emc/motion/motion.c: HAL_NAME_LEN fixes
so, just to be sure I'm not forgetting anything, I can add a watchdog.9 file to docs/man/man9 without having to change a makefile, but I need to change makefile and makefile.inc.in to get watchdog to build, and I've just realized that I also need to change a debian file or two to add these to the packages
is there anything else?
for consideration: http://www.panix.com/~dgarrett/stuff/0001-halshow-add-menu-options-for-load-save-exit.patch
oh. it looks like some things are automagically added to the debs
EMC: 03swpadnos 07master * rd99ce7617c72 10/ (4 files in 3 dirs): New HAL component: watchdog
If my kins code runs OK in SIM, but not in Live, can I start to consider the possibility that the problem is outside my module, or does an error somewhere in that code still seem the most likely thing?
considering that other kins modules don't seem to exhibit this problem, I think the likely culprit is your code
what goes wrong when running it in realtime?
NaNs and stuff
I send zeros, but NaNs come back. If I leave one line in then one of the stepgens wanders a fraction every time the forward kins function runs, despite the fact that it is a completely unrelated axis that it refers to, another line always returns atan2(0,1) as 0.7815 and the pin that I increment by 1 every call actually increments in 1/sqrt(2)s.
I just tried booting into a non-SMP kernel and recompiling EMC, but it won't run, specifying that it requires kernel version 184.108.40.206-RTAI (which is odd, because that isn't even in the menu.lst, they are all variants on the theme of 2.6.24-16 and it ran perfecly happily for the last year or so)
is this in a VM?
No, this is my actual, live, computer that runs my machines.
Effectively all I have done since last night when I must have recompiled and run EMC dozens of times is change the boot kernel and reboot.
so there's no 2.6.29.* kernel on the machine, and yet the emc you compile wants that version?
are you absolutely sure that you are running the version you just compiled?
please make sure of that. there is no way I can think of for a version you compile to require a RT kernel you don't have
Actually, I might be wrong. It occurs to me that the entry in menu.lst called "My SMP Kernel" might be 2.6.29
I can believe that
and that it's that installed version which is being run
I did . ./emc-environment in the sorce tree I just compiled though.
Where does the non-RIP version live? Just so I can see if it is stil there.
First things first, I will reboot into the previously selected kernel
Which is called 2.6.24-16-rtaismp.... There really is no 2.6.29 kernel on this machine
WHen the 10.04 liveCD comes out I am going to wipe this computer back to scratch.
It really does seem like the only EMC2 on this machine is the one I just compiled.
find / -name emc
I have the dev tree I know about, and a set of directories in ~/rtai/emc2-2.3.4/src/emc
Right! that's it! I am going to shoot this computer.
menu.lst back to how it was, recompile the exact same source as yesterday, "EMC2 requires the real-time kernel 220.127.116.11-RTAI to run....
make clean ; ./configure --enable-run-in-place --with-realtime=<wherever the real realtime is>
there may even be a kernel version --with-whatever option
but you really shouldn't need it
It does look like it might be a spuriously exact error message which actually means "I can't find RTAI"
is this a 9.04 install?
I don't think so
It seems to be 8,04
there are no files on linuxcnc.org with that number in them, and no references to that number in the source
I'm pretty sure it's a local issue
Sorry to be a pain in the neck, but when you say "wherever the real realtime is" am I looking for a specific file or directory?
actually, just leave that out and look at where configure finds it
it'll be in the log
hmmm. I need to fix a computer or two now, sorry I can't (try to) help any more
what's in /usr/src?
just because it's not in the menu doesn't mean it doesn't exist :)
usr/src has a rtai-3.7.1
and several linux***18.104.22.168 debs
It appears that grub has ignored my edit to menu.lst
probably need to press a magic key at reboot
how are the emc festers today? survived the tornado?
we had a tornado siren blast in our faces last night, then a rain storm, now it's clear and sunny
most of the guys are out to lunch
getting lots of good stuff done here & having fun! :-)
bummer that I missed you
SWPadnos: I miss you too <sniff><sniff?
I'm so lovable
love and hate are a very fine line
then there's always love to hate you
and of course hate to love you
is something going on on joints_axes3 on emc fest?
too bad ;)
EMC: 03cradek 07master * r59b20d5219d3 10/src/emc/usr_intf/touchy/ (emc_interface.py touchy.glade touchy.py): touchy: show the number of lines of the loaded program
EMC: 03cradek 07master * rd4db08e89536 10/src/emc/usr_intf/touchy/emc_interface.py: touchy: make some numbers more readable
jepler: is len([long array]) expensive enough to bother to cache/avoid it?
hi mozmck - wish you wer ehere
or, were here
hmm the error window does not pop up in 2.5 when you have something that prevents EMC from loading like a typo in your .hal file
JT-Hardinge: it works for me. remember that you do not get the pop up when you are running in a terminal.
EMC: 03seb 07master * r721715f8eda5 10/src/hal/drivers/mesa-hostmot2/stepgen.c: fix a bug in stepgen mode setting
I'm not running in terminal, I'm running a RIP with a desktop icon
EMC: 03seb 07v2.4_branch * r551940c2f7c7 10/src/hal/drivers/mesa-hostmot2/stepgen.c: fix a bug in stepgen mode setting
hey cradek! me too.
I built an iso, but it's a little large. I think all I removed was gnome-games. I need to look and see what else I can get rid of.
mozmck your 10.04 is running fine on my Zotac motherboard!
great! it sounds like it's working pretty well for most people doesn't it?
mozmck: Is this a 10.04 ISO? I am desperate to try a competently built installation to see if my kinematics oddness goes away
have you tried using my 10.04 packages? I wouldn't think an iso would be any different...
the last time I installed it I upgraded 10.04 first and it complained on one that newer things were all ready installed
the funny thing is I didn't have to pick the rtai kernel on boot up it was just there
mozmck: did you evber resolve the problem on your 6-core machine of the emc2 realtime code seemingly not even running?
Talking of that, I still have Stepgen.0 drifting as soon as I turn on motion (effectively as soon as the forwardkins starts to be run). It really shouldn't, as I have disconnected the stepgen.0.position-cmd pin in hal.
jepler, no that is one thing I haven't gotten back to again.
not enough round tuits I suppose
not around here for sure!
fresh build on master
emc/task/emccanon.cc:1179: warning: ‘double chord_deviation(double, double, double, double, double, double, int, double&, double&)’ defined but not used
emc/rs274ngc/gcodemodule.cc:157: warning: ‘double TO_PROG_LEN(double)’ defined but not used
SWEET! the DRO page gives you a status update on the coordinate systems no more excuses for smashing pumpkins into the spindle
If the DRO tab just had the tool information and if a tool offset was in effect that would be wonderful
just remembering things that caused me to tighten up and reach for the BRB or crash my tool into the spindle :)
You could call it the Status tab now :)
* JT-Hardinge wanders inside to start the pizza