#emc-devel | Logs for 2009-08-31

[06:55:08] <micges_work> good morning
[08:02:54] <micges_work> hi alex_joni
[08:16:26] <alex_joni> hi
[10:01:26] <CIA-8> EMC: 03micges 07joints_axes3 * rc8c92e2eb771 10/src/emc/ (ini/inijoint.cc nml_intf/emc.hh task/taskintf.cc): Change function name to set joint type for clarity
[10:08:39] <alex_joni> micges_work: since you're in the area
[10:08:47] <alex_joni> what does jointSetType do?
[10:20:25] <alex_joni> n/m .. saw it myself
[10:36:00] <micges_work> alex_joni: I'm working (locally) to allow set joint type to velocity mode (no soft limit, no ferror and such), quite easy
[10:49:55] <alex_joni> ah, interesting
[11:33:47] <micges_work> alex_joni: yay it's working
[12:25:02] <jepler> good morning
[12:25:15] <micges_work> morning
[12:28:27] <mshaver> gooood morning!!!!! (said with greater enthusiasm than I actually feel)
[12:29:48] <jepler> same here
[12:39:26] <alex_joni> heh
[12:39:34] <alex_joni> what's not to like about monday morning?
[12:46:54] <jepler> because it forced me to come home from my short vacation this past weekend
[13:00:45] <micges_work> in many hal components there are mixed float/double variables in computing, maybe after converting hal_float_t to double we can change all float declaration to double?
[13:02:28] <jepler> yes. without a specific reason to do otherwise, all temporaries should be declared as doubles
[13:06:11] <micges_work> ok
[13:07:34] <CIA-8> EMC: 03jepler 07master * r86759e826ca7 10/src/hal/components/joyhandle.comp: remove parts of documentation that correspond to autogenerated documentation
[15:47:15] <jepler> does anybody know what "source" files the nml-related code was once generated from?
[15:47:22] <jepler> by the semimythical java program
[15:53:10] <cradek> I think I remember from long ago that the emc1 makefiles would attempt to do this process
[15:53:17] <cradek> in some situations?
[15:55:17] <jepler> ./src/java/jftp/FileBrowserInterface.class
[15:55:24] <jepler> huh, there's a java ftp implementation in emc1
[15:55:29] <jepler> I wonder what that was fore!
[15:55:43] <cradek> buh?
[15:55:52] <jepler> s/fore/for/
[15:58:45] <jepler> the makefiles refer to an NML_CODEGEN and have some .gen input files, but I don't see the source to the code generator
[15:59:11] <jepler> emc.cc: emc.hh $(DEVP_INCLUDE_DIR)/canon.hh emc.gen
[15:59:11] <jepler> -@chmod u+w $@
[15:59:11] <jepler> -$(NML_CODEGEN) script=emc.gen display_on=false update_with_name=false;
[15:59:43] <cradek> what is $(NML_CODEGEN)?
[15:59:55] <jepler> it's never given a value
[16:00:02] <cradek> huh
[16:00:03] <jepler> maybe it's in rcslib
[16:03:51] <jepler> cvs rlog: Logging rcslib/src/java/diagapplet/CodeGen
[16:03:53] <jepler> aha, must be
[16:08:24] <jepler> git cvsimport goes slow over the internet
[18:01:18] <alex_joni> jepler: the codegen thingie was iirc driven by a point&click interface
[18:02:29] <alex_joni> emc.gen was probably an intermediate result
[18:14:42] <jepler> twimc: I put a git import of the old emc1 rcslib online: http://git.unpy.net/view?p=rcslib.git;a=summary
[18:45:32] <CIA-8> EMC: 03micges 07master * rbfe1e0d6753b 10/src/hal/components/ (abs.comp counter.c freqgen.c joyhandle.comp sim_encoder.c): Change local float variables to double
[18:48:54] <jepler> micges: I glanced over that change. it looks good.
[18:48:58] <jepler> thank you
[18:58:13] <micges> np
[19:07:35] <micges> jepler: Can I add component to make conversion float->(8)bit and vice versa?
[19:15:20] <alex_joni> why shouldn't you?
[19:15:43] <cradek> why 8 bit? 8 bit is not a hal type
[19:16:07] <micges> so maybe 32
[19:16:25] <cradek> conv_float_s32 - Convert a value from float to s32
[19:16:44] <cradek> conv_s32_float - Convert a value from s32 to float
[19:17:09] <cradek> alex_joni: because it's already done!
[19:17:12] <micges> I mean float to bitmap
[19:17:21] <cradek> ??
[19:17:31] <micges> 1xfloat in => 32xbit out
[19:17:32] <jepler> what's the use case?
[19:18:03] <jepler> if the number is big like 1e100 or small like 1e-100 what does it even mean?
[19:18:27] <micges> so u32 instead of float
[19:18:43] <jepler> something that is "the inverse of" wsum (which happens to operate on s32) would make sense to me
[19:18:58] <jepler> at least the relationship between the value and the bit outputs is crystal clear
[19:19:03] <micges> use case is to drive external welder that has 7 bits input
[19:19:25] <micges> and many more
[19:19:49] <cradek> did you know classicladder already has div/mod and bit math?
[19:20:13] <cradek> a lot of kinds of math are hard in hal but easy in classicladder
[19:20:46] <micges> it has also sum but we have sum2.comp
[19:21:27] <cradek> The math symbols are +,-,*,/,=,<,>,<=,>=,(,),^ (exponent),% (modulus),& (and),| (or),! (not).
[19:21:46] <cradek> from http://wiki.linuxcnc.org/cgi-bin/emcinfo.pl?ClassicLadder
[19:23:01] <cradek> yeah I'm not saying there should be no duplication, I'm saying CL is an easy way to accomplish this without writing new components
[19:28:30] <cradek> although, in my personal thoughts, I think we should have "all" or "no" math type components in hal... I recently wrote "which way should the carousel turn to get to pocket N faster" which would have been very tedious to do by stringing together hal components (if we even had a div/mod type component, which I don't think we do)
[19:30:05] <cradek> I don't want to dictate my way - it's just my opinion that building up math operations isn't a strength of the hal language
[19:32:12] <cradek> you end up with a bunch of things like lut5/mag3/match8/mux2/mux4/mux8/mult2/sum2 that are not really general purpose blocks
[19:32:33] <jepler> lut5 is among the components I regret putting in
[19:32:40] <jepler> I doubt anyone's ever used it
[19:33:06] <cradek> it's sure clever
[19:33:08] <micges> so maybe cleanup ?
[19:33:11] <jepler> oh yeah, it's loads of clever
[19:34:27] <jepler> if lut5 works, and we have no way of knowing for sure that nobody's using it, there's no upside to removing it
[19:34:36] <jepler> but today I wouldn't add it
[19:35:10] <cradek> constant is quite the historical artifact
[19:35:33] <jepler> the number of people who need to drive 7-bit DACs directly from hal is probably just one or two larger than people who need arbitrary logic functions on 5 inputs..
[19:36:26] <cradek> I guess my opinion is that micges's proposed new component is probably not something widely needed, so maybe it'd be better on the contributed component wiki page or similar
[19:36:37] <jepler> another reason that we used to put in new components with a very low bar to admission (say, weighted_sum) is that we didn't have 'comp --install'
[19:36:50] <jepler> you had to put it in the one Makefile and rebuild all of emc from scratch
[19:37:30] <cradek> yeah wsum is another thing very easy to do in CL
[19:37:39] <cradek> (also many of these predate CL's integration)
[19:37:49] <jepler> I think this one predates integer math in cl
[19:38:08] <jepler> the mazak had ladder at that time, but the carousel math apparently couldn't be done without great pain
[19:38:24] <jepler> swp tried to make it generalized (since it would be installed for everyone) but that was probably wasted effort
[19:38:44] <jepler> mazak did have some odd non-binary weight, though
[19:39:11] <jepler> 1 2 4 8 13
[19:40:45] <jepler> (another thing we can do now that we couldn't then is maintain our private branches forever, with our own components of particular use to us)
[19:41:54] <cradek> fwiw I'm using wsum on my lathe turret, iirc
[19:42:16] <jepler> so it's still "better than" cl for that specific task?
[19:45:59] <cradek> I would have just used ladder today...
[19:58:57] <micges> no problem, that was only sugestion
[19:59:38] <micges> I can add one more TODO to the list ;)
[20:00:03] <micges> (list is already A4 ;D )
[20:58:36] <cradek> well, I'm off to examine my balls
[20:59:30] <jepler> in metric or in inches?
[20:59:39] <cradek> they are .2500 inch
[20:59:47] <cradek> well the big ones are
[21:00:01] <jepler> you mean 6.3500mm?
[21:00:28] <cradek> surely no more than 6.350
[21:00:53] <cradek> I only have inch gage blocks...
[21:02:37] <jepler> ok, agreed on 6.350
[21:13:12] <CIA-8> EMC: 03mshaver 07master * r563f998f4fad 10/configs/smithy/ (9 files): Update eztrol shared library version, remove unneeded ini file parameters, and improve uniformity of comments and parameters where possible for different machine types.
[22:03:15] <jepler> wait a minute, the smithy sample config doesn't work without software that's not shipped with emc2?
[22:03:23] <jepler> that's not very sensible to put in the emc2 source tree, then
[22:04:37] <jepler> oh, I see eztrol is commented out: #DISPLAY = eztrol
[22:05:27] <jepler> this is clearly wrong for a sample config, though: PROGRAM_PREFIX = /home/smithy/emc2/nc_files/
[22:06:00] <jepler> it should always be this, corrected by pickconfig when copying: PROGRAM_PREFIX = ../../nc_files/