Saturday 12 April 2014

I made a new change to the Spherebot GUI. Now it is not necessary to have separate files for each layer any longer.The program recognizes the layer changes on its own.

Happy Easter! ;)

15 comments:

  1. Where can download new version pls?

    ReplyDelete
  2. I have updated the code on github

    ReplyDelete
  3. https://github.com/thunderbug1/Spherebot-Host-GUI

    ReplyDelete
  4. Hi. I'm trying to run an arduino uno 2 with a adafruit motor shield. Could you please help me which pins I should change and in which particular file? I can look up the adafruit pinout, I'm just not sure which file I should change them at. I can run the spherebot_ui.exe from the bin folder. The inkscape works fine too. You've put a lot of work into this, thank you again.

    ReplyDelete
  5. You will have to edit the confi.h file and adjust the pin definitions to your needs.

    ReplyDelete
  6. Alex. thanks for the update. I've spent almost two nights, but made only a little progress. I took your config.h file and changed the #define SERVO_PIN from 13 to 10 (9 is optional). if you look up the https://learn.adafruit.com/system/assets/assets/000/009/536/original/adafruit_products_mshieldv2schem.png?1396892649 you can see that within the arduino D10 and D9 are connected to servo 1 and servo 2. So if I do the change your GUI will be able to move my servo. I can also import stuff from inkscape and run it on the gui. it works as a charm. exept my steppers do not move. in your config.h you've got the YAXIS_DIR_PIN - YAXIS_STEP_PIN AND YAXIS_ENABLE_PIN assigned to specific pins. I know I need to change those pins (only?) ... (for Xaxis too) and my servos will run, I just can't figure out what the right numbers are. I've looked into the adafruit_motorshiled.cpp but I could not find the pin sequence, because the file is structured in a completely different way. Could you please give me any suggestion on the pin assignments. you can also email me dibloff at yahoo dot com. thank you.

    ReplyDelete
    Replies
    1. Your problem is, that you are trying to use different motor driver than the software is intended for. It is theoretically possible to use your hardware but as far as I see it would require substantial modifikation of the firmware to handle your hardware. The stepper driver that I'm using handle the waveform-generation for the motor on their own. The tb6612fng (yours) can't do that. I would recommend you to get two of these http://www.pololu.com/product/1182 and you are fine. ;)

      Delete
  7. Alex. thank you for the update. I'll try it with the polulu drivers.

    ReplyDelete
  8. I have Problems with my serial line. I get errors which ruin every longer print. Is there a chance you can enhance the SphereBot UI Sender to actually use the checksums and LineNumbers? I tried and it seems to work (havn't implemented the resend) BUT after approx 300 lines the SphereBotUI.exe crashes.... I guess I FUBARed it whith my poking and converting QStrings to char* and whatever (I am a Python/PHP dev, no clue about cpp/QT)

    The interesting Part:

    QString tmp;
    char* cm;
    if(lineCounter <= lineMax)
    {
    tmp = QString ("N%1 ").arg(lineCounter+1);
    tmp.append(textfile.section("\n",lineCounter,lineCounter));
    if(tmp.contains("M01"))
    {
    if(ignoreFirstM01)
    {
    ignoreFirstM01 = false;
    }
    else
    {
    emit layerTransmitted();
    }
    }
    cm = new char[tmp.toLocal8Bit().size()];
    strcpy(cm,tmp.toLocal8Bit().constData());
    // checksum code from reprap wiki
    unsigned short cs = 0;
    int j = 0;
    for(j = 0; cm[j] != '*' && cm[j] != NULL; j++)
    cs = cs ^ cm[j];
    cs &= 0xff; // Defensive programming...
    tmp.append(QString ("*%1").arg(cs));
    tmp.append("\n");

    ReplyDelete
    Replies
    1. Of course I used the checksum enabled version of the Firmware. So far it only detects errors but not resending. Did not work into that because of the other but mentioned above....

      Delete
    2. Actually the version right now should make use of the checksum and it also should resend the command if an error is detected. Does the github-version of the UI crash or does it only happen with your modified one?

      Delete
    3. Uh! I was sure that I had the last version.... checking now

      Delete
    4. Works. For the GUI Part. However I am still not able to get a whole Plot done.

      My Arduino freezes randomly. Printing just stops. On the first try at approx. 30%. Now at 55% (of a 10 Minute plot with many hatchlines). Resetting the Duino and it continues, however not seamless. So I have no idea what happens here. Will try lower Baudrate. This is so hard to debug.

      Another thing is that QT Designer is not opening the source. I want to include a baudrate selector (I did it in my tries mentioned above).

      Any hints? (for both issues).

      Thanks for your Work!

      Delete
    5. Could now open it in QT Creator (not desitgner as I wrote above). Had to remove the Makefiles etc,

      Delete
    6. I made a few changes to the UI which allows us to use much lower Baudrates and still have a responsive UI. During the first test it worked fine for me. The update is on github ;)

      Delete