GithubHelp home page GithubHelp logo

Comments (12)

cp2004 avatar cp2004 commented on July 25, 2024

Once you have unlocked the printer, it should work to hit 'refresh' in the UI to pull in the data.

I won't make the plugin poll the printer, but maybe parsing that message and showing a notice in the UI to unlock your printer first and then refresh would be sensible.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

@R3velation - did you get a chance to test the above? Does it work fine after unlocking & refresh? I don't have this feature so I'm not able to test it.

from octoprint-eeprom-marlin.

R3velation avatar R3velation commented on July 25, 2024

Refreshing after unlocking exhibits the exact same behavior as described in the original post.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

When the printer responds that it is locked, a warning will now be shown:

image

When the next M503 command is sent to the printer & goes through OK, the warning is removed - the 'refresh' (& other) buttons are not disabled.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

There's a release candidate build available if you want to test it - switch to 'Release Candidate' channel for this plugin in the software update settings in OctoPrint.

Release notes: https://github.com/cp2004/OctoPrint-EEPROM-Marlin/releases/tag/3.2.0rc1
Feedback ticket: #56

from octoprint-eeprom-marlin.

R3velation avatar R3velation commented on July 25, 2024

This only works when PASSWORD_ON_STARTUP is disabled. The default when PASSWORD_FEATURE is enabled is that it will also have PASSWORD_ON_STARTUP enabled.

Running with PASSWORD_ON_STARTUP shows exactly the same behavior as prior, neither detecting the lock nor the printer being connected at all.
Disabling it will show the expected behavior, including detecting if it is locked or not.

I've also observed that starting Octoprint and connecting to the printer with pass on startup disabled, and then flashing a new configuration with pass on startup enabled and reconnecting will show the expected behavior. This state lasts until Octoprint is restarted.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

I'm going to need a full serial.log of the connection then. I wrote the detection based on what you provided in the initial issue, if that's not what always happens then I need the full thing, start to finish. Enable serial.log in the settings, connect to the printer, so whatever you need to do and then upload it here.

from octoprint-eeprom-marlin.

R3velation avatar R3velation commented on July 25, 2024

serial.log
octoprint.log

And in case if you need it, an updated API response.

{"backups":[],"eeprom":{"advanced":{"command":"M205","params":{"B":20000.0,"E":5.0,"J":null,"S":0.0,"T":0.0,"X":5.0,"Y":5.0,"Z":5.0}},"autolevel":{"command":"M420","params":{"S":false,"Z":null}},"bed_pid":{"command":"M304","params":{"D":null,"I":null,"P":null}},"delta":{"command":"M665","params":{"A":0.0,"B":0.0,"C":0.0,"H":335.5,"L":218.0,"R":97.4,"S":80.0,"X":0.0,"Y":0.0,"Z":0.0}},"endstop":{"command":"M666","params":{"X":0.0,"Y":0.0,"Z":0.0}},"feedrate":{"command":"M203","params":{"E":100.0,"X":100.0,"Y":100.0,"Z":100.0}},"filament":{"command":"M200","params":{"D":1.75}},"filament_change":{"command":"M603","params":{"L":650.0,"U":750.0}},"filament_runout":{"command":"M412","params":{"D":null,"H":null,"S":null}},"home_offset":{"command":"M206","params":{"X":null,"Y":null,"Z":null}},"hotend_pid":{"command":"M301","params":{"D":90.22,"I":3.55,"P":35.82}},"linear":{"command":"M900","params":{"K":null}},"material1":{"command":"M145","params":{"B":null,"F":255.0,"H":190.0,"S":0.0}},"material2":{"command":"M145","params":{"B":null,"F":255.0,"H":240.0,"S":1.0}},"max_acceleration":{"command":"M201","params":{"E":3000.0,"X":3000.0,"Y":3000.0,"Z":3000.0}},"print_acceleration":{"command":"M204","params":{"P":3000.0,"R":3000.0,"T":3000.0}},"probe_offset":{"command":"M851","params":{"X":null,"Y":null,"Z":null}},"steps":{"command":"M92","params":{"E":417.0,"X":80.0,"Y":80.0,"Z":80.0}},"tmc_current":{"command":"M906","params":{"E":null,"X":null,"Y":null,"Z":null}},"tmc_hybrid":{"command":"M913","params":{"E":null,"X":null,"Y":null,"Z":null}}},"info":{"additional":{},"capabilities":{},"is_marlin":false,"name":""},"stats":{"failed":0,"filament":"","finished":0,"longest":"","prints":0,"total_time":""}}

And because i forgot to mention it; this is now on Octoprint version 1.7.2, Octopi version 0.18.0.

[edit]
Heres some logs for that edge case i mentioned regarding flashing the value.
octoprint-logs[PassOnStartup-OFF_to_ON].zip Plugin misbehaves on inital firm, begins working as expected after flash.
octoprint-logs[PassOnStartup-ON_to_OFF].zip Plugin continues to work even when placed back on the inital firmware.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

Ok, I see what the issue is now, thank you.

The printer never responds to OctoPrint's M115 command, which should tell OP all the details about the printer, including capabilities and the firmware name. The EEPROM editor uses the data collected here by OctoPrint to activate the editor, because it can then confirm that the printer is Marlin based.

The plugin also only monitors the serial output when it is collecting data (after an M503/M501 command), to make sure it is not impacting performance at all, but M503 is only sent once we have confirmed the printer is connected & is Marlin, and so it has no knowledge of the printer's locked state. Hopefully you can see the circle created now...

I will have to work out a way of showing that the printer is connected, but locked without depending on knowing it's capabilities to activate the editor first.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

I will get to this, eventually - struggling with time. Implemented a printer lock into the virtual printer in OctoPrint so I can fully test it & experiment, hopefully get something good made soon.

from octoprint-eeprom-marlin.

cp2004 avatar cp2004 commented on July 25, 2024

Published a new prerelease (3.2.0rc2) - this should work fine now, given it a good test with the actual printer lock feature to test against it is so much easier. Will go to stable as soon as possible - if there's any leftover bugs I can always publish a bugfix release.

from octoprint-eeprom-marlin.

R3velation avatar R3velation commented on July 25, 2024

Tested RC2, the odd behavior noted in RC1 is no longer present and everything is behaving exactly as it should.
I'd say this issue has been resolved.

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.