Comments (12)
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.
@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.
Refreshing after unlocking exhibits the exact same behavior as described in the original post.
from octoprint-eeprom-marlin.
When the printer responds that it is locked, a warning will now be shown:
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.
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.
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.
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.
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.
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.
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.
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.
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)
- CR-10 Smart printer isn't recognized as Marlin firmware HOT 5
- IMPORTANT: The next release of this plugin will not support Python 2
- Upgrade pre-commit and add pyupgrade HOT 1
- [Request]: Automatic scheduled EEPROM backups HOT 3
- Retrieve and Set Stealthchop for TMC Drivers[Request]: HOT 4
- [Bug]: PluginManager typo -> link to gihtub HOT 4
- [Request]: Only FIRMWARE INFO in the left column HOT 14
- [Bug]: Doesn't work with Snapmaker 2.0 A350 HOT 3
- [Request]: When enabled in Firmware, Add M306 data to Temperature tab HOT 7
- [Bug]: E0 stepper current not saved HOT 3
- Please add MPC to the menu HOT 2
- [Request]: Add LONG_FILENAME_WRITE_SUPPORT HOT 2
- [Bug]: After Marlin Update, ignore crc mismatch, restoring a config M112 ERROR when no bed mesh is stored HOT 2
- [Request]: Add M914 TMC Bump Sensitivity HOT 1
- [Request]: Add M423 support HOT 1
- [Request]: Using eprom locked on iPad HOT 6
- [Request]: Separate X and Y values for Input Shaping HOT 1
- Support- Willing to pay for your time HOT 1
- [Request]: Unkown Command M207 x8/x20 HOT 1
- [Bug]: Cannot install on Python 3.12 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from octoprint-eeprom-marlin.