GithubHelp home page GithubHelp logo

Comments (14)

cp2004 avatar cp2004 commented on July 25, 2024

Bearing in mind I didn't write this, to my understanding it is just saving a log of what it receives from an M501 command. Looks like that might have been lost in yours.

Mine looks a bit like this (when I tried it out):

Send: M504
Recv: echo:EEPROM OK
Recv: ok,Send: M501
Recv: echo:V76 stored settings retrieved (640 bytes; crc 43039)
Recv: echo:  G21    ; Units in mm (mm)
Recv: echo:  M149 C ; Units in Celsius
Recv: 
Recv: echo:; Filament settings: Disabled
Recv: echo:  M200 D1.75
Recv: echo:  M200 D0
Recv: echo:; Steps per unit:
Recv: echo: M92 X100.00 Y100.00 Z400.00 E90.00
Recv: echo:; Maximum feedrates (units/s):
Recv: echo:  M203 X400.00 Y400.00 Z4.00 E50.00
Recv: echo:; Maximum Acceleration (units/s2):
Recv: echo:  M201 X1000.00 Y1000.00 Z1000.00 E1000.00
Recv: echo:; Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>

and it does look like it has cut off the acceleration from my backup too.

Maybe you could try and see what the full output of M501 is?

I will try and look into it at some point, but I don't particularly like the way it is backing up anyway....

from octoprint-eeprom-marlin.

DodgeDeBoulet avatar DodgeDeBoulet commented on July 25, 2024

Full output from M501:

Send: M501
Recv: ==onLoadSettings==
Recv: echo:V81 stored settings retrieved (710 bytes; crc 47994)
Recv: Unified Bed Leveling System v1.01 active
Recv: 
Recv: Unified Bed Leveling initialized.
Recv: 
Recv: Mesh loaded from slot 0
Recv: Mesh 0 loaded from storage.
Recv: echo:  G21    ; Units in mm (mm)
Recv: 
Recv: echo:; Filament settings: Disabled
Recv: echo:  M200 S0 D1.75
Recv: echo:; Steps per unit:
Recv: echo: M92 X80.00 Y80.00 Z800.00 E136.84
Recv: echo:; Maximum feedrates (units/s):
Recv: echo:  M203 X750.00 Y750.00 Z10.00 E75.00
Recv: echo:; Maximum Acceleration (units/s2):
Recv: echo:  M201 X2000.00 Y2000.00 Z100.00 E75.00
Recv: echo:; Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
Recv: echo:  M204 P750.00 R1000.00 T300.00
Recv: echo:; Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> X<max_x_jerk> Y<max_y_jerk> Z<max_z_jerk> E<max_e_jerk>
Recv: echo:  M205 B20000.00 S0.00 T0.00 X10.00 Y10.00 Z0.30 E5.00
Recv: echo:; Home offset:
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:; Unified Bed Leveling:
Recv: echo:  M420 S1 Z0.00
Recv: 
Recv: Unified Bed Leveling System v1.01 active
Recv: 
Recv: echo:; Active Mesh Slot: 0
Recv: echo:; EEPROM can hold 12 meshes.
Recv: 
Recv: echo:; PID settings:
Recv: echo:  M301 P27.08 I2.51 D73.09
Recv: echo:  M304 P131.06 I11.79 D971.23
Recv: echo:; Retract: S<length> F<units/m> Z<lift>
Recv: echo:  M207 S3.00 W13.00 F2700.00 Z0.00
Recv: echo:; Recover: S<length> F<units/m>
Recv: echo:  M208 S0.00 W0.00 F480.00
Recv: echo:; Auto-Retract: S=0 to disable, 1 to interpret E-only moves as retract/recover
Recv: echo:  M209 S0
Recv: echo:; Z-Probe Offset (mm):
Recv: echo:  M851 X-45.00 Y-5.00 Z-4.44
Recv: echo:; Stepper driver current:
Recv: echo:  M906 X550 Y550 Z550
Recv: echo:  M906 I1 Z550
Recv: echo:  M906 T0 E660
Recv: 
Recv: echo:; Hybrid Threshold:
Recv: echo:  M913 X152 Y152 Z10
Recv: echo:  M913 I1 Z10
Recv: echo:  M913 T0 E48
Recv: 
Recv: echo:; Driver stepping mode:
Recv: echo:  M569 S1 X Y Z
Recv: echo:  M569 S1 I1 Z
Recv: echo:; Linear Advance:
Recv: echo:  M900 K0.01
Recv: echo:; Filament load/unload lengths:
Recv: echo:  M603 L100.00 U75.00
Recv: echo:; Backlash compensation:
Recv: echo:  M425 F0.00 X0.00 Y0.00 Z0.00
Recv: ==onConfigurationStoreRead==
Recv: 
Recv:  init zprobe_zoffset = -4.44
Recv: ok P63 B31

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

Something's broken with it capturing the settings. 🤔 will take a look, and see what I can do. Thank you for the detailed report!

from octoprint-eeprom-marlin.

dreiduke avatar dreiduke commented on July 25, 2024

same here
this is the backup file.... not more not less

Send: M504

Recv: echo:EEPROM OK
Recv: ok,Send: M501

from octoprint-eeprom-marlin.

dchauran avatar dchauran commented on July 25, 2024

@cp2004 I am going to take a look at fixing this one. A few random thoughts/questions:

I don't think we should be using M501 by default. M501 reloads the saved eeprom settings, potentially overwriting any tweaks to the running settings. M503 prints active (not necessarily stored) settings, and also prints out a usable gcode script, whereas M501 adds extra stuff at the top which needs to be parsed out. I would propose that we use M503, and give the user an option e.g.

What to backup:

  • Running settings.
  • Stored eeprom settings. Warning, any changes made since eeprom was last saved (e.g. via M500 or "upload") will be lost.

If they select running settings, display a Checkbox (checked by default) that says "overwrite stored eeprom settings" which triggers M500, then M503. If they select stored eeprom settings, we run M501 then M503.

As to the method of taking the backup, I do not see much of an option other than generating a gcode script. Marlin to my knowledge doesn't provide any other means of setting eeprom configuration (e.g. no way to upload a settings file).

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

Sounds right to me 🙂

I was thinking of making it an option in the settings page (I'll get rid of the clutter out of there) to use M501 or M503 to load settings, since Marlin can have M503 disabled in config.h. Thank you in advance for the contribution!

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

@dchauran - Just a heads up if you are still yet to look into this, you might want to pull the latest changes on the devel branch. I've run OctoPrint's pre-commit suite against this plugin, including black and prettier formatting, so merges will be easier if you pull first. If you've already started a fix I'm sure we can make a merge work just fine.

See the changes here: 7f84dfa

from octoprint-eeprom-marlin.

dchauran avatar dchauran commented on July 25, 2024

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

No worries, I haven't had a chance to look either!
Trying to balance working evenly across this other OctoPrint projects, all in my spare time. I can wait as long as it takes.... 🙂

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

@dchauran If you are still looking in to this, don't worry about it. I am in progress of re-writing this plugin from the ground up, and it will be really simple to create backups the way I have implemented the data structures, so it will work very well. Targeting before end of 2020 for release, this will be a much improved plugin.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

The backup feature is ready and implemented for 3.0.0. Summary of features:

  • Create a backup on the server as a JSON file from the internal data of the plugin
  • Restore these backups at any time, right from the UI
  • Upload a backup
  • Download a backup
  • Custom backup names
  • Timestamps in the backups

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

@DodgeDeBoulet @dreiduke @dchauran

Please test the release candidate of V3 of this plugin, it is available and this feature/fix is implemented.

Details can be found in the feedback ticket of how to install, update and report issues: #16

from octoprint-eeprom-marlin.

dchauran avatar dchauran commented on July 25, 2024

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

3.0.0 has been released 🎉

from octoprint-eeprom-marlin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.