1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

best way to safeguard your settings?

Discussion in 'General Questions' started by supercazzola, Jan 6, 2018.

  1. supercazzola

    supercazzola Active Member

    Joined:
    Jun 1, 2017
    Messages:
    424
    Likes Received:
    111
    I am about to update the firmware on my R2 (with a .hex file) and I want to make sure there is a way to backup the settings I have, especially in my eeprom.

    I simply made screenshots of the EEPROM Marlin Editor Plugin values. But is there a way to back it up to file?

    Are there any other files off of the Pi, or steps I should take, so that if I needed to, I could return to the current firmware ?

    thank you
     
  2. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    This is why I always do it via the source code ... easy to keep backups :)
    I am not aware of an easier way to do it from the starting point you are at.
    Firmware is actually on the controller board, not the Pi and the stuff stored in the Flash EPROM is simply not something you can easily backup (which is why I make changes I want to be permanent into the firmware source).

    They have not made this any easier with the R2/C2 ... directly uploading the firmware from source yourself is harder too... not for the faint of heart. Plus, if you let RoboOS update it at a later point your changes are gone (not RoboOS updates themselves, but it can also update the firmware if you let it).
     
    supercazzola and WheresWaldo like this.
  3. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    There is one more thing about EEPROM settings, some versions of Marlin change the way data is stored in EEPROM, or the order in which it is stored. That is why EEPROM is rarely preserved from version to version. If you are using Standard Marlin, the devs will change EEPROM version (listed in Configuration.h) when they change anything about the EEPROM schema, otherwise they leave the version the same. If it is the same then EEPROM is preserved in a flash (but no guarantee that the same settings work). Robo on the other hand, changes the EEPROM version for every single minor edit they do to the firmware, This forces the EEPROM to require overwriting even if none of the data will change.

    I don't mess with EEPROM versions, choosing to keep the Marlin versioning number.
     
    supercazzola and mark tomlinson like this.
  4. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    The difference probably revolves around the fact that you are actually using the printer 'for realz' and they (the ones changing the firmware for Robo) are not :)
    Their approach is one that (perhaps) looks good on paper, but is not really real-world workable. Imagine people with multiples of these printers...
     
    supercazzola and Geof like this.
  5. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    I'm wondering if the OctoPrint -> Settings -> EEPROM Marlin Editor Plugin is of any use here. The naming of the buttons is odd/confusing to me, though. Click the LOAD button of the two since you are interested in seeing the settings.

    MarlinPlugin.png
     
  6. supercazzola

    supercazzola Active Member

    Joined:
    Jun 1, 2017
    Messages:
    424
    Likes Received:
    111
    Yeah, that is what I meant when I said besides taking screenshots of that using the web browser.

    I think it is a good solution, although there would be certain values that you may want to change (for example, the max acceleration), and others like the e-step values that you may want to keep.

    No easy way at the moment.



    Sent from my iPad using Tapatalk Pro
     
  7. OutsourcedGuru

    OutsourcedGuru Active Member

    Joined:
    Jun 3, 2017
    Messages:
    752
    Likes Received:
    141
    In theory, one could update the OctoPrint API to deliver Marlin's configuration.h file's content... only it's not really on the Raspi to the best of my knowledge; it's compiled into the Marlin executable.

    So... the code in the EEPROM Marlin Editor plugin has to pull it from somewhere. Maybe it would only require piggy-backing on that LOAD call here... which apparently is here... which seems to do an...

    self.control.sendCustomCommand({ command: "M115" });

    I can't believe that this is the entire report, though. M115

    Oh, here we go...

    self.control.sendCustomCommand({ command: "M503" });

    M503

    -----------
    M503 ; Output current settings
    M503 S0 ; Settings as G-code only (Marlin 1.1)

    This command asks the firmware to reply with the current print settings as set in memory. Settings will differ from EEPROM contents if changed since the last load / save. The reply output includes the G-Code commands to produce each setting. For example, Steps-Per-Unit values are displayed as an M92 command.

    RepRapFirmware outputs the content of the configuration file, but note that it may be truncated if it is too long.
    ----------

    So... try running an M503 from the terminal in OctoPrint and then store what it returns in your documentation. (Or write a plugin which returns this as JSON or something.)
     
    supercazzola likes this.

Share This Page