Firmware fixes

Discussion in 'Guides, Mods, and Upgrades' started by richgain, Jan 10, 2016.

  1. richgain

    richgain Well-Known Member

    Joined:
    Dec 18, 2015
    Messages:
    71
    Likes Received:
    33
    First things first:
    • Download Arduino (I'm using v1.0.6)
    • Download the right zip file from https://github.com/joshuarowley42 for your machine
    • Extract the zip file to a folder on your hard drive (e.g. a sub-folder of your firmwares folder)
    • Copy the arduino add-ons for your version into the corresponding folders (hardware + libraries)
    • Navigate to your BigBox firmware folder and File/Open 'marlin.ino'
    • There are many tabs and you can't see all of them - even the down arrow at top right doesn't list them all.
    • Use Ctrl-Alt-Left arrow and Right arrow to switch tabs
    • From the Tools/Board menu, select 'Arduino Mega 2560'
    • From the Tools/Serial Port menu, select the COM port that your printer is connected to
    • Hover over the icons at the top to see what they do
    • Typical workflow is Open - Edit - Save - Verify - Upload
     
    Miasmictruth and PsyVision like this.
  2. richgain

    richgain Well-Known Member

    Joined:
    Dec 18, 2015
    Messages:
    71
    Likes Received:
    33
    Make that annoying beep a bit quieter
    If you are worried about waking up the family with your late night printing activities, try the following change.
    Configuration.h tab
    Line 689 (displayed in the bottom left hand corner of Arduino)
    Change:
    #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 100
    To:
    #define LCD_FEEDBACK_FREQUENCY_DURATION_MS 2
     
    Colin and Chris Toast like this.
  3. richgain

    richgain Well-Known Member

    Joined:
    Dec 18, 2015
    Messages:
    71
    Likes Received:
    33
    Reverse the LCD control knob direction
    If you would prefer all the menus to work the opposite way when you turn the control knob, so that the numbers INCREASE when you turn CLOCKWISE, then try the following fix.
    Find the tab called
    /**
    * RUMBA pin assignments
    */
    Scroll to the bottom of the file and make these two changes:
    #define BTN_EN1 12 // was 11
    #define BTN_EN2 11 // was 12
     
    W1EBR.Gene, Mike Kelly, Colin and 2 others like this.
  4. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
  5. richgain

    richgain Well-Known Member

    Joined:
    Dec 18, 2015
    Messages:
    71
    Likes Received:
    33
    Yes, you will need those, but they are also included in ArduinoAddons/Arduino_1.0.x/libraries/U8glib (step 4 above).
     
  6. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
    Ah I see, I just copied the 1.6.x folder as I'm on 1.6.7.
     
  7. Mike Kelly

    Mike Kelly Volunteer

    Joined:
    Mar 7, 2014
    Messages:
    444
    Likes Received:
    89
    I've noticed that while doing travel movements the value will jump around like crazy. Anyone else having this experience?
     
  8. mhe

    mhe Active Member

    Joined:
    Sep 5, 2015
    Messages:
    32
    Likes Received:
    3
    Careful with the ones the Arduino IDE downloads via the plugin manager, in my experience it didn't work, had to download the library directly as there is a crucial part missing in the version the download manager gets for you. Resulted in compile error due to referenced but missing directories.
     
  9. Alex9779

    Alex9779 Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    2,405
    Likes Received:
    731
    I reinstalled my dev environment for the BB and only downloaded 1.6.7, added dependencies via the install manager and the code compiled without errors on the first try...
    Was much more easy than doing in previous version where you had to download by yourself and place somewhere in the install dir...
     
  10. mhe

    mhe Active Member

    Joined:
    Sep 5, 2015
    Messages:
    32
    Likes Received:
    3
    That's good to know, cheers. Because I was pulling my hair out when converting my Rigidbot from the shitty proprietary board to a RUMBA.
     
  11. 69charger

    69charger Active Member

    Joined:
    Sep 5, 2015
    Messages:
    29
    Likes Received:
    4
    The
    Absolutely essential update. This should come as a default setting. The beep is almost offensive otherwise. Changed the knob setting too. Thanks for the info.
     
    Mike Kelly likes this.
  12. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
    W1EBR.Gene and Stigern like this.
  13. Dr Jeep

    Dr Jeep Well-Known Member

    Joined:
    Sep 12, 2015
    Messages:
    530
    Likes Received:
    169
    I think that's a marlin bug, my k8200 does it as well. I keep meaning to dive into the code and see what's going on, I suspect the jog encoder sampling is done in the main loop and there is some blocking in the code somewhere when stepping the motors.

    You'll probably notice other things stop during movement of the steppers (I think display updates stop and only happen between movements, like at a direction change), It's only a little micro and it only supports one thread, time sharing between tasks. So between running the PID's and getting the time sensitive steps to the motors it gets quite busy.

    There are other places (like setting feedrate during a print) where you can see the jog input is laggy, I think it's that which causes the judder as it miscounts the jog encoder steps. To prove a point you'll note that the bigger movement steps in jog mode are better (more time between each move) They should probably change the 0.1mm at least to a dial in the figure and press the knob to execute type function rather than real time adjustment so it's at least usable.
     
  14. Stigern

    Stigern Well-Known Member

    Joined:
    Sep 8, 2015
    Messages:
    46
    Likes Received:
    7
    So, I downloaded the Pro firmware, changed the values I found I needed from your guide. And uploaded.

    And now my display is all white-ish and seems like it's not working.

    Even tried uploading the firmware without making any changes to it, still nothing.

    Any ideas?

    EDIT: Serial monitor in Arduino IDE

    Shows that it's Marlin 1.1.0 RC3 etc. Checked connections to display, even took it out and tried to adjust the contrast.
     
    #14 Stigern, Mar 2, 2016
    Last edited: Mar 2, 2016
  15. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
    Okay so back on default GitHub firmware? And what is the display doing? Is it white-ish all over?
     
  16. Stigern

    Stigern Well-Known Member

    Joined:
    Sep 8, 2015
    Messages:
    46
    Likes Received:
    7
    Yes, tried that too. And I also looked trough the code, couldn't find anyplace where they commented out which lcd is used. Tried enabling the reprap discount full graphic (quadratic white pcb" one, and had to get that U8glib. But still nothing.

    20160302_201433.jpg

    EDIT MY BAD!

    I accidentally clicked the "This branch, "RC", is our current pre-release candidate."
    And downloaded that one first time.

    Got the right firmware now, working.
     
  17. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
    Ah, where did you get u8glib from? I've read that the library from one place doesnt always work. The github download has one that works. The firmware Pro / Dual has the correct LCD enabled so you shouldnt need to adjust any other settings.

    http://forums.reprap.org/read.php?1,384006
     
  18. Stigern

    Stigern Well-Known Member

    Joined:
    Sep 8, 2015
    Messages:
    46
    Likes Received:
    7
    There was a link in the marlin firmware.
     
    #18 Stigern, Mar 2, 2016
    Last edited: Mar 2, 2016
  19. PsyVision

    PsyVision Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    798
    Likes Received:
    248
    The BTN_EN* are in pins_RUMBA.h, default:

    #define BTN_EN1 11
    #define BTN_EN2 12
    #define BTN_ENC 43

    not 11, 10, 12
     
    Stigern likes this.
  20. Stigern

    Stigern Well-Known Member

    Joined:
    Sep 8, 2015
    Messages:
    46
    Likes Received:
    7
    Ah, I just did a search trough the code.

    All sorted out now thanks! Was a bit quick when I read your guide. :oops:
     

Share This Page