Problem compiling the java code

Home Forum Makelangelo Polargraph Art Robot Problem compiling the java code

  • This topic is empty.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #5933
    AvatarJim Williams
    Participant

    Hi Dan,

    Thanks very much for making your cool Makelangelo open source!

    I’m making a similar plotter running your java control app and a modified version of your Arduino code. We had fun demoing it at a local Mini Maker Faire last week.

    I’ve found a couple of issues with the java app, and would like to fix them, but I’m having problems compiling even your unmodified original source. No surprise, it’s with RXTX. Here’s the error I get trying to run with jdk1.0.7_21 under Eclipse Helios:

    java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
    Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    etc...

    I’ve played with the build path every way I can think of, and even put the .dlls in jre/bin and RXTXcomm.jar in jre/lib/ext. Can you offer any suggestions? I’ll be glad to submit my changes back to you.

    The issues/changes I have are:

    1) The bobbin config issue that Masterharper posted under “Software help”. (I agree with your observations on that.)

    2) The Set Speed button in the gui doesn’t seem to change the speed. Might be a misplaced }else{ that keeps 4 SendLineToRobot() calls from being executed.

    3) Depending on the actual values entered for Machine height and Machine width, some unpleasant way-too-many-digits float behavior in java can cause the CONFIG line to be longer than the 64 byte serial input buffer in the Arduino, causing data to be lost and possibly other corruption due to the buffer overflow. (Took me a while to find that.)

    4) Since my hardware is different, I’d like to add a couple of buttons to power off the servos, etc.

    And since I’m not using the Adafruit shield, I’ve hacked the Arduino code to use the standard Stepper lib. Like 4) above, that’s obviously not relevant to a code package for your product. But if you’d be interested in #ifdef’ing it in, I’ll be glad to provide the changes.

    Thanks again for your work!

    Jim

    #6409
    AvatarAnonymous
    Inactive

    Hi Jim,

    This all sounds exciting. Which machine is yours? Plotterbot?

    I’ve got some on tuesday booked to go over the makelangelo code and finally merge a few pull requests that have come in. one fixes a race condition and the other is about the pen up/down angle. Can you tell me any more about these bugs, like the }else{ in the wrong place?

    Thanks!

    #6410
    AvatarJim Williams
    Participant

    Mine doesn’t really have a name – I’ve just been referring to it as a drawbot. I haven’t written it up yet, but here’s a picture from the Maker Faire. Can’t see much except the extended top pulleys to get a larger plot area. The Arduino and a 12V SLA I’m using to drive some too-wimpy 48-step steppers steppers”>http://www.sciplus.com/p/48STEP-MOTOR_49728>steppers from American Science and Surplus are about all you can see at the bottom. (The steppers are at the outside ends of the bottom stick, about behind the butt of the guy in red.)

    For setFeedRate: Looks like the SendLineToRobot() lines below from DrawbotGUI.java won’t get executed.

    } else if(b==setFeedRate) {
    feed_rate = Double.parseDouble(feedRate.getText());
    if(feed_rate<1) feed_rate=1;
    if(feed_rate>2000) feed_rate=20000;
    feedRate.setText(Double.toString(feed_rate));
    } else {
    SendLineToRobot("G91");
    SendLineToRobot("G00 G21 F"+feed_rate+" "+b.getText());
    SendLineToRobot("G90");
    SendLineToRobot("M114");
    }

    Also, if I configure with machine width 1221, height 1351, paper width 210, height 280, I get this config stream:

    CONFIG T67.55000305175781 B-67.55000305175781 L-61.04999923706055 R61.04999923706055 I-1 J1;
    TELEPORT X0 Y0 Z0;
    L=67.55,-61.05 R=67.55,0.00 Bottom=-67.55 Feed rate=f1
    =ovfmm/min> >
    M114;
    X0.00 Y0.00 Z170.00 Ff1=ovfmm/min >

    That first line is too big for the 64 byte input buffer in the Arduino to deal with. I kicked the buffer up to 100 bytes and it seems to work, but I haven’t looked at memory usage to see if there’s actually room for that. If you could somehow round or truncate the values, it would help.

    Can you offer any hints on getting it to compile without RXTX problems?

    Thanks!

    #6408
    AvatarAnonymous
    Inactive

    you’re right about the feed rate, I moved it.

    You’re also right about the rounding. I put in a fix to make sure it’s no more than two decimal places on each number. I’ll be testing it later today and if it works then it will go into an update on Tuesday.

    Thank you so much!

    I don’t have any idea about RXTX 🙁

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.