Giter Club home page Giter Club logo

octoprint-eeprom-marlin's Introduction

✏️ Marlin EEPROM Editor

The Marlin EEPROM editor provides an easy to use, feature-rich UI to edit your machine's configuration.

✨ Features

  • Load and parse a wide range of EEPROM data out of the firmware
  • Edit all the data in a user-friendly UI
  • Save EEPROM changes on the printer with a minimal number of commands
  • Storage of data on the OctoPrint server, so it can be viewed while printer is disconnected or printing.
  • Backup feature:
    • Enabled saving configuration snapshots, restoring, downloading, uploading
  • Displaying firmware info, including capability report & printer statistics
  • Links to Marlin documentation to help you understand the settings

Be sure to check out the screenshots below for more details!

🔧 Setup

Install via the bundled plugin manager or manually using this URL:

https://github.com/cp2004/OctoPrint-EEPROM-Marlin/releases/latest/download/release.zip

🏗️ Firmware requirements

This plugin requires three things:

  • EEPROM_CHITCHAT function - make sure you have #define EEPROM_CHITCHAT in the config
  • The M503 command enabled - do not uncomment disabling it, leave it as //#define DISABLE_M503
  • Of course, EEPROM to be enabled 🙂

🎉 New in Marlin EEPROM Editor V3

A complete re-write of this plugin, now V3!

Featuring:

  • Python processing & storage, eliminating performance issues in the UI.
  • Storage of data on the OctoPrint server, so it can be viewed while the printer is disconnected or printing.
  • Brand new UI, written from the ground up.
  • All-new backup feature, allowing naming and storing of backups, so you can quickly swap between profiles and more.

Screenshots

Firmware info overview Firmware Info

Configuration editor Configuration Editor

Backup feature Backup feature

Sponsors

As well as 2 others supporting me regularly through GitHub Sponsors!

Supporting my efforts

GitHub Sponsors

I created this project in my spare time, and do my best to support the community with issues and help using it. If you have found this useful or enjoyed using it then please consider supporting it's development! ❤️. You can sponsor monthly or one time, for any amount you choose.

Check out my other plugins

You can see all of my published OctoPrint plugins on the OctoPrint Plugin Repository! Or, if you're feeling nosy and want to see what else I'm working on, check out my GitHub profile.

✏️ 🔧

octoprint-eeprom-marlin's People

Contributors

amsbr avatar andritolion avatar cp2004 avatar desterly avatar gddeen avatar invisiblek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

octoprint-eeprom-marlin's Issues

[Request]Touchui interface icon for plugin

Is your feature request related to a problem? Please describe.
with plugin touchui the tab EEPROM editor use "?" icon
image

Describe the solution you'd like
use this css inside your plugin

#touch body #tabs #tab_plugin_eeprom_marlin_link a:before, 
#touch body #navbar #all_touchui_settings #tab_plugin_eeprom_marlin_link a:before, 
#touch body #tabs #tab_plugin_eeprom_marlin_link2 a:before, 
#touch body #navbar #all_touchui_settings #tab_plugin_eeprom_marlin_link2 a:before {
    content: "\f14b";
}

it used this icon : https://fontawesome.com/v4.7.0/icon/pencil-square

Describe alternatives you've considered

Additional context

[Bug] Firmware Info Name parsing

Describe the bug

Firmware Info has a phasing or display bug

Steps To Reproduce

See image:
image

Firmware is: FIRMWARE_NAME:Marlin 2.0.6_DW7 TM3D SSMDBU (Sep 25 2020 11:41:48) SOURCE_CODE_URL:https://github.com/InsanityAutomation/Marlin/tree/CrealityDwin_2.0 PROTOCOL_VERSION:1.0 MACHINE_TYPE:TM3D CR-X EXTRUDER_COUNT:2 UUID:xxxxxxxxx

Expected behavior

Firmware Name: Marlin 2.9.6_DW7 TM3D SSMDBU (Sep 25 2020 11:41:48)

Feedback on the 3.1.0rc1 release candidate

It's here, 3.1.0rc1 Release Candidate!

Be sure to check out the release candidate release notes here for details of all the changes.

Please test this release, and let me know what you think. If all goes well this will be released at some point next week, so feedback is important to make sure that everything is good! An 'All is working well' is great feedback, since it lets me know people are actually testing this release, even if there are no issues to report.

If you find a bug please use the bug report template and send across the logs, so that I can get it fixed as quickly as possible.

Known issues

  • No longer able to upload backup

[FEATURE REQUEST]View broken (ugly) with touch ui

Describe the request

Hello,
small problem with the touchui plugin and your plugin
image

octoprint.log:

Versions, system information

Plugin Version: 3.0.0

OctoPrint

Version: 1.5.2

Operating System running OctoPrint: octopi 0.17.0

Printer model & firmware version: CR-10S marlin 1.1.9

Browser: chrome safari (ios)...

Additional context, screenshots, anything else you think might be useful

cant scroll through firmware information..

What do you need help with?

i can,t scroll at all in the firmware info screen.. the rest show up fine... jsut installed octoprint and updated last thursday. then i got the update about 15 minutes ago...

Link to octoprint.log

Firmware Info - Firmware Name (with date and time) incorrectly formatted

Describe the bug

Hello,

I have observed a formatting issue with the "Firmware Name" in the "Firmware Info" Tab.

This is the Firmware Name from the OctoPrint Log: "FIRMWARE_NAME:Marlin 2.0.7.2 (Dec 30 2020 01:08:32)"
image

but the EEPROM Editor Plugin shows the time "01:08:32" in two new lines incorrectly formatted.

image.

Expected behavior

Firmware Name is displayed in a line with correctly formatted time.

Versions, system information
Plugin Version: 3.0.0

OctoPrint

Version: 1.5.2 (Python 3.7.3, OctoPi 0.17.0)

Operating System running OctoPrint:

Raspberry Pi 3 Model B Plus Rev 1.3

Printer model & firmware version: CR-10S with marlin 2.0.7.2

Browser:
Opera, Version: 73.0.3856.284
Firefox, Version: 84.0.1 (64-Bit)

[Bug] Missing Homepage link in Plugin Manager

The plugin manager entry for this plugin does not have a Homepage link like most of the other plugins (see attached screenshot)

  1. Open the Plugin Manager
  2. Scroll down to Marlin EEPROM Editor
  3. See error

Expected behavior

I expected to see a Homepage link

Logs

octoprint.log: https://www.mediafire.com/file/sffpqm9jqq7224d/octoprint.log/file

Versions, system information

Plugin Version: 3.0.1

OctoPrint

Version: 1.5.3

Operating System running OctoPrint: OctoPi 0.18.0

Printer: LulzBot TAZ 6, Marlin bugfix-2.0.x (Sep 13 2020 12: 13)

Browser: Firefox 86.0 (64-bit)

EEPROM

[Bug] Enable/Disable value for the Auto Bed Level allows a decimal input

Describe the bug

The Enable/Disable value for the Auto Bed Level allows a decimal input, while it should be a 1/0 only possibility. Not sure if it rounds it when storing, but even that would create some ambiguity.

Instead of a value entry with up/down arrows, I believe that it would be better to use a checkbox (enabled) or radio buttons.

image

[Request] Please add some missing settings

Is your feature request related to a problem? Please describe.

Currently the plug-in reports the following are unknown to it:

2021-03-17 15:55:37,274 - octoprint.plugins.eeprom_marlin - INFO - M503 detected, collecting data
2021-03-17 15:55:37,283 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-03-17 15:55:37,284 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo:  M149 C ; Units in Celsius

2021-03-17 15:55:37,326 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-03-17 15:55:37,327 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo:  M413 S1

2021-03-17 15:55:37,331 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-03-17 15:55:37,332 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo:  M906 X580 Y580 Z580

2021-03-17 15:55:37,333 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-03-17 15:55:37,333 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo:  M906 T0 E650

2021-03-17 15:55:37,336 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-03-17 15:55:37,336 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo:  M569 S1 X Y Z

2021-03-17 15:55:37,337 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-03-17 15:55:37,338 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo:  M569 S1 T0 E

2021-03-17 15:55:37,341 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-03-17 15:55:37,342 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo:  M412 S1 D25.0000

Describe the solution you'd like

Please support them

Additional context

Ender 3 Pro running latest Marlin bugfix-2.0x, but I do not believe any of these codes are new.

[Bug] Make Control Active (tiny, tiny bug)

Describe the bug

When the Named Backup dialog opens, despite the obvious intent to enter a name, and a single control (TextEdit box), it still requires a discrete click in to the TextEdit box to activate it for typing.

Steps To Reproduce

Attempt to save a backup with "Named Backups" enabled

Expected behavior

The text edit box should automatically become active for typing upon the dialog opening.

Logs

Not really relevant to this one.

Versions, system information

Marlin EEPROM Editor: 3.0.1

browser.user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:84.0) Gecko/20100101 Firefox/84.0
connectivity.connection_check: 8.8.8.8:53
connectivity.connection_ok: true
connectivity.enabled: true
connectivity.online: true
connectivity.resolution_check: octoprint.org
connectivity.resolution_ok: true
env.hardware.cores: 4
env.hardware.freq: 1500
env.hardware.ram: 3927818240
env.os.bits: 64
env.os.id: linux
env.os.platform: linux
env.plugins.pi_support.model: Raspberry Pi 4 Model B Rev 1.2
env.plugins.pi_support.octopi_version: 0.18.0
env.plugins.pi_support.throttle_state: 0x0
env.python.pip: 20.3.3
env.python.version: 3.7.3
env.python.virtualenv: true
octoprint.safe_mode: false
octoprint.version: 1.5.2
printer.firmware: Marlin 2.0.7.5_NIC NICW VEADBB (Nov 23 2020

[Feature Request] Z-Probe Offset

When you get into the tasks you have set for yourself, please add the Z-Probe Offset into the parameters that are read/set (this is different, of course, from the simple Z-Offset already included).

And thank you for taking this over!

Delta Configuration Not Matching Current Marlin 2.0.x[Bug]

Describe the bug

The Delta settings page in the plugin does not match the response from the M665 Gcode command on the current version of Marlin.

Steps To Reproduce

On printer running Marlin 2.0.7.2

  1. Issue M503 in terminal
  2. Note format of M665
  3. Go to Delta Settings in plugin
  4. Note incorrect calibration radius which contains the value of A rod trim.

Expected behavior

Delta settings screen in plugin matches definition of M665 command and supports view/edit/backup/restore of diagonal rod length adjustments.

Logs

octoprint.log:
2021-01-05 04:19:21,676 - octoprint.startup - INFO - ******************************************************************************
2021-01-05 04:19:21,677 - octoprint.startup - INFO - Starting OctoPrint 1.5.2
2021-01-05 04:19:21,678 - octoprint.startup - INFO - ******************************************************************************
2021-01-05 04:19:22,090 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity changed from offline to online
2021-01-05 04:19:22,148 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity state is currently: online
2021-01-05 04:19:22,148 - octoprint.util.connectivity.connectivity_checker - INFO - Connecting to 8.8.8.8:53 is working
2021-01-05 04:19:22,149 - octoprint.util.connectivity.connectivity_checker - INFO - Resolving octoprint.org is working
2021-01-05 04:19:22,564 - octoprint.startup - INFO - Blacklist processing done, adding 12 blacklisted plugin versions: roomtemp (any), GcodeEditor (0.1.1), GcodeEditor (0.2.0), GcodeEditor (0.2.1), GcodeEditor (0.2.2), GcodeEditor (0.2.3), GcodeEditor (0.2.4), GcodeEditor (0.2.5), GcodeEditor (0.2.6), GcodeEditor (0.2.8), gcodeleveling (0.1.0), gcodeleveling (0.1.1)
2021-01-05 04:19:22,584 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages...
2021-01-05 04:19:23,402 - octoprint.plugin.core - INFO - Plugin Marlin Flasher (0.1.4) is disabled.
2021-01-05 04:19:23,553 - octoprint.plugin.core - INFO - Plugin Octolapse (0.3.4) is disabled.
2021-01-05 04:19:23,634 - octoprint.plugin.core - INFO - Plugin Delta-Micro-Calibrator (1.0.4) is disabled.
2021-01-05 04:19:23,818 - octoprint.startup - INFO - Added settings overlay from plugin dashboard
2021-01-05 04:19:23,827 - octoprint.plugin.core - INFO - Found 30 plugin(s) providing 27 mixin implementations, 60 hook handlers
2021-01-05 04:19:23,919 - octoprint.server.heartbeat - INFO - Starting server heartbeat, 900.0s interval
2021-01-05 04:19:23,934 - octoprint.server - INFO - Intermediary server started
2021-01-05 04:19:23,951 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /home/pi/.octoprint/uploads...
2021-01-05 04:19:24,540 - octoprint.filemanager.storage - INFO - ... file metadata for /home/pi/.octoprint/uploads initialized successfully.
2021-01-05 04:19:24,543 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW (needs: u"Need(method='role', value=u'plugin_action_command_notification_show')")
2021-01-05 04:19:24,544 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_CLEAR (needs: u"Need(method='role', value=u'plugin_action_command_notification_clear')")
2021-01-05 04:19:24,545 - octoprint.server - INFO - Added new permission from plugin action_command_prompt: PLUGIN_ACTION_COMMAND_PROMPT_INTERACT (needs: u"Need(method='role', value=u'plugin_action_command_prompt_interact')")
2021-01-05 04:19:24,546 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_READ (needs: u"Need(method='role', value=u'plugin_announcements_read')")
2021-01-05 04:19:24,547 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_MANAGE (needs: u"Need(method='role', value=u'plugin_announcements_manage'), Need(method='role', value=u'plugin_announcements_read')")
2021-01-05 04:19:24,548 - octoprint.server - INFO - Added new permission from plugin appkeys: PLUGIN_APPKEYS_ADMIN (needs: u"Need(method='role', value=u'plugin_appkeys_admin')")
2021-01-05 04:19:24,549 - octoprint.server - INFO - Added new permission from plugin backup: PLUGIN_BACKUP_ACCESS (needs: u"Need(method='role', value=u'plugin_backup_access')")
2021-01-05 04:19:24,549 - octoprint.server - INFO - Added new permission from plugin dashboard: PLUGIN_DASHBOARD_ADMIN (needs: u"Need(method='role', value=u'plugin_dashboard_admin')")
2021-01-05 04:19:24,550 - octoprint.server - INFO - Added new permission from plugin firmware_check: PLUGIN_FIRMWARE_CHECK_DISPLAY (needs: u"Need(method='role', value=u'plugin_firmware_check_display')")
2021-01-05 04:19:24,552 - octoprint.server - INFO - Added new permission from plugin logging: PLUGIN_LOGGING_MANAGE (needs: u"Need(method='role', value=u'plugin_logging_manage')")
2021-01-05 04:19:24,552 - octoprint.server - INFO - Added new permission from plugin pi_support: PLUGIN_PI_SUPPORT_STATUS (needs: u"Need(method='role', value=u'plugin_pi_support_check')")
2021-01-05 04:19:24,553 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_MANAGE (needs: u"Need(method='role', value=u'plugin_pluginmanager_manage')")
2021-01-05 04:19:24,554 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_INSTALL (needs: u"Need(method='role', value=u'plugin_pluginmanager_install'), Need(method='role', value=u'plugin_pluginmanager_manage')")
2021-01-05 04:19:24,555 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CHECK (needs: u"Need(method='role', value=u'plugin_softwareupdate_check')")
2021-01-05 04:19:24,556 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_UPDATE (needs: u"Need(method='role', value=u'plugin_softwareupdate_update')")
2021-01-05 04:19:24,557 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CONFIGURE (needs: u"Need(method='role', value=u'plugin_softwareupdate_configure')")
2021-01-05 04:19:24,801 - octoprint.plugins.softwareupdate - INFO - Loaded version cache from disk
2021-01-05 04:19:24,838 - octoprint.plugins.excluderegion - INFO - Logging mode set to 'octoprint'
2021-01-05 04:19:24,840 - octoprint.plugins.excluderegion - INFO - Setting update detected: g90InfluencesExtruder=False, clearRegionsAfterPrintFinishes=False, mayShrinkRegionsWhilePrinting=False, loggingMode=octoprint, enteringExcludedRegionGcode=None, exitingExcludedRegionGcode=None, extendedExcludeGcodes={'M73': {"gcode": "M73", "type": "ExcludedGcode", "mode": "merge", "description": "Suppress progress updates while excluding and output the most recent progress values encountered when exiting the excluded area"}, 'M117': {"gcode": "M117", "type": "ExcludedGcode", "mode": "last", "description": "Suppress display messages while excluding and output the last message encountered when exiting the excluded area"}, 'G4': {"gcode": "G4", "type": "ExcludedGcode", "mode": "exclude", "description": "Ignore all dwell commands in an excluded area to reduce delays while excluding"}, 'M205': {"gcode": "M205", "type": "ExcludedGcode", "mode": "merge", "description": "Record advanced setting changes while excluding and apply the most recent values in a single command after exiting the excluded area"}, 'M204': {"gcode": "M204", "type": "ExcludedGcode", "mode": "merge", "description": "Record default acceleration changes while excluding and apply the most recent values in a single command after exiting the excluded area"}}, atCommandActions={'ExcludeRegion': [{"action": "enable_exclusion", "type": "AtCommandAction", "command": "ExcludeRegion", "parameterPattern": "^\s*(enable|on)(\s|$)", "description": "Default action to enable exclusion"}, {"action": "disable_exclusion", "type": "AtCommandAction", "command": "ExcludeRegion", "parameterPattern": "^\s*(disable|off)(\s|$)", "description": "Default action to disable exclusion"}]}
2021-01-05 04:19:24,865 - octoprint.plugins.eeprom_marlin - INFO - EEPROM Data initialised
2021-01-05 04:19:24,867 - octoprint.plugins.eeprom_marlin - INFO - Backup metadata initialised
2021-01-05 04:19:24,868 - octoprint.plugins.eeprom_marlin - INFO - All EEPROM editor modules loaded
2021-01-05 04:19:25,668 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python2 -m pip" as command to invoke pip
2021-01-05 04:19:26,471 - octoprint.util.pip - INFO - Version of pip is 19.1.1
2021-01-05 04:19:26,473 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python2.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes
2021-01-05 04:19:26,473 - octoprint.util.pip - INFO - ==> pip ok -> yes
2021-01-05 04:19:26,485 - octoprint.plugin.core - INFO - Initialized 27 plugin implementation(s)
2021-01-05 04:19:26,507 - octoprint.plugin.core - INFO - 30 plugin(s) registered with the system:
| Action Command Notification Support (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/action_command_notification
| Action Command Prompt Support (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/action_command_prompt
| Announcement Plugin (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/announcements
| Anonymous Usage Tracking (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/tracking
| Application Keys Plugin (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/appkeys
| Backup & Restore (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/backup
| Bed Visualizer (1.0.0) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_bedlevelvisualizer
| Core Wizard (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/corewizard
| Dashboard (1.16.3) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_dashboard
| !Delta-Micro-Calibrator (1.0.4) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_DuCalibrator
| Discovery (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/discovery
| DisplayLayerProgress Plugin (1.24.0) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_DisplayLayerProgress
| Error Tracking (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/errortracking
| Exclude Region (0.3.0) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_excluderegion
| File Check (2020.8.7) (bundled) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_file_check
| Firmware Check (2020.9.23) (bundled) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_firmware_check
| Firmware Updater (1.7.6) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_firmwareupdater
| GCode Viewer (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/gcodeviewer
| InfluxDB Plugin (1.3.2) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_influxdb
| Logging (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/logging
| Marlin EEPROM Editor (3.0.1) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_eeprom_marlin
| !Marlin Flasher (0.1.4) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_marlin_flasher
| !Octolapse (0.3.4) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_octolapse
| Pi Support Plugin (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/pi_support
| Plugin Manager (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/pluginmanager
| PortLister (0.1.10) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_portlister
| Preheat Button (0.5.1) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_preheat
| Resource Monitor (0.2.7) = /home/pi/oprint/local/lib/python2.7/site-packages/octoprint_resource_monitor
| Software Update (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/softwareupdate
| Virtual Printer (bundled) = /home/pi/oprint/lib/python2.7/site-packages/octoprint/plugins/virtual_printer
Prefix legend: ! = disabled, # = blacklisted, * = incompatible
2021-01-05 04:19:26,538 - octoprint.environment - INFO - Detected environment is Python 2.7.16 under Linux (linux2). Details:
| hardware:
| cores: 4
| freq: 1500.0
| ram: 4041732096
| os:
| bits: 32
| id: linux
| platform: linux2
| plugins:
| pi_support:
| model: Raspberry Pi 4 Model B Rev 1.1
| octopi_version: 0.17.0
| throttle_state: '0x0'
| python:
| pip: 19.1.1
| version: 2.7.16
| virtualenv: /home/pi/oprint
2021-01-05 04:19:26,554 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/webassets...
2021-01-05 04:19:26,578 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/.webassets-cache...
2021-01-05 04:19:27,238 - octoprint.server - INFO - Shutting down intermediary server...
2021-01-05 04:19:27,509 - octoprint.server - INFO - Intermediary server shut down
2021-01-05 04:19:27,512 - octoprint.events - INFO - Processing startup event, this is our first event
2021-01-05 04:19:27,512 - octoprint.events - INFO - Adding 2 events to queue that were held back before startup event
2021-01-05 04:19:27,517 - octoprint.plugins.influxdb - INFO - connecting: database='octoprint', host='192.168.1.77', ssl=False, use_udp=False
2021-01-05 04:19:27,518 - octoprint.server - INFO - Autoconnect on startup is configured, trying to connect to the printer...
2021-01-05 04:19:27,518 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue...
2021-01-05 04:19:27,567 - octoprint.plugins.influxdb - INFO - Using existing database octoprint
2021-01-05 04:19:27,613 - octoprint.plugins.softwareupdate - INFO - Fetching check overlays from https://plugins.octoprint.org/update_check_overlay.json
2021-01-05 04:19:27,641 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid
2021-01-05 04:19:27,644 - octoprint.plugins.influxdb - ERROR - Disconnected from InfluxDB. Attempting to reconnect.
Traceback (most recent call last):
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_influxdb/init.py", line 212, in influx_emit
self.influx_db.write_points([point], retention_policy=self.influx_retention_policy)
File "/home/pi/oprint/local/lib/python2.7/site-packages/influxdb/client.py", line 608, in write_points
consistency=consistency)
File "/home/pi/oprint/local/lib/python2.7/site-packages/influxdb/client.py", line 685, in _write_points
protocol=protocol
File "/home/pi/oprint/local/lib/python2.7/site-packages/influxdb/client.py", line 419, in write
headers=headers
File "/home/pi/oprint/local/lib/python2.7/site-packages/influxdb/client.py", line 378, in request
raise InfluxDBClientError(err_msg, response.status_code)
InfluxDBClientError: 400: {"error":"partial write: field type conflict: input field "new" on measurement "events" is type boolean, already exists as type float dropped=1"}
2021-01-05 04:19:27,685 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue
2021-01-05 04:19:28,766 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
2021-01-05 04:19:28,781 - octoprint.server - INFO - Trying to connect to configured serial port None
2021-01-05 04:19:28,840 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Detecting serial connection"
2021-01-05 04:19:28,846 - octoprint.server.util.watchdog - INFO - Running initial scan on watched folder...
2021-01-05 04:19:28,847 - octoprint.server.util.watchdog - INFO - ... initial scan done.
2021-01-05 04:19:28,858 - octoprint.util.comm - INFO - Serial detection: Performing autodetection with 7 port/baudrate candidates: /dev/ttyACM0@115200, /dev/ttyACM0@250000, /dev/ttyACM0@230400, /dev/ttyACM0@57600, /dev/ttyACM0@38400, /dev/ttyACM0@19200, /dev/ttyACM0@9600
2021-01-05 04:19:28,865 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyACM0, baudrate 115200
2021-01-05 04:19:28,867 - octoprint.util.comm - INFO - Connecting to port /dev/ttyACM0, baudrate 115200
2021-01-05 04:19:28,874 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s
2021-01-05 04:19:28,878 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-05 04:19:28,882 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial connection" to "Operational"
2021-01-05 04:19:28,887 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-05 04:19:28,894 - octoprint.plugins.firmwareupdater - INFO - Got CONNECTED event
2021-01-05 04:19:28,895 - octoprint.plugins.firmwareupdater - INFO - Run postflash flag is not set
2021-01-05 04:19:28,914 - octoprint.plugins.tracking - INFO - Sent tracking event system_unthrottled, payload: {u'throttled_mask': 0, u'throttled_voltage_now': False, u'throttled_voltage_past': False, u'throttled_overheat_now': False, u'throttled_now': False, u'throttled_past': False, u'throttled_overheat_past': False}
2021-01-05 04:19:28,924 - octoprint.util.comm - INFO - Printer reports firmware name "Marlin 2.0.7.2 (Jan 3 2021"
2021-01-05 04:19:28,944 - octoprint.util.comm - INFO - Firmware states that it supports temperature autoreporting
2021-01-05 04:19:28,992 - octoprint.plugins.eeprom_marlin - INFO - M503 detected, collecting data
2021-01-05 04:19:28,995 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:19:28,997 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M149 C ; Units in Celsius

2021-01-05 04:19:29,018 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:19:29,019 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M906 X900 Y900 Z900

2021-01-05 04:19:29,020 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:19:29,021 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M906 T0 E1000

2021-01-05 04:19:29,024 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:19:29,024 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M569 S1 X Y Z

2021-01-05 04:19:29,026 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:19:29,027 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M569 S1 T0 E

2021-01-05 04:19:29,029 - octoprint.plugins.eeprom_marlin - INFO - Finished data collection, updating UI
2021-01-05 04:19:29,323 - octoprint.plugins.tracking - INFO - Sent tracking event printer_connected, payload: {u'printer_baudrate': 0, u'printer_port': None, u'firmware_name': u'Marlin 2.0.7.2 (Jan 3 2021'}
2021-01-05 04:19:29,669 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on octopi._http._tcp.local.' for _http._tcp.local.
2021-01-05 04:19:30,486 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on octopi._octoprint._tcp.local.' for _octoprint._tcp.local.
2021-01-05 04:19:30,498 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance on octopi for SSDP
2021-01-05 04:19:30,562 - octoprint.server - INFO - Listening on http://127.0.0.1:5000
2021-01-05 04:19:30,720 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid
2021-01-05 04:19:30,723 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:192.168.1.23
2021-01-05 04:19:31,326 - octoprint.server.util.flask - INFO - Passively logging in user firworks from ::ffff:192.168.1.23
2021-01-05 04:19:31,327 - octoprint.access.users - INFO - Logged in user: firworks
2021-01-05 04:19:31,760 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python2 -m pip" as command to invoke pip
2021-01-05 04:19:31,801 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python2.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes
2021-01-05 04:19:31,888 - octoprint.util.pip - INFO - ==> pip ok -> yes
2021-01-05 04:19:31,989 - octoprint.plugins.softwareupdate - INFO - Minimum free storage across all update relevant locations is 22.1GB. That is considered sufficient for updating.
2021-01-05 04:19:31,990 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
2021-01-05 04:19:32,257 - octoprint.plugins.bedlevelvisualizer - INFO - OctoPrint-BedLevelVisualizer loaded!
2021-01-05 04:19:32,260 - octoprint.plugins.dashboard - INFO - Dashboard started
2021-01-05 04:19:32,271 - octoprint.plugins.influxdb - INFO - connecting: database='octoprint', host='192.168.1.77', ssl=False, use_udp=False
2021-01-05 04:19:32,424 - octoprint.plugins.influxdb - INFO - Using existing database octoprint
2021-01-05 04:19:32,458 - octoprint.plugins.portlister - INFO - Port Lister () {}
2021-01-05 04:19:32,664 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'query_string': 'l10n=en', 'path': '/', 'base_url': 'http://192.168.1.8/'}
2021-01-05 04:19:32,702 - octoprint.plugins.tracking - INFO - Sent tracking event ping, payload: {'octoprint_uptime': 9}
2021-01-05 04:19:33,136 - octoprint.plugins.tracking - INFO - Sent tracking event startup, payload: {u'python': '2.7.16', u'os': u'linux', u'ram': 4041732096L, u'octopi_version': u'0.17.0', u'version': u'1.5.2', u'pip': '19.1.1', u'cores': 4, u'freq': 1500.0, u'pi_model': u'Raspberry Pi 4 Model B Rev 1.1', u'bits': 32}
2021-01-05 04:19:33,608 - octoprint.plugins.tracking - INFO - Sent tracking event pong, payload: {u'python': '2.7.16', u'os': u'linux', u'ram': 4041732096L, u'octopi_version': u'0.17.0', u'version': u'1.5.2', u'plugins': u'displaylayerprogress:1.24.0,firmwareupdater:1.7.6,resource_monitor:0.2.7,portlister:0.1.10,influxdb:1.3.2,bedlevelvisualizer:1.0.0,excluderegion:0.3.0,dashboard:1.16.3,eeprom_marlin:3.0.1,preheat:0.5.1', u'pip': '19.1.1', u'cores': 4, u'freq': 1500.0, u'pi_model': u'Raspberry Pi 4 Model B Rev 1.1', u'bits': 32}
2021-01-05 04:19:33,836 - octoprint.server.util.sockjs - INFO - User firworks logged in on the socket from client ::ffff:192.168.1.23
2021-01-05 04:19:43,484 - octoprint.server.preemptive_cache - INFO - ... done in 10.82s
2021-01-05 04:19:43,485 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'query_string': 'l10n=en', 'path': '/', 'base_url': 'http://192.168.1.3/'}
2021-01-05 04:19:44,073 - octoprint.server.preemptive_cache - INFO - ... done in 0.59s
2021-01-05 04:19:53,136 - octoprint.server.util.flask - INFO - Passively logging in user firworks from ::ffff:192.168.1.23
2021-01-05 04:19:53,138 - octoprint.access.users - INFO - Logged in user: firworks
2021-01-05 04:19:53,240 - octoprint.server.util.sockjs - INFO - Client connection closed: ::ffff:192.168.1.23
2021-01-05 04:19:54,009 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:192.168.1.23
2021-01-05 04:19:54,065 - octoprint.server.util.flask - INFO - Passively logging in user firworks from ::ffff:192.168.1.23
2021-01-05 04:19:54,066 - octoprint.access.users - INFO - Logged in user: firworks
2021-01-05 04:19:56,242 - octoprint.server.util.sockjs - INFO - User firworks logged in on the socket from client ::ffff:192.168.1.23
2021-01-05 04:20:06,470 - octoprint.plugins.eeprom_marlin - INFO - M503 detected, collecting data
2021-01-05 04:20:06,500 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:20:06,502 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M149 C ; Units in Celsius

2021-01-05 04:20:06,547 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:20:06,548 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M906 X900 Y900 Z900

2021-01-05 04:20:06,552 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:20:06,554 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M906 T0 E1000

2021-01-05 04:20:06,559 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:20:06,559 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M569 S1 X Y Z

2021-01-05 04:20:06,561 - octoprint.plugins.eeprom_marlin - WARNING - Did not recognise EEPROM data, skipping line
2021-01-05 04:20:06,562 - octoprint.plugins.eeprom_marlin - WARNING - Line: echo: M569 S1 T0 E

2021-01-05 04:20:06,570 - octoprint.plugins.eeprom_marlin - INFO - Finished data collection, updating UI

Versions, system information

Plugin Version: 3.0.1

OctoPrint

Version: 1.5.2

Operating System running OctoPrint: Raspbian 10 (Buster)

Printer model & firmware version: Anycubic Kossel Linear Plus with SKR V1.3 running Marlin 2.0.7.2

Browser: Chrome

Additional context, screenshots, anything else you think might be useful

Gcode Example from my machine:

Send: M503
Recv: echo:; Delta settings: L R H S XYZ ABC
Recv: echo: M665 L267.0000 R133.5951 H270.6000 S80.0000 X0.2631 Y-0.0122 Z-0.2509 A0.0000 B0.0000 C0.0000

I've edited the current plugin already to successfully support this but I cannot figure out how to actually setup a proper development environment as per the contribution guidelines to make a commit and pull request for this issue. The above log and behavior report however is with a clean fresh install of the plugin.

EEPROM Editor's 'Load/Save/Reset' are available to users with "Read-only access"

Describe the bug

EEPROM Editor's 'Load/Save/Reset' are available to users with "Read-only access".

Steps To Reproduce

  1. Be logged in as an Admin user
  2. Go to Access Control/Groups
  3. Edit Guest user
  4. Enable Subgroups/Read-only Access for Guest User
  5. Confirm, Save
  6. Logout
  7. As Guest, go to EEPROM Editor tab and trash the EEPROM contents. ;-)

Expected behavior

Save/Reset should not be available to users with "Read-only Access".

Logs

octoprint.log: https://pastebin.com/MR3tadfU

Versions, system information

Plugin Version: 3.0.2

OctoPrint

Version: 1.6.0

Operating System running OctoPrint: OctoPi 0.17.0

Printer model & firmware version: Lulzbot Mini, Firmware Version 1.1.9.34

Browser: Firefox 88.0

Additional context, screenshots, anything else you think might be useful

[Bug] "Hello from a new maintainer!" dialog does not go away

Describe the bug
I've installed the new version on my OctoPi
when loading the Web UI I get the "Hello from a new maintainer!" dialog - clicking "Finish" does nothing.
The log contain the following error:

2020-11-30 20:33:31,481 - octoprint - ERROR - Exception on /api/settings [POST]
Traceback (most recent call last):
File "/home/pi/oprint/local/lib/python2.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/home/pi/oprint/local/lib/python2.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/pi/oprint/local/lib/python2.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/pi/oprint/local/lib/python2.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/home/pi/oprint/local/lib/python2.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/server/util/flask.py", line 1539, in decorated_view
return func(*args, **kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/vendor/flask_principal.py", line 199, in _decorated
rv = f(*args, **kw)
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/server/api/settings.py", line 388, in setSettings
response = _saveSettings(data)
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/server/api/settings.py", line 936, in _saveSettings
"gcode", name, script.replace("\r\n", "\n").replace("\r", "\n")
AttributeError: 'NoneType' object has no attribute 'replace'

[Bug] intermittent issue detecting marlin printer

Describe the bug
most of the time when I go to the edit tab it will give the error message "Sorry. This plugin does not work with your machine, only Marlin based firmware." some times it will work but not often.

Steps To Reproduce

  1. Go to the EEPROM tab
  2. See error. this is intermittent and i have not pined down the cause yet.

Expected behavior
it works

Logs

octoprint.log: https://pastebin.com/eVZZWukX (i have remove the server heartbeat entries because the log was too big for pastebin)

Versions, system information
Plugin:
Version: 2.0.0
OctoPrint
Version: 1.5.0rc1
Operating System running OctoPrint: OctoPi

Printer model & firmware version: Prusa i3, Marlin
Browser: Chrome

Additional context, screenshots, anything else you think might be useful

Remove whitespace before Firmware Info

Hi there, thanks for taking over the plugin.

I've found an issue to query you about:
image

There is a large amount of whitespace in front of the Firmware Info output.

Thanks!

[Request] Disable ability to write to EEPROM for some users, eg. members of Read-only Access group

Is your feature request related to a problem? Please describe.

It seems that any user with access to octoprints web interface can use the plugin to write to EEPROM, including members of the Read-only Access group which makes it problematic.

Describe the solution you'd like

It would be great if the permission management system already present in octoprint could be used to disable access for chosen users and/or groups of users.

Describe alternatives you've considered

Not really since the only alternative would be uninstalling. Or maybe enabling just when needed, but...

Additional context

I wanted to set up an account for another household member that should not be allowed access to the printer itself.

[Request]: BED PID Values

What do you need help with?

Why does the JSON have this?
"bed_pid": {"command": "M304", "params": {"P": null, "I": null, "D": null}}
Send: M304
Recv: echo: M304 P180.15 I35.19 D614.93
Is what is reported via terminal?

M503 Response

Send: M503
Recv:  T:19.22 /0.00 B:23.55 /0.00 @:0 B@:0
Recv: echo:; Linear Units:
Recv:   G21 ; (mm)
Recv: echo:; Temperature Units:
Recv: echo:  M149 C ; Units in Celsius
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 E142.00
Recv: echo:; Max feedrates (units/s):
Recv: echo:  M203 X500.00 Y500.00 Z10.00 E50.00
Recv: echo:; Max Acceleration (units/s2):
Recv: echo:  M201 X500.00 Y500.00 Z100.00 E5000.00
Recv: echo:; Acceleration (units/s2) (P<print-accel> R<retract-accel> T<travel-accel>):
Recv: echo:  M204 P500.00 R1000.00 T500.00
Recv: echo:; Advanced (B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> J<junc_dev>):
Recv: echo:  M205 B20000.00 S0.00 T0.00 J0.08
Recv: echo:; Home offset:
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:; Auto Bed Leveling:
Recv: echo:  M420 S1 Z10.00 ; Leveling ON
Recv: echo:  G29 W I0 J0 Z-0.07876
Recv: echo:  G29 W I1 J0 Z0.09749
Recv: echo:  G29 W I2 J0 Z0.09149
Recv: echo:  G29 W I3 J0 Z0.20499
Recv: echo:  G29 W I4 J0 Z0.14749
Recv: echo:  G29 W I0 J1 Z-0.11601
Recv: echo:  G29 W I1 J1 Z0.00024
Recv: echo:  G29 W I2 J1 Z0.00874
Recv: echo:  G29 W I3 J1 Z0.10774
Recv: echo:  G29 W I4 J1 Z0.10124
Recv: echo:  G29 W I0 J2 Z-0.14101
Recv: echo:  G29 W I1 J2 Z-0.01276
Recv: echo:  G29 W I2 J2 Z0.01599
Recv: echo:  G29 W I3 J2 Z0.07374
Recv: echo:  G29 W I4 J2 Z0.06374
Recv: echo:  G29 W I0 J3 Z-0.23376
Recv: echo:  G29 W I1 J3 Z-0.08251
Recv: echo:  G29 W I2 J3 Z-0.05126
Recv: echo:  G29 W I3 J3 Z0.06249
Recv: echo:  G29 W I4 J3 Z0.06124
Recv: echo:  G29 W I0 J4 Z-0.32926
Recv: echo:  G29 W I1 J4 Z-0.15401
Recv: echo:  G29 W I2 J4 Z-0.15751
Recv: echo:  G29 W I3 J4 Z0.03024
Recv: echo:  G29 W I4 J4 Z0.07524
Recv: echo:; Material heatup parameters:
Recv: echo:  M145 S0 H220.00 B60.00 F255
Recv: echo:  M145 S1 H235.00 B75.00 F255
Recv: echo:; Hotend PID:
Recv: echo:  M301 P21.73 I1.54 D76.55
Recv: echo:; Bed PID:
Recv: echo:echo:  M304 P180.15 I35.19 D614.93
Recv: echo:; Controller Fan:
Recv: echo:  M710 S255 I0 A1 D60 ; (100% 0%)
Recv: echo:; Z-Probe Offset:
Recv: echo:  M851 X-48.00 Y-10.00 Z-3.99 ; (mm)
Recv: echo:; Stepper driver current:
Recv: echo:  M906 X580 Y580 Z580
Recv: echo:  M906 T0 E650
Recv: 
Recv: echo:; Driver stepping mode:
Recv: echo:  M569 S1 X Y Z
Recv: echo:  M569 S1 T0 E
Recv: echo:; Linear Advance:
Recv: echo:  M900 K0.00
Recv: echo:; Filament load/unload:
Recv: echo:  M603 L200.00 U120.00 ; (mm)
Recv: ok

Release candidate 3.0.0rc2 Feedback ticket

Marlin EEPROM Editor 3.0.0rc2 Feedback

Installation

Install using the following URL in OctoPrint's plugin manager > get more > ...from URL:

https://github.com/cp2004/OctoPrint-EEPROM-Marlin/archive/3.0.0rc2.zip

Once that is installed (and in OP 1.5.0+) you will be able to select 'release candidate' as the release channel (under 'Software Update'), to get future RC updates automatically:
image

For a full overview of the features that have gone into this release, please read the release notes

Known Issues

  • ✔️ 🐛 Whitespace in front of command can be more than one, breaking parsing
  • ✔️ 🐛 Incorrect label on E steps
  • ✔️ 🐛 Backup creation will fail when there are no backups created yet

Reporting an issue

Please open a full bug report in the repository, providing full OctoPrint logs. Feel free to comment on this post to provide feedback, but for bugs please open a full report. Thank you!

[Bug] Parameters not reported get sent to printer as none, breaking other things

Hello,

I recently installed this plugin on octoprint 1.5.2 for my CR-6 SE which was flushed with the latest RC5 firmware.
As usual, I try to set the z jerk to 0.5 instead of 0.3 and I noticed that the E jerk changed to 0.
Checking the command this EEPROM editor was sending:
M205 S0 T0.0 B20000.0 X10.0 Y10.0 Z0.5 E5.0 JNone
The last part of JNone is screwing the eeprom.
I assume is an easy fix somewhere in your scripts.
My machine does not report a J value by default, so I assume is 0 or you can have if None, then do not send J command.

What means 02 and 09 on Firmware info?

image

FIRMWARE_NAME:Marlin 2.0.7.3 M.A.R.C. BLTouch, based on bugfix-2.0.x (Mar 30 2021 02:09:50) SOURCE_CODE_URL:github.com/mriscoc/Marlin_Ender3v2/tree/bugfix-2.0.x-BLTouch PROTOCOL_VERSION:1.0 MACHINE_TYPE:Ender 3v2 3D/BLTouch EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff

Regards,

[Bug] Backup Feature Doesn't Backup

Describe the bug
Perhaps I' m misunderstanding its function, but the Backup button seems to create a file that contains nothing useful. It certainly doesn't contain human-readable GCode for restoring EEPROM settings, which is what I would expect it to do.

Steps To Reproduce

  1. Load your firmware's settings
  2. Click on Backup
  3. Save the downloaded file when prompted
  4. Examine file's contents

Mine:

Send: M504
Recv: echo:EEPROM OK
Recv: ok P63 B31,Send: M501

Expected behavior
Not sure what to expect, but I wasn't expecting this.

Logs
octoprint.log

Versions, system information
Plugin:
2.0.0
OctoPrint
1.4.2
Operating System running OctoPrint:
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian

Linux octopi 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux

Printer model & firmware version:
Ender 5 Plus, BTT SKR 1.4 Turbo, Marlin 2.0.6.1

Browser:
Microsoft Edge Chromium

Additional context, screenshots, anything else you think might be useful

[Request]: Rename backups

What would you like implemented?

Hi!

Please add a button to rename existing backups or at least add a comment. I like to backup my EEPROM settings before and after changing the firmware and it would be very helpful to add some description to a backup.

Regards,
Holger

M503 Response

No response

[Feedback] Marlin EEPROM Editor 3.2.0rc Feedback

It's here, 3.2.0rc1/2 Release Candidate!

Be sure to check out the release candidate release notes here for details of all the changes.

Please test this release, and let me know what you think. If all goes well this will be released at some point next week, so feedback is important to make sure that everything is good! An 'All is working well' is great feedback, since it lets me know people are actually testing this release, even if there are no issues to report.

If you find a bug please use the bug report template and send across the logs, so that I can get it fixed as quickly as possible.

Will be going stable as soon as possible :)

[Bug]: Capabilities re-arranging in the Firmware Info screen

Description of the bug

When pressing the "Load" button in the Firmware Info tab, the Capabilities rearrange from alphabetcial order to a seemingly random order. Expected behavior is that the capabilities remain in alphabetical order.

Plugin version

3.1.0

OctoPrint version

1.6.1

M503 Response

Send: M503
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 Z400.00 E93.00
Recv: echo:; Maximum feedrates (units/s):
Recv: echo:  M203 X500.00 Y500.00 Z5.00 E25.00
Recv: echo:; Maximum Acceleration (units/s2):
Recv: echo:  M201 X500.00 Y500.00 Z100.00 E1000.00
Recv: echo:; Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
Recv: echo:  M204 P4000.00 R500.00 T4000.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 X20.00 Y20.00 Z0.30 E5.00
Recv: echo:; Home offset:
Recv: echo:  M206 X0.00 Y0.00 Z0.00
Recv: echo:; Auto Bed Leveling:
Recv: echo:  M420 S0 Z10.00
Recv: echo:  G29 W I0 J0 Z-0.19950
Recv: echo:  G29 W I1 J0 Z-0.27300
Recv: echo:  G29 W I2 J0 Z-0.43650
Recv: echo:  G29 W I0 J1 Z0.10400
Recv: echo:  G29 W I1 J1 Z0.00150
Recv: echo:  G29 W I2 J1 Z-0.19300
Recv: echo:  G29 W I0 J2 Z0.27150
Recv: echo:  G29 W I1 J2 Z0.14550
Recv: echo:  G29 W I2 J2 Z-0.08900
Recv: echo:; Material heatup parameters:
Recv: echo:  M145 S0 H150.00 B45.00 F255
Recv: echo:  M145 S1 H190.00 B55.00 F255
Recv: echo:  M145 S2 H240.00 B70.00 F255
Recv: echo:  M145 S3 H240.00 B70.00 F255
Recv: echo:; PID settings:
Recv: echo:  M301 P25.83 I2.15 D77.64
Recv: echo:  M304 P136.36 I26.58 D466.35
Recv: echo:; LCD Brightness:
Recv: echo:  M251 B255
Recv: echo:; Power-Loss Recovery:
Recv: echo:  M413 S1
Recv: echo:; Z-Probe Offset (mm):
Recv: echo:  M851 X-44.00 Y-7.00 Z-1.22
Recv: echo:; Filament load/unload lengths:
Recv: echo:  M603 L0.00 U0.00
Recv: echo:; Filament runout sensor:
Recv: echo:  M412 S0 D0.00
Recv: ok

API Response

{"backups":[{"name":"eeprom_backup-20210731-225748","time":"2021-07-31 22:57:48"}],"eeprom":{"advanced":{"command":"M205","params":{"B":20000.0,"E":5.0,"J":null,"S":0.0,"T":0.0,"X":20.0,"Y":20.0,"Z":0.3}},"autolevel":{"command":"M420","params":{"S":false,"Z":10.0}},"bed_pid":{"command":"M304","params":{"D":466.35,"I":26.58,"P":136.36}},"delta":{"command":"M665","params":{"A":null,"B":null,"C":null,"H":null,"L":null,"R":null,"S":null,"X":null,"Y":null,"Z":null}},"endstop":{"command":"M666","params":{"X":null,"Y":null,"Z":null}},"feedrate":{"command":"M203","params":{"E":25.0,"X":500.0,"Y":500.0,"Z":5.0}},"filament":{"command":"M200","params":{"D":1.75}},"filament_change":{"command":"M603","params":{"L":0.0,"U":0.0}},"filament_runout":{"command":"M412","params":{"D":0.0,"H":null,"S":false}},"home_offset":{"command":"M206","params":{"X":0.0,"Y":0.0,"Z":0.0}},"hotend_pid":{"command":"M301","params":{"D":77.64,"I":2.15,"P":25.83}},"linear":{"command":"M900","params":{"K":null}},"material1":{"command":"M145","params":{"B":45.0,"F":255.0,"H":150.0,"S":0.0}},"material2":{"command":"M145","params":{"B":55.0,"F":255.0,"H":190.0,"S":1.0}},"max_acceleration":{"command":"M201","params":{"E":1000.0,"X":500.0,"Y":500.0,"Z":100.0}},"print_acceleration":{"command":"M204","params":{"P":4000.0,"R":500.0,"T":4000.0}},"probe_offset":{"command":"M851","params":{"X":-44.0,"Y":-7.0,"Z":-1.22}},"steps":{"command":"M92","params":{"E":93.0,"X":80.0,"Y":80.0,"Z":400.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":{"EXTRUDER_COUNT":"1","FIRMWARE_NAME":"Marlin Marlin-JyersUI (Jul 30 2021 01:51:50)","MACHINE_TYPE":"Ender-3 V2","PROTOCOL_VERSION":"1.0","SOURCE_CODE_URL":"github.com/MarlinFirmware/Marlin","UUID":"cede2a2f-41a2-4748-9b12-c55c62f367ff"},"capabilities":{"ARCS":true,"AUTOLEVEL":true,"AUTOREPORT_POS":false,"AUTOREPORT_SD_STATUS":false,"AUTOREPORT_TEMP":true,"BABYSTEPPING":true,"BINARY_FILE_TRANSFER":false,"BUILD_PERCENT":true,"CASE_LIGHT_BRIGHTNESS":false,"CHAMBER_TEMPERATURE":false,"COOLER_TEMPERATURE":false,"EEPROM":true,"EMERGENCY_PARSER":true,"HOST_ACTION_COMMANDS":true,"LEVELING_DATA":true,"MEATPACK":true,"MOTION_MODES":false,"PRINT_JOB":true,"PROGRESS":false,"PROMPT_SUPPORT":true,"REPEAT":false,"RUNOUT":true,"SDCARD":true,"SD_WRITE":true,"SERIAL_XON_XOFF":false,"SOFTWARE_POWER":false,"THERMAL_PROTECTION":true,"TOGGLE_LIGHTS":false,"VOLUMETRIC":true,"Z_PROBE":true},"is_marlin":true,"name":"Marlin Marlin-JyersUI (Jul 30 2021 01:51:50)"}}

OctoPrint logs

octoprint.log

Could not parse output from pip, see plugin_pluginmanager_console.log for generated output

Describe the bug
Error while installing through plugin manager in Octoprint.

When installing the plugin, I receive the following pip error: "Could not parse output from pip....". Installation using the old link from ambsr works properly.

Logs
Installing plugin from https://github.com/cp2004/OctoPrint-EEPROM-Marlin/archive/master.zip...
/home/pi/oprint/bin/python2 -m pip --disable-pip-version-check install file:///tmp/tmpKzaJWr/OctoPrint-EEPROM-Marlin-master.zip --no-cache-dir
Processing /tmp/tmpKzaJWr/OctoPrint-EEPROM-Marlin-master.zip
Requirement already satisfied (use --upgrade to upgrade): Marlin-EEPROM-editor==2.0.0 from file:///tmp/tmpKzaJWr/OctoPrint-EEPROM-Marlin-master.zip in /home/pi/oprint/lib/python2.7/site-packages
Requirement already satisfied: OctoPrint in /home/pi/oprint/lib/python2.7/site-packages (from Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: OctoPrint-FirmwareCheck>=2020.06.22 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: OctoPrint-FileCheck>=2020.07.06 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: markupsafe<2.0,>=1.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: tornado==5.1.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: markdown<3.2,>=3.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: rsa==4.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: regex!=2018.11.6 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: flask<2,>=1.1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: Jinja2<3,>=2.11.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: Flask-Login<0.6,>=0.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: Flask-Babel<2,>=1.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: Flask-Assets<3,>=2.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: werkzeug<2,>=1.0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: itsdangerous<2,>=1.1.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: cachelib<1,>=0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: PyYAML<6,>=5.3.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: pyserial<4,>=3.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: netaddr<1,>=0.7.19 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: watchdog<1,>=0.10.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: sarge==0.1.5post0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: netifaces<1,>=0.10.9 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: pylru<2,>=1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: pkginfo<2,>=1.5.0.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: requests<3,>=2.23.0 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: semantic_version<3,>=2.8.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: psutil<6,>=5.7 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: Click<8,>=7.1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: feedparser<6,>=5.2.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: future<1,>=0.18.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: websocket-client<1,>=0.57 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: wrapt<2,>=1.12.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: emoji<1,>=0.5.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: frozendict<2,>=1.2 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: sentry-sdk<1,>=0.15.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: filetype<2,>=1.0.7 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: unidecode<0.05,>=0.04.14 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: blinker<2,>=1.4 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: futures<4,>=3.3 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: monotonic<2,>=1.5 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: scandir<2,>=1.10 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: chainmap<2,>=1.0.3 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: typing<4,>=3.7.4.1 in /home/pi/oprint/lib/python2.7/site-packages (from OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: singledispatch in /home/pi/oprint/lib/python2.7/site-packages (from tornado==5.1.1->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: backports_abc>=0.4 in /home/pi/oprint/lib/python2.7/site-packages (from tornado==5.1.1->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: setuptools>=36 in /home/pi/oprint/lib/python2.7/site-packages (from markdown<3.2,>=3.1->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: pyasn1>=0.1.3 in /home/pi/oprint/lib/python2.7/site-packages (from rsa==4.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: pytz in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: Babel>=2.3 in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: webassets>=2.0 in /home/pi/oprint/lib/python2.7/site-packages (from Flask-Assets<3,>=2.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: pathtools>=0.1.1 in /home/pi/oprint/lib/python2.7/site-packages (from watchdog<1,>=0.10.2->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: idna<3,>=2.5 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: certifi>=2017.4.17 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: chardet<4,>=3.0.2 in /home/pi/oprint/lib/python2.7/site-packages (from requests<3,>=2.23.0->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Requirement already satisfied: six in /home/pi/oprint/lib/python2.7/site-packages (from websocket-client<1,>=0.57->OctoPrint->Marlin-EEPROM-editor==2.0.0)
Error!
Could not parse output from pip, see plugin_pluginmanager_console.log for generated output

OctoPrint:
Operating System running OctoPrint: Raspberry Pi 3B
Octoprint Version: 1.4.2
Printer model & firmware version:
Browser: Chrome

Additional context, screenshots, anything else you think might be useful
Add any other context about the problem here.

[Feature Request] - Named backups

I'd love to see named backups that I could load.

The reason is that for highest accuracy, Bed Leveling, z-probe offsets, PID tunes, and a few other things depend on the temperatures to which the nozzle and/or bed are set. If there were named backups, stored on the local machine (i.e., the browser machine), you could load the one that had your PID tune, z-probe offset, and bed level mesh for the specific temperature you were about to print.

Development roadmap/plan for this plugin

I will be documenting my initial plans for development of this plugin in this ticket - please don't open issues for features that I already have on this list!

  • Python 3 compatibility
  • Fix some UI issues
  • Move tab from settings to its own tab
  • Add new maintainer dialog
  • Work out observed performance issues:
    • Issue commands on tab click (not app startup) to speed up load times Not required - re-written version will not need to do this at all. Requests are async, and parsing is done server side.
    • Send data to server, for persistence - means reloading does not have to parse all the data again, sending M5xx commands
  • Utilise server side
    • Allows for a more powerful implementation, where data is persisted across reloads.
    • Should allow you to view settings while the printer is printing.
    • Should solve performance issues
  • UI modifications, to make it more streamlined & easier to use
    • Display more helpful error messages (Not Marlin/No EEPROM/Error reading data etc.)
    • Make settings view-only during printing - requires python server side storage of data.
  • Test compatibility with latest Marlin
  • Sort out version number detection - get numbers for major/minor/patch etc. (remember Marlin 2.x used 4 sections - e.g. 2.0.5.3) so that there is less chance of error
    In the re-write of this plugin, there is no longer the need to detect versions.

[Request]: Under the "Firmware Info" Sort the "Capability" list by whats enabled aka all "True" at the top of list.

What would you like implemented?

It would be nice if the Capabilities where sorted by what is enabled

Instead of this:

Capability Enabled
Leveling Data True
Host Action Commands False
Serial Xon Xoff False
Arcs False
Software Power False
Cooler Temperature False
Meatpack False
Autolevel True
Babystepping True
Autoreport Pos False
Z Probe True
Prompt Support False
Toggle Lights False
Chamber Temperature False
Repeat False
Binary File Transfer False
Thermal Protection True
Case Light Brightness False
Sdcard True
Motion Modes False
Autoreport Sd Status False
Build Percent False
Print Job True
Volumetric True
Runout False
Autoreport Temp True
Sd Write True
Progress False
Emergency Parser False
Eeprom True

to be sorted like this:

Capability Enabled
Leveling Data True
Autolevel True
Babystepping True
Z Probe True
Thermal Protection True
Sdcard True
Print Job True
Volumetric True
Autoreport Temp True
Sd Write True
Eeprom True
Host Action Commands False
Serial Xon Xoff False
Arcs False
Software Power False
Cooler Temperature False
Meatpack False
Autoreport Pos False
Prompt Support False
Toggle Lights False
Chamber Temperature False
Repeat False
Binary File Transfer False
Case Light Brightness False
Motion Modes False
Autoreport Sd Status False
Build Percent False
Runout False
Progress False
Emergency Parser False

M503 Response

No response

[Bug] Stuck on Hello dialog

Describe the bug

After installing I'm stuck at the "hello from a new maintainer" dialog. Impossible to close it, the exit button does nothing, so I can't use octoprint anymore.

Steps To Reproduce

  1. Uninstall the old plugin
  2. Install the new version
  3. Get screwed

Expected behavior
Honestly I expected that exit button to just works.

Logs
I don't have access to octoprint anymore as I'm stucked on this dialog

Versions, system information
Plugin:
Version: latest version
OctoPrint
Version: 1.5.0rc3
Operating System running OctoPrint: octopi

Printer model & firmware version: doesn't matter
Browser: Google chrome
marlinplugin

[Bug]Parse error

Describe the bug

hello,

Parsing problem following the update

Steps To Reproduce

Load eeprom

Expected behavior

....

Logs

octoprint.log:

2020-12-23 22:53:10,363 - octoprint.plugins.eeprom_marlin - INFO - M503 detected, collecting data
2020-12-23 22:53:10,417 - octoprint.plugins.eeprom_marlin - ERROR - Unrecognised EEPROM output line, could not parse
2020-12-23 22:53:10,419 - octoprint.plugins.eeprom_marlin - ERROR - Line: echo:  M149 C ; Units in Celsius
2020-12-23 22:53:10,550 - octoprint.plugins.eeprom_marlin - ERROR - Unrecognised EEPROM output line, could not parse
2020-12-23 22:53:10,551 - octoprint.plugins.eeprom_marlin - ERROR - Line: echo:  M603 L100.00 U120.00
2020-12-23 22:53:10,554 - octoprint.plugins.eeprom_marlin - INFO - Finished data collection, updating UI

Versions, system information

Plugin Version: 3.0.0

OctoPrint

Version: 1.5.2

Operating System running OctoPrint:

Printer model & firmware version: CR-10S with marlin 1.1.9

Browser:

Additional context, screenshots, anything else you think might be useful

Release Candidate 3.0.0rc3 & rc4 Feedback

Marlin EEPROM Editor 3.0.0rc3 & rc4 Feedback

Installation

Install using the following URL in OctoPrint's plugin manager > get more > ...from URL:

https://github.com/cp2004/OctoPrint-EEPROM-Marlin/archive/3.0.0rc4.zip

Once that is installed (and in OP 1.5.0+) you will be able to select 'release candidate' as the release channel (under 'Software Update'), to get future RC updates automatically:
image

For a full overview of the features that have gone into this release, please read the release notes

Known Issues

  • None yet 🙂

Reporting an issue

Please open a full bug report in the repository, providing full OctoPrint logs. Feel free to comment on this post to provide feedback, but for bugs please open a full report. Thank you!

Scheduled release timeline

  • Release candidates:
    • ✔️ RC1: 13/12/2020
    • ✔️ RC2: 13/12/2020
    • ✔️ RC3: 14/12/2020
    • ✔️ RC4: 18/12/2020
  • 📆 Stable release currently scheduled for Sunday, 20/12/2020 pending successful RC phase

[Bug] Potentially Requires EEPROM Chitchat to be enabled in FW

Hi,
I have an Anet A8. With old firmware SkyNet3D, 2.0.0 version of this pluging was working perfectly well but after updating to Marlin 2.0.7.2, all tabs have disappeared and only can see some firmware values.
Here you've got a screen capture to illustrate.
I had to disable a lot of stuff in the firmware to keep auto level and power loss functionality, so I have also attached my configuration.h and configuration_adv.h files in case this is what is causing the issue.
Octoprint log is also attached.

Configuration.zip
image

Thanks and best regards,

José
octoprint.log

Feedback on the 3.1.0rc2 release candidate

It's here, 3.1.0rc2 Release Candidate!

Be sure to check out the release candidate release notes here for details of all the changes.

Please test this release, and let me know what you think. If all goes well this will be released at some point next week, so feedback is important to make sure that everything is good! An 'All is working well' is great feedback, since it lets me know people are actually testing this release, even if there are no issues to report.

If you find a bug please use the bug report template and send across the logs, so that I can get it fixed as quickly as possible.

[Bug] Cosmetic error only: Shows vague error message while printing

Describe the bug
Cosmetic bug - error message is somewhat confusing.

Steps To Reproduce
Start a print
Open Editor tab shows this error, despite the editor working just fine before starting the print:
CR-10 v2 (Yellow) LAN  OctoPrint  - 72% 2020-10-19 16-05-18
This could confuse someone into thinking that the plugin won't work for them or that there's been some sort of massive sudden EEPROM fault, when, in fact, it works fine if they were not printing at the moment.

Tiny little thing in the larger order of things, but I thought it was worth pointing out.

Expected behavior
Should say something on the order of "Error: Either this plugin does not function with your machine (only Marlin based EEPROM machines are supported) , or the plugin is currently disabled because a print is in progress."

Logs

octoprint.log: not needed for this one.

Versions, system information
Plugin:
Version: 2.0
OctoPrint
Version: 1.4.2
Operating System running OctoPrint:
Mac OS X 10.15.7
Printer model & firmware version: n/a
Browser: n/a

Additional context, screenshots, anything else you think might be useful

Missing Steps menu in editor

What do you need help with?

When I select the the EEPROM Editor tab, I'm missing the Steps and Linear Advance; the latter might be not having Linear Advance enable in the firmware....I need to check on that but most definitely the Steps menu is missing.

Also I'm running Marlin 2.0.8.1

Link to octoprint.log

https://pastebin.com/BJYmRU4D

EEPROM Settings Not Available

Communication with EEPROM

I am using OctoPrint with the SKR Mini e3 v2 and I have the Marlin EEPROM editor installed. I can view some of the current settings but only the firmware info tab. I also have not been able to make any adjustments. I have set the basic settings:

#define EEPROM_SETTINGS
#define DISABLE_M503
#define EEPROM_CHITCHAT

I don't understand why the rest of the settings do not appear. Am I doing something wrong?

I have attached a picture of the interface that I am seeing.

EEPROMEditor

Multiple Extruders

I have two different extruders with different e step values. In the "steps" section it only shows me the esteps for the second extruder (tool 1) and not the primary (tool 0).

This is a printer that I've recently customized myself, so there's a chance I did something wrong in the firmware, but I don't think so at the moment.

[Request]: support for editing more than one tmc driver current setting when dual, triple or quad Z drivers are configured

What would you like implemented?

I know this may be of no use to most users but to those that have more than one independantly controlled Z axis stepper it would be of great use. (Creality Ender 5 with dual independant Z and custom built machines fall into this FR.)

Could it be added to read and adjust the current on multi Z axis stepper drivers when individual stepper drivers are used. I Do not know if any of my ramblings comes over as it is supposed to do and I quite often confuse myself trying to write and explain things but here goes:-

I use 2 steppers with 2 tmc stepper drivers ( one on each stepper motor) on my Z axis, Marlin is configured to use 2 steppers and use G34 leveling etc, In the eeprom settings plugin it only shows one Z axis driver current so does it is only adjust the one that I can see or does it adjusts both at the same time using some hidden magic ?.

If it only adjusts say Z1 can you add an option to adjust Z2 (could be wrong with the numbering and its Z0 & Z1 as you know I aint no marlin guru) Maybe it might be possible to read the amount of marlin configured Z and get your great eeprom plugin to match.

The only problem I see that may make it not possible is that the second driver is in what would have been a second extruder that is now reconfigured as the second Z axis stepper and I take it that is why it shows up as I1 Z550 in the M503 printout but then again the second extruder would be T1.

If this is not possible or viable please feel free to close & delete this request

Thanks in advance.
Chris

M503 Response

echo:  G21    ; Units in mm (mm)
echo:  M149 C ; Units in Celsius

echo:; Filament settings: Disabled
echo:  M200 S0 D1.7500
echo:; Steps per unit:
echo: M92 X80.0000 Y80.0000 Z800.0000 E138.2978
echo:; Maximum feedrates (units/s):
echo:  M203 X300.0000 Y300.0000 Z10.0000 E25.0000
echo:; Maximum Acceleration (units/s2):
echo:  M201 X500.0000 Y500.0000 Z100.0000 E5000.0000
echo:; Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
echo:  M204 P500.0000 R500.0000 T500.0000
echo:; Advanced: B<min_segment_time_us> S<min_feedrate> T<min_travel_feedrate> J<junc_dev>
echo:  M205 B20000.0000 S0.0000 T0.0000 J0.0800
echo:; Home offset:
echo:  M206 X0.0000 Y0.0000 Z0.0000
echo:; Auto Bed Leveling:
echo:  M420 S1 Z10.0000
echo:  G29 W I0 J0 Z0.18187
echo:  G29 W I1 J0 Z0.03937
echo:  G29 W I2 J0 Z0.07625
echo:  G29 W I3 J0 Z0.06937
echo:  G29 W I4 J0 Z0.23937
echo:  G29 W I0 J1 Z0.16875
echo:  G29 W I1 J1 Z0.05687
echo:  G29 W I2 J1 Z0.03250
echo:  G29 W I3 J1 Z0.01437
echo:  G29 W I4 J1 Z0.12563
echo:  G29 W I0 J2 Z0.13875
echo:  G29 W I1 J2 Z0.07750
echo:  G29 W I2 J2 Z0.09125
echo:  G29 W I3 J2 Z0.09187
echo:  G29 W I4 J2 Z0.14625
echo:  G29 W I0 J3 Z0.14875
echo:  G29 W I1 J3 Z0.09000
echo:  G29 W I2 J3 Z0.09938
echo:  G29 W I3 J3 Z0.10938
echo:  G29 W I4 J3 Z0.20250
echo:  G29 W I0 J4 Z0.20000
echo:  G29 W I1 J4 Z0.13750
echo:  G29 W I2 J4 Z0.15188
echo:  G29 W I3 J4 Z0.20313
echo:  G29 W I4 J4 Z0.32250
echo:; Material heatup parameters:
echo:  M145 S0 H160.0000 B70.0000 F0
echo:  M145 S1 H180.0000 B70.0000 F0
echo:  M145 S2 H180.0000 B100.0000 F0
echo:  M145 S3 H180.0000 B70.0000 F0
echo:; PID settings:
echo:  M301 P25.4240 I2.5085 D64.4182
echo:  M304 P124.5676 I19.4288 D532.4437
echo:; Z-Probe Offset (mm):
echo:  M851 X-45.0000 Y-25.0000 Z-0.4900
echo:; Stepper driver current:
echo:  M906 X550 Y550 Z550
echo:  M906 I1 Z550
echo:  M906 T0 E600

echo:; Hybrid Threshold:
echo:  M913 X229 Y229 Z164
echo:  M913 I1 Z164
echo:  M913 T0 E19

echo:; Driver stepping mode:
echo:  M569 S1 X Y Z
echo:  M569 S1 I1 Z
echo:  M569 S1 T0 E

[Bug] Import unknown module

Hi

Running v3.0.1 on Octoprint 1.3.12, with python 2.7, get an error on startup. See logs below.
Issue is in octoprint_eeprom_marlin/util.py, introduced in commit 4e9690c.

Fix:

from octoprint.vendor.awesome_slugify import Slugify

-- to --

try:
# OctoPrint>=1.4.1
from octoprint.vendor.awesome_slugify import Slugify
except ImportError:
# OctoPrint<=1.4.0
from slugify import Slugify

Logs:
2021-02-14 13:18:47,254 - octoprint.plugin.core - ERROR - Error loading plugin eeprom_marlin
Traceback (most recent call last):
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/plugin/core.py", line 863, in _import_plugin
instance = imp.load_module(module_name, f, filename, description)
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_eeprom_marlin/init.py", line 17, in
from octoprint_eeprom_marlin import (
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_eeprom_marlin/api.py", line 13, in
from octoprint_eeprom_marlin import util
File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint_eeprom_marlin/util.py", line 50, in
from octoprint.vendor.awesome_slugify import Slugify
ImportError: No module named awesome_slugify

[Request] Bed Level mesh

Is your feature request related to a problem? Please describe.

Please add the retrieval, display, editing, and storage for the bed level mesh. (accessible with M420 V)

Unfortunately, there's a bug somewhere in Marlin that loses the latest bed level mesh (and reverts to the previous one, how that happens, I haven't a clue) if you turn the printer controller off and on, forcing a new mesh to be generated for accuracy. You can see this by doing a bed level, looking at it in the Bed Visualizer plugin, turning the machine off and on, and looking at it again in the Bed Visualizer. I believe I recall @jneilliii discussing it somewhere in that plugin's issues, but I can't remember which thread. I also know that the guy who compiles the fantastic Marlin versions (that I use with a few minor tweaks of my own) for the CR-10v2/3 on facebook (Nic Wilson) has described and discussed it as well.

Describe the solution you'd like

If the EEPROM Editor could retrieve, display and save (and allow editing if you have a .csv to enter), it would eliminate the need to re-do the bed level, because you could just load and store a backup with the proper mesh.

Describe alternatives you've considered

Doing the [in my case, 81 point] bed level every time the machine has to be cycled for some other reason, despite the bed level having not changed.

Additional context

[Improvement]: Editor will always fail on printers with the PASSWORD_FEATURE enabled.

Description of the bug

When connecting to a printer with the password feature enabled, the editor will fail to read from the eeprom and assume that there is no printer connected at all. This state remains regardless of when the printer is unlocked and only ends when octoprint is disconnects from the printer. This bug will simply reoccur when the printer re-locks due to octoprint restarting it on connection.

The editor should be able to detect, respond accordingly to a locked printer, and function normally when said printer is put in an unlocked state. Either by polling to see if the printer is unlocked, or waiting for the user to manually force a retry.

For the sake of possibly saving time (and because its not in any of the data included below), the printer is running marlin 2.0.9.1 and does have a working, enabled eeprom.

Plugin version

3.1.0

OctoPrint version

1.6.1

M503 Response

Send: N172 M503*33
Recv: echo:Printer locked! (Unlock with M511 or LCD)
Recv: ok
Send: N173 M511 P1234*87
Recv: ok
[...]
Send: N175 M50*21
Recv: echo:Unknown command: "M50"
Recv: ok
[...]
Send: N177 M503*36
Recv: echo:  G21    ; Units in mm (mm)
Recv: echo:  M149 C ; Units in Celsius
Recv: 
Recv: echo:; Filament settings: Disabled
Recv: echo:  M200 S0 D1.75
Recv: echo:; Steps per unit:
Recv: echo: M92 X80.00 Y80.00 Z80.00 E96.00
Recv: echo:; Maximum feedrates (units/s):
Recv: echo:  M203 X100.00 Y100.00 Z100.00 E100.00
Recv: echo:; Maximum Acceleration (units/s2):
Recv: echo:  M201 X3000.00 Y3000.00 Z3000.00 E3000.00
Recv: echo:; Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
Recv: echo:  M204 P3000.00 R3000.00 T3000.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 X5.00 Y5.00 Z5.00 E5.00
Recv: echo:; Auto Bed Leveling:
Recv: echo:  M420 S0
Recv: echo:; Delta settings: L<diagonal rod> R<radius> H<height> S<segments per sec> XYZ<tower angle trim> ABC<rod trim>
Recv: echo:  M665 L218.00 R97.40 H335.50 S80.00 X0.00 Y0.00 Z0.00 A0.00 B0.00 C0.00
Recv: ; Endstop adjustment:
Recv: echo:  M666 X0.00 Y0.00 Z0.00
Recv: echo:; Material heatup parameters:
Recv: echo:  M145 S0 H200.00 F255
Recv: echo:  M145 S1 H240.00 F255
Recv: echo:; PID settings:
Recv: echo:  M301 P35.54 I3.53 D89.52
Recv: echo:; Filament load/unload lengths:
Recv: echo:  M603 L650.00 U750.00
Recv: ok

API Response

{"backups":[{"name":"eeprom_backup-20210817-172020","time":"2021-08-17 17:20:20"}],"eeprom":{"advanced":{"command":"M205","params":{"B":null,"E":null,"J":null,"S":null,"T":null,"X":null,"Y":null,"Z":null}},"autolevel":{"command":"M420","params":{"S":null,"Z":null}},"bed_pid":{"command":"M304","params":{"D":null,"I":null,"P":null}},"delta":{"command":"M665","params":{"A":null,"B":null,"C":null,"H":null,"L":null,"R":null,"S":null,"X":null,"Y":null,"Z":null}},"endstop":{"command":"M666","params":{"X":null,"Y":null,"Z":null}},"feedrate":{"command":"M203","params":{"E":null,"X":null,"Y":null,"Z":null}},"filament":{"command":"M200","params":{"D":null}},"filament_change":{"command":"M603","params":{"L":null,"U":null}},"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":null,"I":null,"P":null}},"linear":{"command":"M900","params":{"K":null}},"material1":{"command":"M145","params":{"B":null,"F":null,"H":null,"S":null}},"material2":{"command":"M145","params":{"B":null,"F":null,"H":null,"S":null}},"max_acceleration":{"command":"M201","params":{"E":null,"X":null,"Y":null,"Z":null}},"print_acceleration":{"command":"M204","params":{"P":null,"R":null,"T":null}},"probe_offset":{"command":"M851","params":{"X":null,"Y":null,"Z":null}},"steps":{"command":"M92","params":{"E":null,"X":null,"Y":null,"Z":null}},"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":""}}

OctoPrint logs

octoprint.log

[Request] M78 support

Is your feature request related to a problem? Please describe.

Could you please add M78 support to the Advanced Panel, so that printer stats show from the last time a "load" is done? Not exactly EEPROM, as clearing the EEPROM doesn't reset it, but informational nonetheless

Send: M78
Recv: Stats: Prints: 1683, Finished: 1489, Failed: 194
Recv: Stats: Total time: 153d 23h 16m 42s, Longest job: 14d 7h 43m 9s
Recv: Stats: Filament used: 29846.78m

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.