Closed swheettaos closed 3 years ago
nope .. with fresh install of the plugin (removal and cleanup) still just can't connect .. it's timing out when trying to connect to the serial port. If I go in and disable the plugin and restart octoprint it then works just fine. What do you need from me to debug?
I'm upgrading to python 3 to see if that fixes it.
Marlin builds from marlin.crc.id.au do not have the MEATPACK
mode enabled, so the firmware does not have it enabled.
You will need to enable this preprocessor directive yourself and compile the firmware. Unfortunately it is still a nascent feature, and CI/CD servers haven't yet been updated to enable this feature.
Without the feature enabled in the firmware configuration at build time, it will not work and you will not be able to connect.
The latest nightly build has it enabled and I can see it in the firmware options set to true. He just posted about it being enabled on on the firmware builds..
That's good it's been enabled as of the 27th, What does your octoprint.log file look like?
env.python.pip: 21.0 env.python.version: 3.7.3
still not working ..
2021-01-27 02:51:20,566 - octoprint.startup - INFO - **
2021-01-27 02:51:20,568 - octoprint.startup - INFO - Starting OctoPrint 1.5.3
2021-01-27 02:51:20,568 - octoprint.startup - INFO - **
2021-01-27 02:51:21,035 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity changed from offline to online
2021-01-27 02:51:21,199 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity state is currently: online
2021-01-27 02:51:21,199 - octoprint.util.connectivity.connectivity_checker - INFO - Connecting to 8.8.8.8:53 is working
2021-01-27 02:51:21,199 - octoprint.util.connectivity.connectivity_checker - INFO - Resolving octoprint.org is working
2021-01-27 02:51:21,209 - 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-27 02:51:21,237 - octoprint.plugin.core - INFO - Loading plugins from /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins, /home/pi/.octoprint/plugins and installed plugin packages...
2021-01-27 02:51:22,223 - octoprint.plugin.core - ERROR - Error loading plugin bedlevelvisualizer
Traceback (most recent call last):
File "/home/pi/oprint/lib/python3.7/site-packages/numpy/core/init.py", line 22, in
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 1298, in _import_plugin
module = _load_module(module_name, spec)
File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 69, in _load_module
return imp.load_module(name, f, filename, details)
File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 238, in load_module
return load_package(name, filename)
File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 212, in load_package
return _load(spec)
File "
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help.
Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory
2021-01-27 02:51:22,303 - octoprint.plugins.errortracking - INFO - Initialized error tracking 2021-01-27 02:51:22,323 - octoprint.plugin.core - INFO - Found 24 plugin(s) providing 24 mixin implementations, 56 hook handlers 2021-01-27 02:51:22,495 - octoprint.server.heartbeat - INFO - Starting server heartbeat, 900.0s interval 2021-01-27 02:51:22,501 - octoprint.server - INFO - Intermediary server started 2021-01-27 02:51:22,516 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /home/pi/.octoprint/uploads... 2021-01-27 02:51:22,702 - octoprint.filemanager.storage - INFO - ... file metadata for /home/pi/.octoprint/uploads initialized successfully. 2021-01-27 02:51:22,704 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW (needs: "Need(method='role', value='plugin_action_command_notification_show')") 2021-01-27 02:51:22,704 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_CLEAR (needs: "Need(method='role', value='plugin_action_command_notification_clear')") 2021-01-27 02:51:22,705 - octoprint.server - INFO - Added new permission from plugin action_command_prompt: PLUGIN_ACTION_COMMAND_PROMPT_INTERACT (needs: "Need(method='role', value='plugin_action_command_prompt_interact')") 2021-01-27 02:51:22,705 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_READ (needs: "Need(method='role', value='plugin_announcements_read')") 2021-01-27 02:51:22,705 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_MANAGE (needs: "Need(method='role', value='plugin_announcements_manage'), Need(method='role', value='plugin_announcements_read')") 2021-01-27 02:51:22,706 - octoprint.server - INFO - Added new permission from plugin appkeys: PLUGIN_APPKEYS_ADMIN (needs: "Need(method='role', value='plugin_appkeys_admin')") 2021-01-27 02:51:22,706 - octoprint.server - INFO - Added new permission from plugin backup: PLUGIN_BACKUP_ACCESS (needs: "Need(method='role', value='plugin_backup_access')") 2021-01-27 02:51:22,707 - octoprint.server - INFO - Added new permission from plugin firmware_check: PLUGIN_FIRMWARE_CHECK_DISPLAY (needs: "Need(method='role', value='plugin_firmware_check_display')") 2021-01-27 02:51:22,707 - octoprint.server - INFO - Added new permission from plugin logging: PLUGIN_LOGGING_MANAGE (needs: "Need(method='role', value='plugin_logging_manage')") 2021-01-27 02:51:22,707 - octoprint.server - INFO - Added new permission from plugin pi_support: PLUGIN_PI_SUPPORT_STATUS (needs: "Need(method='role', value='plugin_pi_support_check')") 2021-01-27 02:51:22,708 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_MANAGE (needs: "Need(method='role', value='plugin_pluginmanager_manage')") 2021-01-27 02:51:22,709 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_INSTALL (needs: "Need(method='role', value='plugin_pluginmanager_manage'), Need(method='role', value='plugin_pluginmanager_install')") 2021-01-27 02:51:22,710 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CHECK (needs: "Need(method='role', value='plugin_softwareupdate_check')") 2021-01-27 02:51:22,710 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_UPDATE (needs: "Need(method='role', value='plugin_softwareupdate_update')") 2021-01-27 02:51:22,711 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CONFIGURE (needs: "Need(method='role', value='plugin_softwareupdate_configure')") 2021-01-27 02:51:23,345 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python -m pip" as command to invoke pip 2021-01-27 02:51:23,867 - octoprint.util.pip - INFO - Version of pip is 21.0 2021-01-27 02:51:23,869 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python3.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes 2021-01-27 02:51:23,869 - octoprint.util.pip - INFO - ==> pip ok -> yes 2021-01-27 02:51:23,973 - octoprint.plugins.softwareupdate - INFO - Loaded version cache from disk 2021-01-27 02:51:24,000 - octoprint.plugins.eeprom_marlin - INFO - EEPROM Data initialised 2021-01-27 02:51:24,002 - octoprint.plugins.eeprom_marlin - INFO - Backup metadata initialised 2021-01-27 02:51:24,002 - octoprint.plugins.eeprom_marlin - INFO - All EEPROM editor modules loaded 2021-01-27 02:51:24,004 - octoprint.plugin.core - INFO - Initialized 24 plugin implementation(s) 2021-01-27 02:51:24,017 - octoprint.plugin.core - INFO - 24 plugin(s) registered with the system: | Action Command Notification Support (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/action_command_notification | Action Command Prompt Support (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/action_command_prompt | Announcement Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/announcements | Anonymous Usage Tracking (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/tracking | Application Keys Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/appkeys | Backup & Restore (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/backup | Core Wizard (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/corewizard | Creality Temperature (1.2.4) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_CrealityTemperature | Creality-2x-temperature-reporting-fix (0.0.4) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_ender3v2tempfix | Discovery (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/discovery | Error Tracking (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/errortracking | File Check (2020.8.7) (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_file_check | Firmware Check (2020.9.23) (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_firmware_check | GCode Viewer (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/gcodeviewer | Logging (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/logging | Marlin EEPROM Editor (3.0.1) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_eeprom_marlin | MeatPack (1.5.14) = /home/pi/oprint/lib/python3.7/site-packages/OctoPrint_MeatPack | MultiCam (0.2.8) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_multicam | Octolapse (0.4.1) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_octolapse | Pi Support Plugin (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/pi_support | Plugin Manager (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/pluginmanager | Software Update (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/softwareupdate | Virtual Printer (bundled) = /home/pi/oprint/lib/python3.7/site-packages/octoprint/plugins/virtual_printer | WebcamStreamer Plugin (0.1.1) = /home/pi/oprint/lib/python3.7/site-packages/octoprint_webcamstreamer Prefix legend: ! = disabled, # = blacklisted, * = incompatible 2021-01-27 02:51:24,043 - octoprint.environment - INFO - Detected environment is Python 3.7.3 under Linux (linux). Details: | hardware: | cores: 4 | freq: 1500.0 | ram: 3959308288 | os: | bits: 32 | id: linux | platform: linux | plugins: | pi_support: | model: Raspberry Pi 4 Model B Rev 1.2 | octopi_version: 0.17.0 | throttle_state: '0x0' | python: | pip: '21.0' | version: 3.7.3 | virtualenv: /home/pi/oprint 2021-01-27 02:51:24,055 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/webassets... 2021-01-27 02:51:24,078 - octoprint.server - INFO - Reset webasset folder /home/pi/.octoprint/generated/.webassets-cache... 2021-01-27 02:51:24,655 - octoprint.server - INFO - Shutting down intermediary server... 2021-01-27 02:51:24,969 - octoprint.server - INFO - Intermediary server shut down 2021-01-27 02:51:24,971 - octoprint.events - INFO - Processing startup event, this is our first event 2021-01-27 02:51:24,971 - octoprint.events - INFO - Adding 2 events to queue that were held back before startup event 2021-01-27 02:51:24,972 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue... 2021-01-27 02:51:24,973 - octoprint.server - INFO - Autoconnect on startup is configured, trying to connect to the printer... 2021-01-27 02:51:24,982 - octoprint.plugins.softwareupdate - INFO - Fetching check overlays from https://plugins.octoprint.org/update_check_overlay.json 2021-01-27 02:51:24,999 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue 2021-01-27 02:51:25,015 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid 2021-01-27 02:51:25,839 - octoprint.plugins.tracking - INFO - Sent tracking event system_unthrottled, payload: {'throttled_now': False, 'throttled_past': False, 'throttled_mask': 0, 'throttled_voltage_now': False, 'throttled_voltage_past': False, 'throttled_overheat_now': False, 'throttled_overheat_past': False} 2021-01-27 02:51:25,845 - octoprint.server - INFO - Trying to connect to configured serial port /dev/ttyUSB0 2021-01-27 02:51:25,917 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Detecting serial connection" 2021-01-27 02:51:25,918 - octoprint.util.comm - INFO - Serial detection: Performing autodetection with 7 port/baudrate candidates: /dev/ttyUSB0@115200, /dev/ttyUSB0@250000, /dev/ttyUSB0@230400, /dev/ttyUSB0@57600, /dev/ttyUSB0@38400, /dev/ttyUSB0@19200, /dev/ttyUSB0@9600 2021-01-27 02:51:25,918 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyUSB0, baudrate 115200 2021-01-27 02:51:25,919 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open. 2021-01-27 02:51:25,920 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open. 2021-01-27 02:51:25,954 - octoprint.server.util.watchdog - INFO - Running initial scan on watched folder... 2021-01-27 02:51:25,960 - octoprint.server.util.watchdog - INFO - ... initial scan done. 2021-01-27 02:51:25,986 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s 2021-01-27 02:51:26,004 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0 2021-01-27 02:51:26,099 - octoprint.plugins.softwareupdate - WARNING - Unknown update check type for target bedlevelvisualizer: <n/a> 2021-01-27 02:51:26,120 - octoprint.plugins.meatpack - INFO - [Serial]: Detected MeatPack protocol version V1 2021-01-27 02:51:26,120 - octoprint.plugins.meatpack - INFO - [Serial]: Config var [NoSpaces] synchronized (=disabled). 2021-01-27 02:51:26,167 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #2 with timeout 2.0s 2021-01-27 02:51:26,179 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid 2021-01-27 02:51:26,180 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0 2021-01-27 02:51:27,489 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance "Wheet 3D"._http._tcp.local.' for _http._tcp.local. 2021-01-27 02:51:28,308 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance "Wheet 3D"._octoprint._tcp.local.' for _octoprint._tcp.local. 2021-01-27 02:51:28,337 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance "Wheet 3D" for SSDP 2021-01-27 02:51:28,369 - octoprint.server - INFO - Listening on http://127.0.0.1:5000 2021-01-27 02:51:28,445 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 56.45ms 2021-01-27 02:51:28,510 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid 2021-01-27 02:51:28,586 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 41.61ms 2021-01-27 02:51:28,678 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:10.0.0.60 2021-01-27 02:51:28,886 - octoprint.server.util.flask - INFO - Passively logging in user wheetocto from ::ffff:10.0.0.60 2021-01-27 02:51:28,887 - octoprint.access.users - INFO - Logged in user: wheetocto 2021-01-27 02:51:29,151 - octoprint.util.pip - INFO - Using "/home/pi/oprint/bin/python -m pip" as command to invoke pip 2021-01-27 02:51:29,157 - octoprint.util.pip - INFO - pip installs to /home/pi/oprint/lib/python3.7/site-packages (writable -> yes), --user flag needed -> no, virtual env -> yes 2021-01-27 02:51:29,158 - octoprint.util.pip - INFO - ==> pip ok -> yes 2021-01-27 02:51:29,222 - octoprint.plugins.softwareupdate - INFO - Minimum free storage across all update relevant locations is 51.0GB. That is considered sufficient for updating. 2021-01-27 02:51:29,536 - octoprint.plugins.softwareupdate - WARNING - Unknown update check type for target bedlevelvisualizer: <n/a> 2021-01-27 02:51:29,641 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid 2021-01-27 02:51:29,650 - octoprint.plugins.meatpack - INFO - MeatPack version 1.5.14 loaded... current state is Enabled 2021-01-27 02:51:29,650 - octoprint.plugins.multicam - INFO - MultiCam Loaded! (more: [{'URL': '/webcam/?action=stream', 'flipH': True, 'flipV': True, 'isButtonEnabled': False, 'name': 'PiCam', 'rotate90': False, 'snapshot': 'http://127.0.0.1:8080/?action=snapshot', 'streamRatio': '16:9'}]) 2021-01-27 02:51:29,652 - octoprint.plugins.webcamstreamer - INFO - OctoPrint-WebcamStreamer loaded! | embed_url = https://www.youtube.com/embed/live_stream?channel=UCIPXIWg627H34v_rPgsQMCw | stream_url = rtmp://a.rtmp.youtube.com/live2/t4t6-8erp-ubvd-yf0y-4evt | webcam_url = http://10.0.0.250:8080/?action=stream | docker_image = kolisko/rpi-ffmpeg | docker_container = WebStreamer | frame_rate = 5 | ffmpeg_cmd = ffmpeg -re -f mjpeg -framerate 5 -i {webcam_url} -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -acodec aac -ab 128k -vcodec h264 -pix_fmt yuv420p -framerate {frame_rate} -g {gop_size} -strict experimental -filter:v {filter} -f flv {stream_url} 2021-01-27 02:51:29,675 - octoprint.plugins.meatpack - INFO - [Serial]: Config var [NoSpaces] synchronized (=disabled). 2021-01-27 02:51:29,677 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #3 with timeout 2.0s 2021-01-27 02:51:29,680 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0 2021-01-27 02:51:29,681 - octoprint.plugins.webcamstreamer - INFO - stream is inactive 2021-01-27 02:51:29,903 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'base_url': 'http://10.0.0.250/', 'path': '/', 'query_string': 'l10n=en'} 2021-01-27 02:51:30,290 - octoprint.plugins.tracking - INFO - Sent tracking event ping, payload: {'octoprint_uptime': 7} 2021-01-27 02:51:30,330 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 32.74ms 2021-01-27 02:51:30,937 - octoprint.plugins.tracking - INFO - Sent tracking event pong, payload: {'version': '1.5.3', 'os': 'linux', 'bits': 32, 'python': '3.7.3', 'pip': '21.0', 'cores': 4, 'freq': 1500.0, 'ram': 3959308288, 'pi_model': 'Raspberry Pi 4 Model B Rev 1.2', 'octopi_version': '0.17.0', 'plugins': 'webcamstreamer:0.1.1,multicam:0.2.8,meatpack:1.5.14,crealitytemperature:1.2.4,octolapse:0.4.1,eeprom_marlin:3.0.1,ender3v2tempfix:0.0.4'} 2021-01-27 02:51:31,051 - octoprint.plugins.softwareupdate - WARNING - Unknown update check type for target bedlevelvisualizer: <n/a> 2021-01-27 02:51:31,164 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 8.55ms 2021-01-27 02:51:31,243 - octoprint.server.util.sockjs - INFO - User wheetocto logged in on the socket from client ::ffff:10.0.0.60 2021-01-27 02:51:31,660 - octoprint.plugins.tracking - INFO - Sent tracking event startup, payload: {'version': '1.5.3', 'os': 'linux', 'bits': 32, 'python': '3.7.3', 'pip': '21.0', 'cores': 4, 'freq': 1500.0, 'ram': 3959308288, 'pi_model': 'Raspberry Pi 4 Model B Rev 1.2', 'octopi_version': '0.17.0'} 2021-01-27 02:51:31,988 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyUSB0, baudrate 250000 2021-01-27 02:51:31,998 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s 2021-01-27 02:51:31,999 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0 2021-01-27 02:51:32,989 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 15.67ms 2021-01-27 02:51:34,990 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 15.74ms 2021-01-27 02:51:36,995 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 5.69ms 2021-01-27 02:51:37,143 - octoprint.server.preemptive_cache - INFO - ... done in 7.24s 2021-01-27 02:51:37,470 - octoprint.server.util.flask - INFO - Passively logging in user wheetocto from ::ffff:10.0.0.60 2021-01-27 02:51:37,471 - octoprint.access.users - INFO - Logged in user: wheetocto 2021-01-27 02:51:37,644 - octoprint.server.util.sockjs - INFO - Client connection closed: ::ffff:10.0.0.60 2021-01-27 02:51:39,031 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 9.71ms 2021-01-27 02:51:39,506 - octoprint.server.util.sockjs - INFO - New connection from client: ::ffff:10.0.0.60 2021-01-27 02:51:39,597 - octoprint.server.util.flask - INFO - Passively logging in user wheetocto from ::ffff:10.0.0.60 2021-01-27 02:51:39,597 - octoprint.access.users - INFO - Logged in user: wheetocto 2021-01-27 02:51:40,341 - octoprint.plugins.webcamstreamer - INFO - Checking stream status. 2021-01-27 02:51:40,359 - octoprint.plugins.webcamstreamer - INFO - stream is inactive 2021-01-27 02:51:41,038 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 5.91ms 2021-01-27 02:51:41,091 - octoprint.server.util.sockjs - INFO - User wheetocto logged in on the socket from client ::ffff:10.0.0.60 2021-01-27 02:51:43,058 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 13.79ms 2021-01-27 02:51:45,051 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 9.98ms 2021-01-27 02:51:47,005 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 13.95ms 2021-01-27 02:51:48,994 - tornado.access - WARNING - 409 GET /api/printer (::ffff:10.0.0.60) 7.50ms
looks like the upgrade to python 3 broke the bed visualizer
By the log it looks like the Marlin integration of MeatPack is not sending back the appropriate confirmation message to the OctoPrint plugin, so it is not enabling communication.
Another developer integrated MeatPack into Marlin, but I will look at their code to ensure it is working correctly.
ok .. disabling plugin for now
Okay I found the issue... they need to emit a space character after
SERIAL_ECHOPGM(MeatPack_ProtocolVersion);
inside of
void MeatPack::report_state()
.
If you want, you can add the following line after line 207 in meatpack.cpp
:
SERIAL_ECHOPGM(MeatPack_ProtocolVersion);
after that line, add:
SERIAL_CHAR(' ');
And it should work, after recompiling. I will create a pull request to fix the issue.
Okay I created a PR: https://github.com/MarlinFirmware/Marlin/pull/20896
I will update the readme with a notice.
I'm still running into this issue, brand new FW build with meatpack enabled, with your fix in report_state. octoprint.log serial.log
Strange, it the firmware doesn't look like it's responding to the MP query commands, so the plugin assumes it's not properly connected.
Is that the entirety of the octoprint.log contents? In @swheettaos log, it was at least receiving the protocol version and whitespace removal flags. The issue there was there wasn't a space between "ON" and the protocol version, and the plugin is looking for that space.
But I don't see any query responses in your log. Which to me would indicate that it's not actually enabled in the firmware, for some reason.
To confirm, you definitely have #define MEATPACK
uncommented in Configuration_adv.h
, and you did a clean rebuild?
#define MEATPACK
is definitely uncommented. Here's the process I just did: booted new firmware, (re)enable meatpack plugin, reboot pi, here's the totality of the octoprint and serial logs
serial.log
octoprint.log
Still looks like MeatPack isn't responding at all in the firmware. At the very least it should emit a protocol version. Can you attach a .elf file of the firmware you compiled? Should be in the output directory. The hex will be harder to disassemble, but the .elf should be a lot easier.
I had to change the extension for github to allow it: firmware.elf.txt
ETA: This is Ender 3 (V1) with BTT_SKR_MINI_V3 board built with _USB firmware
Well the binary indicates it's definitely got MP methods linked into the serial parser, but for whatever reason the MP module is not receiving any of the incoming data.
You should be seeing a line like
octoprint.plugins.meatpack - INFO - [Serial]: Config var [NoSpaces] synchronized (=disabled).
soon after the MeatPack module loads and emits its version number to the log.
Can you try adding:
#define MEATPACK_LOOKUP_TABLE
to Configuration_adv.h
and recompiling?
I run the site marlin.crc.id.au. I'm just experimenting with this now and came across this - and trying to get the hotfix going.
The custom builder has had the hotfix https://github.com/MarlinFirmware/Marlin/pull/20896 applied, so I've created one via the builder to test with.
The Terminal window logs:
Changing monitoring state from "Offline" to "Opening serial connection"
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: PackingSerial<id=0x7f7839acf8, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Send: N0 M110 N0*125
No answer from the printer within the connection timeout, trying another hello
What specifics do you want to know?
Building again with #define MEATPACK_LOOKUP_TABLE
enabled, and I can establish two way connectivity with the printer.
I do note that the N0 M110 N0*125
seems to be repeated a couple of times - which seems strange?
Changing monitoring state from "Offline" to "Opening serial connection"
Changing monitoring state from "Opening serial connection" to "Connecting"
Connected to: PackingSerial<id=0x7f84077fd0, open=True>(port='/dev/ttyUSB0', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=10.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
Send: N0 M110 N0*125
Recv: ok N0 P15 B3
Send: N0 M110 N0*125
Changing monitoring state from "Connecting" to "Operational"
Recv: ok N0 P15 B3
Send: N0 M110 N0*125
Recv: ok N0 P15 B3
Send: N1 M115*39
Recv: FIRMWARE_NAME:Marlin bugfix-2.0.x (Jan 27 2021 21:22:57) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:Ender-3 V2 EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
Recv: Cap:SERIAL_XON_XOFF:0
Recv: Cap:BINARY_FILE_TRANSFER:0
Recv: Cap:EEPROM:1
Recv: Cap:VOLUMETRIC:1
Recv: Cap:AUTOREPORT_TEMP:1
Recv: Cap:PROGRESS:0
Recv: Cap:PRINT_JOB:1
Recv: Cap:AUTOLEVEL:1
Recv: Cap:RUNOUT:0
Recv: Cap:Z_PROBE:1
Recv: Cap:LEVELING_DATA:1
Recv: Cap:BUILD_PERCENT:0
Recv: Cap:SOFTWARE_POWER:0
Recv: Cap:TOGGLE_LIGHTS:0
Recv: Cap:CASE_LIGHT_BRIGHTNESS:0
Recv: Cap:EMERGENCY_PARSER:0
Recv: Cap:PROMPT_SUPPORT:0
Recv: Cap:SDCARD:1
Recv: Cap:REPEAT:0
Recv: Cap:AUTOREPORT_SD_STATUS:0
Recv: Cap:LONG_FILENAME:0
Recv: Cap:THERMAL_PROTECTION:1
Recv: Cap:MOTION_MODES:0
Recv: Cap:ARCS:1
Recv: Cap:BABYSTEPPING:1
Recv: Cap:CHAMBER_TEMPERATURE:0
Recv: Cap:MEATPACK:1
after updateing to latest octoprint meatpack plugin I see this in octoprint.log 2021-01-27 10:55:25,344 - octoprint.plugins.meatpack - INFO - [Serial]: Detected MeatPack protocol version V1 2021-01-27 10:55:25,356 - octoprint.plugins.meatpack - INFO - [Serial]: Config var [NoSpaces] synchronized (=disabled). 2021-01-27 10:55:25,386 - octoprint.plugins.meatpack - INFO - [Serial]: Config var [Enabled] synchronized (=enabled). 2021-01-27 10:55:25,397 - octoprint.plugins.meatpack - INFO - [Serial]: Config var [NoSpaces] synchronized (=disabled). 2021-01-27 10:55:25,409 - octoprint.plugins.meatpack - INFO - [Serial]: MeatPack configuration successfully synchronized and confirmed between host/device. 2021-01-27 10:55:25,423 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port Traceback (most recent call last): File "/home/pi/oprint/local/lib/python2.7/site-packages/octoprint/util/comm.py", line 3831, in _readline ret = self._serial.readline() File "/home/pi/oprint/local/lib/python2.7/site-packages/OctoPrint_MeatPack/packing_serial.py", line 285, in readline self._flush_buffer() File "/home/pi/oprint/local/lib/python2.7/site-packages/OctoPrint_MeatPack/packing_serial.py", line 343, in _flush_buffer self._buffer.clear() AttributeError: 'list' object has no attribute 'clear'
The internet tells me list.clear was added in Python 3.3.
AttributeError: 'list' object has no attribute 'clear'
Which python version? I'm running OctoPi 0.18.0 RC1 which is 64 bit - but also Python 3.7...
@ellensp Thanks, I'll remove "clear()" for Python 2.7 support (@CRCinAU - I'm guessing 2.7).
yes Python 2.7.16
@ellensp I've pushed a compatibility fix for 2.7 (v1.5.17), can you confirm it works?
And @CRCinAU - the N0 M110 N0*125
line is what I think is OctoPrint's way of "handshaking" with the firmware, so it does it a few times until an expected response is established (which is after MeatPack synchronizes the configuration state, which takes a second). Shouldn't hurt anything so long as it receives a response.
Also, has the build configuration changed for the available firmware builds to reflect #define MEATPACK_LOOKUP_TABLE
? For the time being it looks like it might be a requirement for functionality.
Also, has the build configuration changed for the available firmware builds to reflect
#define MEATPACK_LOOKUP_TABLE
? For the time being it looks like it might be a requirement for functionality.
Yeah - I've added both right now and rebuilt the 20210127 firmware (which the user will have to rename to a unique filename to flash - or wait until 20210128).
Also, the M84 easter egg just does a whole heap of single tone beeps.... Is that dependent on something else?
With the two defines - I got the following on my normal 20mm calibration cube print:
I've pushed a compatibility fix for 2.7 (v1.5.17), can you confirm it works?
Yes this now get past this point. but getting errors about to enable MEATPACK_LOOKUP_TABLE and re try
If the lookup table is the only functional mode, we may want to make that the default (without a define? or with the define pre-established in the configuration header) in the Marlin implementation.
with #define MEATPACK_LOOKUP_TABLE seems to be working Comp. TX: 1.744 kB Effective TX: 2.693 kB Comp. Ratio: 0.648 Effective TX Rate: 64 Bytes/sec Packing State: Enabled
If the lookup table is the only functional mode, we may want to make that the default (without a define? or with the define pre-established in the configuration header) in the Marlin implementation.
Pretend I'm an idiot..... I'm not quite sure of the difference between using what I assume is a predefined lookup table for ASCII -> binary packing and not having it set via the MEATPACK_LOOKUP_TABLE... What operational difference is there?
I had tested to see if a switch/case statement would perform faster than a lookup table in returning the packed character based on it's 4-bit representation.
However, when I looked at the disassembly in Ghidra, it was byte-for-byte identical. So the compiler seemed to optimize both implementations in the same way.
Unfortunately it looks like the switch/case method may not have been translated exactly correctly to Marlin (or perhaps it just wasn't updated on my end), so it does not work.
I always ended up using the table, as it allowed mutability for changing the library of packed characters, if ever I wanted to add that feature for compressing other types of data beyond 3D printing g-code.
@ellensp - We can probably remove the swith/case approach entirely and make the lookup table the default, and remove the preprocessor switch.
@scottmudge with MEATPACK_LOOKUP_TABLE it has a static table
static const uint8_t meatPackLookupTable[16] = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'.', ' ', '\n', 'G', 'X',
'\0' // Unused. 0b1111 indicates a literal character
};
If you enable space removal... this is going to cause an issue ie space isn't swapped with E so any encoded E's are going to be decoded as a space aren't they?
@ellensp - yes, in my Prusa code the table is mutable and the space character is swapped with an "E" (the replacement character define) when whitespace removal is enabled.
When I disassembled making it a static const and making it a mutable array, the disassembly was identical. There shouldn't be a performance benefit to making it static.
Also, (I don't think it is, but just in case) do not make it PROGMEM, since it is referenced so frequently. Those extra cycles for accessing PROGMEM will add up.
Ok, this is all fixed in the new builds of firmware for 20210127 (or use 20210128 to avoid confusion) and MeatPack plugin v1.5.21 which is now available.
Thanks to @ellensp and @scottmudge for the collaboration over the last several hours to iron out every issue we could find and have something much more stable as a general release.
Thanks @CRCinAU!
ty everyone.. it's working now!
I'm running octoprint Version 1.5.3 on octopi Version 0.17.0, running on Raspberry Pi 4 Model B Rev 1.2. When I install meatpack 1.5.14 I can't connect to the printer via USB anymore. I have tried disabling the gcode compression and whitespace options. I've also tried with a marlin firmware version from https://marlin.crc.id.au/firmware/Ender%203%20V2%20-%20v4.2.7%20Board%20-%20BLTouch/ .. If I use the previous version without meatpack or the new version with meatpack both have the same problem. If the plugin is installed for meatpack I can't connect to the printer. If I remove the plugin I can connect to the printer just fine. I'm connecting to /ttyUSB0 @ 115200 with no problem. RIght now I removed the plugin and using the EEPROM editor plugin for octoprint I can see the meatpack option is set to true (and was false on the previous version) .. I'll submit this and make sure I clean up the plugin (I had tried installing 1.5.9 earlier and it wasn't working.. I tried again and it installed 1.5.14 but I didn't do a fresh install.. I'll try that.)