Lookup Table Generator GUI

I had some spare time yesterday (gasp!) and decided to whip up a GUI for lookup table generation. (We seem to be making a lot of those.) Manually editing and compiling the Java app I had whipped up earlier in the season was getting annoying, so I decided to make an end to that. :smiley:

A screenshot is attached (running under Linux). Note that this program is a little abnormal to install, since it requires either Mono or the .NET Framework v1.1. If using the .NET Framework (which I would reccomend under Windows), the Gtk# libraries. (Sorry folks, but I didn’t have time to install VS.NET, and there was no way I was laying the thing out by hand. Plus I’m a Linux geek. 8)) So here’s the instructions for getting the respective libraries:

To run under Windows:
.NET Framework v1.1 and Gtk# runtime are required. The .NET framework is
available here:
http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en
Gtk# runtime can be obtained here:
http://forge.novell.com/modules/xfmod/project/?gtks-inst4win
(Only the runtime is required, but if you have the .NET SDK installed I would
reccomend going for the Gtk# SDK as well.)
Alternatively you can go for Mono, just like under Linux. (See below for
details). However, I would stick to the .NET Framework, since it supports more
applications.

To run under Linux:
Install Mono and all of it’s dependancies. Mono SHOULD be in your distribution’s
repositories, but if it is not it can be obtained here:
http://www.mono-project.com/Downloads

And now the program:
Binary (zip):
http://www.hoojamomma.com/robotics/lut_gen/LUT_Gen-0.1-bin.zip
Binary (tarball):
http://www.hoojamomma.com/robotics/lut_gen/LUT_Gen-0.1-bin.tar.gz
Source (tarball):
http://www.hoojamomma.com/robotics/lut_gen/LUT_Gen-0.1.tar.gz
Also note that the binary zip and a screenshot are attached to this post.

See the README file for more details. Please try it out and tell me how you like it! (Yeah, I know, a little late in the build season for this, right? But maybe it’ll help you with some last-minute changes. Those always seem to come up.)

-Rajeev Sharma


LUT_Gen-0.1-bin.zip (15.1 KB)



LUT_Gen-0.1-bin.zip (15.1 KB)

I don’t really get it. A GUI for lookup tables? That shows graphs?

Confused,
Paul Dennis

No, no graphs. Let’s say that you want a lookup table for tangent (just like in the screenshot I attached). You want input values of 0-255 in increments of 1, with 0 being itself and 255 being 2pi. (This program uses radians, btw.) So your function would be:
f(x) = tan((x/255) * (2pi))
So you enter that function, click generate, and bam, there’s your lookup table.
Or, just to illustrate my point, you could do this:
f(x) = x
And it would generate a lookup table of {0, 1, 2, 3, 4, … 0xFE, 0xFF}.

Sorry if I’ve been unclear, or I’m writing this too fast… I can try to explain it again if you don’t understand, or you might want to download the program and play around with it a little.

Thanks, this is going to save me a lot of time.

Beautiful. Thank you so much, R4v3! Be my valentine!

Basically, if I may elaborate, it takes a math function of any sort, and generates the applicable, integer values, in hexadecimal, into a lookup table of your choice. Eliminates syntax errors and you having to type in 5000 values by hand… Looks good! (Wishing I had this two weeks ago…)

Hmmm… this is cool.

Wouldn’t it be neat if someone wrote a program to generate a lookup table based on a drawn graph? You could just sketch the curve, tell it how precise to be, how many entries the table should have, what the range of values should be, etc. and it would generate it. Espescially nice because you could visually tweak something. If you really want to go the extra mile, add the ability to start with a mathematical function and then drag points around.

I may just do this in the offseason…