scottmudge / OctoPrint-MeatPack

Easy, fast, effective, and automatic g-code compression!
https://github.com/scottmudge/OctoPrint-MeatPack
BSD 4-Clause "Original" or "Old" License
122 stars 6 forks source link

OctoPrint unable to connect to printer when plug-in is enabled #12

Open Taomyn opened 3 years ago

Taomyn commented 3 years ago

I have an Ender 3 Pro with SKR BTT Mini E3 v1.2, OctoPi v0.18 (RPi-4) fully up to date, MeatPack plug-in v 1.5.21. My fork of Marlin can be found here https://github.com/Taomyn/Marlin

Compiled latest bugfix as I found tonight including enabling MeatPack.

When enabled OctoPrint will not connect to the printer, disable it and OctoPrint is working fine. Some log data below, let me know if I can provide anything else.

Excerpt from OctoPrint log:

2021-01-28 20:03:25,462 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Detecting serial connection"
2021-01-28 20:03:25,482 - octoprint.util.comm - INFO - Serial detection: Performing autodetection with 2 port/baudrate candidates: /dev/ttyACM0@250000, /dev/ttyS0@250000
2021-01-28 20:03:25,482 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyACM0, baudrate 250000
2021-01-28 20:03:25,483 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open.
2021-01-28 20:03:25,484 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open.
2021-01-28 20:03:25,507 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s
2021-01-28 20:03:25,511 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:03:27,721 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #2 with timeout 2.0s
2021-01-28 20:03:27,726 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:03:29,753 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #3 with timeout 2.0s
2021-01-28 20:03:29,757 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:03:32,753 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyS0, baudrate 250000
2021-01-28 20:03:32,763 - octoprint.util.comm - ERROR - Unexpected error while connecting to serial port /dev/ttyS0, baudrate 250000 from hook meatpack: SerialException: 'Could not configure port: (5, 'Input/output error')' @ comm.py:_open_serial:3670
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.7/site-packages/serial/serialposix.py", line 398, in _reconfigure_port
    orig_attr = termios.tcgetattr(self.fd)
termios.error: (5, 'Input/output error')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/comm.py", line 3670, in _open_serial
    settings().getFloat(["serial", "timeout", "connection"]),
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/__init__.py", line 1890, in wrapper
    return f(*args, **kwargs)
  File "/home/pi/oprint/lib/python3.7/site-packages/OctoPrint_MeatPack/__init__.py", line 52, in serial_factory_hook
    self._serial_obj.port = str(port)
  File "/home/pi/oprint/lib/python3.7/site-packages/serial/serialutil.py", line 276, in port
    self.open()
  File "/home/pi/oprint/lib/python3.7/site-packages/serial/serialposix.py", line 332, in open
    self._reconfigure_port(force_update=True)
  File "/home/pi/oprint/lib/python3.7/site-packages/serial/serialposix.py", line 401, in _reconfigure_port
    raise SerialException("Could not configure port: {}".format(msg))
serial.serialutil.SerialException: Could not configure port: (5, 'Input/output error')
2021-01-28 20:03:32,802 - octoprint.util.comm - INFO - Serial detection: Could not open port /dev/ttyS0, baudrate 250000, skipping
2021-01-28 20:03:32,802 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial connection" to "Error: No more candidates to test, and no working port/baudrate combination detected."
2021-01-28 20:03:32,804 - octoprint.util.comm - INFO - Changing monitoring state from "Error: No more candidates to test, and no working port/baudrate combination detected." to "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)"
2021-01-28 20:03:32,811 - octoprint.plugins.printoid - INFO - //// Send alert to Printoid: 'printer-error' with value Error: No more candidates to test, and no working port/baudrate combination detected. (mydomain)
2021-01-28 20:03:33,180 - octoprint.plugins.printoid - INFO - //// Send alert to Printoid: 'printer-error' with value Error: No more candidates to test, and no working port/baudrate combination detected. (mydomain)

Serial.log - failing

2021-01-28 20:02:47,456 - serial.log is currently not enabled, you can enable it via Settings > Serial Connection > Log communication to serial.log
2021-01-28 20:03:25,445 - serial.log is currently not enabled, you can enable it via Settings > Serial Connection > Log communication to serial.log
2021-01-28 20:08:08,102 - serial.log is currently not enabled, you can enable it via Settings > Serial Connection > Log communication to serial.log
2021-01-28 20:10:42,155 - Enabling serial logging
2021-01-28 20:10:52,495 - Changing monitoring state from "Offline" to "Detecting serial connection"
2021-01-28 20:10:52,531 - Performing autodetection with 2 port/baudrate candidates: /dev/ttyACM0@250000, /dev/ttyS0@250000
2021-01-28 20:10:52,531 - Trying port /dev/ttyACM0, baudrate 250000
2021-01-28 20:10:52,549 - Handshake attempt #1 with timeout 2.0s
2021-01-28 20:10:52,552 - Connected to: PackingSerial<id=0xa8c07a70, open=True>(port='/dev/ttyACM0', baudrate=250000, bytesize=8, parity='N', stopbits=1, timeout=2.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
2021-01-28 20:10:52,554 - Send: N0 M110 N0*125
2021-01-28 20:10:53,141 - Recv: Not SD printing
2021-01-28 20:10:54,132 - Recv:  T:21.87 /0.00 B:34.17 /0.00 @:0 B@:0
2021-01-28 20:10:54,142 - Recv: Not SD printing
2021-01-28 20:10:55,143 - Recv: Not SD printing
2021-01-28 20:10:55,144 - Handshake attempt #2 with timeout 2.0s
2021-01-28 20:10:55,157 - Send: N0 M110 N0*125
2021-01-28 20:10:56,131 - Recv:  T:20.94 /0.00 B:34.17 /0.00 @:0 B@:0
2021-01-28 20:10:56,142 - Recv: Not SD printing
2021-01-28 20:10:57,142 - Recv: Not SD printing
2021-01-28 20:10:58,131 - Recv:  T:21.25 /0.00 B:34.14 /0.00 @:0 B@:0
2021-01-28 20:10:58,139 - Handshake attempt #3 with timeout 2.0s
2021-01-28 20:10:58,147 - Send: N0 M110 N0*125
2021-01-28 20:10:58,150 - Recv: Not SD printing
2021-01-28 20:10:59,143 - Recv: Not SD printing
2021-01-28 20:11:00,131 - Recv:  T:21.41 /0.00 B:34.17 /0.00 @:0 B@:0
2021-01-28 20:11:00,143 - Recv: Not SD printing
2021-01-28 20:11:00,145 - Trying port /dev/ttyS0, baudrate 250000
2021-01-28 20:11:00,156 - Unexpected error while connecting to serial port /dev/ttyS0, baudrate 250000 from hook meatpack: SerialException: 'Could not configure port: (5, 'Input/output error')' @ comm.py:_open_serial:3670
2021-01-28 20:11:00,192 - Could not open port /dev/ttyS0, baudrate 250000, skipping
2021-01-28 20:11:00,193 - Changing monitoring state from "Detecting serial connection" to "Error: No more candidates to test, and no working port/baudrate combination detected."
2021-01-28 20:11:00,194 - Changing monitoring state from "Error: No more candidates to test, and no working port/baudrate combination detected." to "Offline (Error: No more candidates to test, and no working port/baudrate combination detected.)"
2021-01-28 20:11:00,195 - Connection closed, closing down monitor
2021-01-28 20:11:07,075 - Disabling serial logging

Serial.log - working

2021-01-28 20:22:37,140 - Changing monitoring state from "Offline" to "Detecting serial connection"
2021-01-28 20:22:37,760 - Performing autodetection with 2 port/baudrate candidates: /dev/ttyACM0@250000, /dev/ttyS0@250000
2021-01-28 20:22:37,761 - Trying port /dev/ttyACM0, baudrate 250000
2021-01-28 20:22:37,762 - Connecting to port /dev/ttyACM0, baudrate 250000
2021-01-28 20:22:37,868 - Handshake attempt #1 with timeout 2.0s
2021-01-28 20:22:37,893 - Connected to: Serial<id=0xa8b76910, open=True>(port='/dev/ttyACM0', baudrate=250000, bytesize=8, parity='N', stopbits=1, timeout=2.0, xonxoff=False, rtscts=False, dsrdtr=False), starting monitor
2021-01-28 20:22:37,895 - Send: N0 M110 N0*125
2021-01-28 20:22:37,931 - Recv: ok WNÂ…0g P31 B31
2021-01-28 20:22:37,978 - Changing monitoring state from "Detecting serial connection" to "Operational"
2021-01-28 20:22:38,036 - Send: N0 M110 N0*125
2021-01-28 20:22:38,116 - Recv: ok WNÂ…0g P31 B31
2021-01-28 20:22:38,118 - Send: N1 M115*39
2021-01-28 20:22:38,155 - Recv: FIRMWARE_NAME:Marlin v2.0.x (Jan 28 2021 19:53:47) SOURCE_CODE_URL:github.com/MarlinFirmware/Marlin PROTOCOL_VERSION:1.0 MACHINE_TYPE:Ender-3 Pro EXTRUDER_COUNT:1 UUID:
scottmudge commented 3 years ago

Looks like it's trying to access a port that isn't available (/dev/ttyS0), and the exception isn't being caught in the python module.

I have implemented a wrapper around the standard Serial object. I'm guessing OctoPrint typically just discards these exceptions if the port isn't available, but my implementation does not.

You can try disabling or removing the /dev/ttyS0 port, since it looks like you are using /dev/ttyACM0. In the meanwhile, I will try/except the exception and discard it, since it's only telling us the port can't be opened.

scottmudge commented 3 years ago

Actually, you should really specify the correct port. The failing MeatPack log shows a different port being used than the one logged in the "working" log. Does MeatPack fail with /dev/ttyACM0?

Taomyn commented 3 years ago

Actually, you should really specify the correct port. The failing MeatPack log shows a different port being used than the one logged in the "working" log. Does MeatPack fail with /dev/ttyACM0?

Nope just sits there "Connecting"......

image

scottmudge commented 3 years ago

Alright you can try installing this branch which catches that exception. It might just be trying ttyS0 and then it can't recover.

You can install by activating your OctoPrint virtualenv and then running:

pip install git+https://github.com/scottmudge/OctoPrint-MeatPack.git@bugfix_serialconnfail.

You can also try installing it via the plugin manager, but it might not load git addresses correctly.

If that doesn't work, I'll need the rest of the octoprint.log file, since the excerpt is missing info about the ttyACM0 connection attempt.

Taomyn commented 3 years ago

If that doesn't work, I'll need the rest of the octoprint.log file, since the excerpt is missing info about the ttyACM0 connection attempt.

No joy I'm afraid:

2021-01-28 20:46:59,600 - octoprint.events.fire - DEBUG - Firing event: SettingsUpdated (Payload: {'config_hash': '906e544d04923db7633c7ef4ffed074a', 'effective_hash': '58fbf453d6222da9ad45fc7d733c5a7d'})
2021-01-28 20:46:59,600 - octoprint.events - DEBUG - Sending action to <function Server.run.<locals>.on_settings_update at 0xaf947b70>
2021-01-28 20:46:59,601 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:46:59,602 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:46:59,603 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:46:59,604 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:46:59,605 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:46:59,607 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:46:59,608 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:46:59,609 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:46:59,610 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:01,637 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:01,637 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:01,637 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:01,638 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:01,639 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:01,639 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:01,639 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:01,640 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:01,640 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:01,640 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:05,899 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 6.87ms
2021-01-28 20:47:05,910 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 7.51ms
2021-01-28 20:47:06,111 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 8.15ms
2021-01-28 20:47:06,123 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 8.75ms
2021-01-28 20:47:06,297 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 7.39ms
2021-01-28 20:47:06,521 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 5.32ms
2021-01-28 20:47:06,702 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 4.90ms
2021-01-28 20:47:08,575 - octoprint.events.fire - DEBUG - Firing event: Connecting (Payload: None)
2021-01-28 20:47:08,576 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:08,577 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:08,578 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:08,579 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:08,579 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:08,580 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:08,580 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:08,581 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:08,581 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:08,581 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:08,581 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:08,582 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:08,582 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:08,582 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:08,582 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:08,582 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:08,582 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:08,583 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:08,583 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:08,622 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Opening serial connection"
2021-01-28 20:47:08,626 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open.
2021-01-28 20:47:08,632 - octoprint.events.fire - DEBUG - Firing event: PrinterStateChanged (Payload: {'state_id': 'OPEN_SERIAL', 'state_string': 'Opening serial connection'})
2021-01-28 20:47:08,634 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open.
2021-01-28 20:47:08,634 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:08,640 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:08,641 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:08,646 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:08,648 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:08,649 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:08,649 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:08,650 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:08,651 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:08,651 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:08,652 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:08,653 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:08,654 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:08,654 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:08,655 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:08,656 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:08,657 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:08,657 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:08,659 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:08,665 - octoprint.util.comm - INFO - Changing monitoring state from "Opening serial connection" to "Connecting"
2021-01-28 20:47:08,670 - octoprint.events.fire - DEBUG - Firing event: PrinterStateChanged (Payload: {'state_id': 'CONNECTING', 'state_string': 'Connecting'})
2021-01-28 20:47:08,674 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:08,672 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:47:08,676 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:08,680 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:08,681 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:08,683 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:08,685 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:08,686 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:08,688 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:08,689 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:08,690 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:08,691 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:08,693 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:08,694 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:08,695 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:08,696 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:08,697 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:08,698 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:08,700 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:08,703 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:14,386 - octoprint.events.fire - DEBUG - Firing event: UserLoggedIn (Payload: {'username': None})
2021-01-28 20:47:14,387 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:14,389 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:14,389 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:14,390 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:14,390 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:14,390 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:14,391 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:14,391 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:14,391 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:14,411 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:14,411 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:14,412 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:14,412 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:14,412 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:14,413 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:14,413 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:14,413 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:14,414 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:14,414 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:14,612 - octoprint.events.fire - DEBUG - Firing event: UserLoggedIn (Payload: {'username': None})
2021-01-28 20:47:14,612 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:14,618 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:14,618 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:14,619 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:14,619 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:14,619 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:14,619 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:14,620 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:14,620 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:14,622 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:14,622 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:14,623 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:14,629 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:14,630 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:14,630 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:14,630 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:14,630 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:14,631 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:14,631 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:35,893 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 9.86ms
2021-01-28 20:47:35,909 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 10.95ms
2021-01-28 20:47:36,018 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 6.34ms
2021-01-28 20:47:36,105 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 5.58ms
2021-01-28 20:47:36,324 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 5.64ms
2021-01-28 20:47:36,561 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 4.70ms
2021-01-28 20:47:36,708 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 7.73ms
2021-01-28 20:47:36,970 - octoprint.events.fire - DEBUG - Firing event: Disconnecting (Payload: None)
2021-01-28 20:47:36,971 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:36,973 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:36,974 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:36,974 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:36,974 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:36,974 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:36,974 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:36,975 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:36,975 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:36,976 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:36,976 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:36,976 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:36,976 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:36,977 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:36,977 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:36,977 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:36,977 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:36,977 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:36,977 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:36,981 - octoprint.util.comm - INFO - Changing monitoring state from "Connecting" to "Offline"
2021-01-28 20:47:36,981 - octoprint.events.fire - DEBUG - Firing event: UpdatedFiles (Payload: {'type': 'printables'})
2021-01-28 20:47:36,986 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:36,992 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:36,994 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:36,998 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:36,999 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:37,001 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:37,002 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:37,003 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:37,004 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:37,005 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:37,006 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:37,007 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:37,007 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:37,008 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:37,008 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:37,009 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:37,009 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:37,010 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:37,011 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:37,011 - octoprint.events.fire - DEBUG - Firing event: Disconnected (Payload: None)
2021-01-28 20:47:37,012 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:37,014 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:37,015 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
2021-01-28 20:47:37,016 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:37,017 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:37,017 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:37,019 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:37,021 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:37,022 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:37,024 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:37,024 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:37,025 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:37,026 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:37,026 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:37,027 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:37,028 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:37,029 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:37,029 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:37,031 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:37,032 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:37,033 - octoprint.events.fire - DEBUG - Firing event: PrinterStateChanged (Payload: {'state_id': 'OFFLINE', 'state_string': 'Offline'})
2021-01-28 20:47:37,034 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:37,036 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:37,038 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:37,038 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:37,039 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:37,040 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:37,040 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:37,041 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:37,042 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:37,042 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:37,043 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:37,044 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:37,044 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:37,045 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:37,045 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:37,046 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:37,046 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:37,047 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:37,049 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:45,668 - octoprint.events.fire - DEBUG - Firing event: Connecting (Payload: None)
2021-01-28 20:47:45,668 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:45,670 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:45,670 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:45,670 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:45,671 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:45,671 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:45,671 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:45,671 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:45,672 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:45,672 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:45,672 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:45,673 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:45,673 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:45,673 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:45,674 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:45,688 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:45,705 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:45,712 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:45,708 - octoprint.util.comm - INFO - Changing monitoring state from "Offline" to "Detecting serial connection"
2021-01-28 20:47:45,722 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:45,728 - octoprint.events.fire - DEBUG - Firing event: PrinterStateChanged (Payload: {'state_id': 'DETECT_SERIAL', 'state_string': 'Detecting serial connection'})
2021-01-28 20:47:45,730 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:45,732 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:45,735 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:45,736 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:45,737 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:45,738 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:45,739 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:45,740 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:45,741 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:45,741 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:45,742 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:45,743 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:45,744 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:45,745 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:45,747 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:45,748 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:45,749 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:45,751 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:45,753 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:45,762 - octoprint.util.comm - INFO - Serial detection: Performing autodetection with 2 port/baudrate candidates: /dev/ttyACM0@250000, /dev/ttyS0@250000
2021-01-28 20:47:45,763 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyACM0, baudrate 250000
2021-01-28 20:47:45,765 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open.
2021-01-28 20:47:45,766 - octoprint.plugins.meatpack - INFO - [Serial]: Cannot query packing state -- port not open.
2021-01-28 20:47:45,777 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s
2021-01-28 20:47:45,784 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:47:47,903 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #2 with timeout 2.0s
2021-01-28 20:47:47,909 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:47:49,903 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #3 with timeout 2.0s
2021-01-28 20:47:49,910 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:47:51,904 - octoprint.util.comm - INFO - Serial detection: Trying port /dev/ttyS0, baudrate 250000
2021-01-28 20:47:51,914 - octoprint.plugins.meatpack - WARNING - failed to establish connection with serial port /dev/ttyS0 at baud rate 250000
    Exception: SerialException("Could not configure port: (5, 'Input/output error')")
2021-01-28 20:47:51,915 - octoprint.util.comm - INFO - Serial detection: Handshake attempt #1 with timeout 2.0s
2021-01-28 20:47:51,918 - octoprint.util.comm - ERROR - Unexpected error while reading from serial port
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/util/comm.py", line 3831, in _readline
    ret = self._serial.readline()
  File "/home/pi/oprint/lib/python3.7/site-packages/OctoPrint_MeatPack/packing_serial.py", line 182, in readline
    read = super(PackingSerial, self).readline(**kwargs)
  File "/home/pi/oprint/lib/python3.7/site-packages/serial/serialposix.py", line 560, in read
    raise PortNotOpenError()
serial.serialutil.PortNotOpenError: Attempting to use a port that is not open
2021-01-28 20:47:51,919 - octoprint.util.comm - INFO - M110 detected, setting current line number to 0
2021-01-28 20:47:51,949 - octoprint.util.comm - ERROR - Please see https://faq.octoprint.org/serialerror for possible reasons of this.
2021-01-28 20:47:51,963 - octoprint.util.comm - INFO - Changing monitoring state from "Detecting serial connection" to "Offline (Error: PortNotOpenError: 'Attempting to use a port that is not open' @ comm.py:_readline:3831)"
2021-01-28 20:47:51,964 - octoprint.events.fire - DEBUG - Firing event: UpdatedFiles (Payload: {'type': 'printables'})
2021-01-28 20:47:51,965 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:51,968 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:51,969 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:51,969 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:51,969 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:51,969 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:51,970 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:51,970 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:51,970 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:51,970 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:51,970 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:51,971 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:51,971 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:51,972 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:51,972 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:51,972 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:51,972 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:51,972 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:51,973 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:51,973 - octoprint.events.fire - DEBUG - Firing event: Disconnected (Payload: None)
2021-01-28 20:47:51,973 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:51,976 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:51,980 - octoprint.plugins.action_command_notification - INFO - Notifications cleared
2021-01-28 20:47:51,983 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:51,984 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:51,985 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:51,986 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:51,993 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:51,995 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:51,996 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:51,997 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:51,999 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:52,000 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:52,001 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:52,002 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:52,003 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:52,004 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:52,004 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:52,005 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:52,006 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:47:52,008 - octoprint.events.fire - DEBUG - Firing event: PrinterStateChanged (Payload: {'state_id': 'OFFLINE', 'state_string': 'Offline'})
2021-01-28 20:47:52,008 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:47:52,012 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:47:52,012 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:47:52,014 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:47:52,015 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:47:52,016 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:47:52,016 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:47:52,017 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:47:52,018 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:47:52,019 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:47:52,020 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:47:52,022 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:47:52,022 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:47:52,023 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:47:52,025 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:47:52,025 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:47:52,026 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:47:52,027 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:47:52,030 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:48:05,945 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 7.33ms
2021-01-28 20:48:05,959 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 8.39ms
2021-01-28 20:48:06,090 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 8.29ms
2021-01-28 20:48:06,097 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 4.56ms
2021-01-28 20:48:06,316 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 6.49ms
2021-01-28 20:48:06,563 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 4.63ms
2021-01-28 20:48:06,767 - tornado.access - WARNING - 409 GET /api/printer (::ffff:192.168.1.1) 8.68ms
2021-01-28 20:48:14,140 - octoprint.events.fire - DEBUG - Firing event: UserLoggedIn (Payload: {'username': None})
2021-01-28 20:48:14,141 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:48:14,151 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:48:14,152 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:48:14,154 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:48:14,155 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:48:14,157 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:48:14,159 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:48:14,159 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:48:14,160 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:48:14,160 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:48:14,161 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:48:14,162 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:48:14,163 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:48:14,163 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:48:14,164 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:48:14,164 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:48:14,165 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:48:14,166 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:48:14,166 - octoprint.plugin - DEBUG - Calling on_event on tasmota
2021-01-28 20:48:14,326 - octoprint.events.fire - DEBUG - Firing event: UserLoggedIn (Payload: {'username': None})
2021-01-28 20:48:14,326 - octoprint.events - DEBUG - Sending action to <bound method PrinterStateConnection._onEvent of <octoprint.server.util.sockjs.PrinterStateConnection object at 0xa98505f0>>
2021-01-28 20:48:14,327 - octoprint.plugin - DEBUG - Calling on_event on action_command_notification
2021-01-28 20:48:14,330 - octoprint.plugin - DEBUG - Calling on_event on action_command_prompt
2021-01-28 20:48:14,331 - octoprint.plugin - DEBUG - Calling on_event on announcements
2021-01-28 20:48:14,332 - octoprint.plugin - DEBUG - Calling on_event on file_check
2021-01-28 20:48:14,333 - octoprint.plugin - DEBUG - Calling on_event on firmware_check
2021-01-28 20:48:14,334 - octoprint.plugin - DEBUG - Calling on_event on pluginmanager
2021-01-28 20:48:14,335 - octoprint.plugin - DEBUG - Calling on_event on softwareupdate
2021-01-28 20:48:14,336 - octoprint.plugin - DEBUG - Calling on_event on DisplayLayerProgress
2021-01-28 20:48:14,338 - octoprint.plugin - DEBUG - Calling on_event on DryRun
2021-01-28 20:48:14,355 - octoprint.plugin - DEBUG - Calling on_event on FriendlyBeeper
2021-01-28 20:48:14,381 - octoprint.plugin - DEBUG - Calling on_event on PrintTimeGenius
2021-01-28 20:48:14,407 - octoprint.plugin - DEBUG - Calling on_event on backupscheduler
2021-01-28 20:48:14,407 - octoprint.plugin - DEBUG - Calling on_event on bedlevelvisualizer
2021-01-28 20:48:14,408 - octoprint.plugin - DEBUG - Calling on_event on dashboard
2021-01-28 20:48:14,434 - octoprint.plugin - DEBUG - Calling on_event on eeprom_marlin
2021-01-28 20:48:14,446 - octoprint.plugin - DEBUG - Calling on_event on m73progress
2021-01-28 20:48:14,472 - octoprint.plugin - DEBUG - Calling on_event on printoid
2021-01-28 20:48:14,498 - octoprint.plugin - DEBUG - Calling on_event on tasmota
scottmudge commented 3 years ago

Looks like it's still trying to read from ttyS0 in that excerpt. The PackingSerial() class doesn't decide which port to open. OctoPrint tells it what port to open.

I'm guessing there's still more to the log. Can you upload the whole thing to pastebin or attach it?

Also, I see your branch has a lot of configuration differences from the default, but does the build from here work?:

https://marlin.crc.id.au/

If there's a compatible build, anyway. I've confirmed it works the other night with the guy who runs the site and creates those builds, so it would narrow down if it's something in your build or not.

scottmudge commented 3 years ago

And a final note, when Marlin merged my file they did some refactoring which may not have been tested. The builds that were tested were built from a patch without this refactoring.

If you're able to use the crc.id.au builds and they work (or if you can't and it still doesn't work on your branch), try replacing "meatpack.cpp" on your branch with the one I've attached here, and do a clean rebuild.

meatpack_cpp.zip

Taomyn commented 3 years ago

Looks like it's still trying to read from ttyS0 in that excerpt. The PackingSerial() class doesn't decide which port to open. OctoPrint tells it what port to open.

I'm guessing there's still more to the log. Can you upload the whole thing to pastebin or attach it?

Nope that was everything for the time I was testing

Also, I see your branch has a lot of configuration differences from the default, but does the build from here work?:

https://marlin.crc.id.au/

If there's a compatible build, anyway. I've confirmed it works the other night with the guy who runs the site and creates those builds, so it would narrow down if it's something in your build or not.

Unfortunately I'm not going to be able to try that until the weekend, probably Sunday, and then it will take time as I'd need to be 100% it was going to work with my hardware set-up - it's hardly stock but not anything non-standard e.g. it's a genuine BL-Touch not a clone.

Taomyn commented 3 years ago

And a final note, when Marlin merged my file they did some refactoring which may not have been tested. The builds that were tested were built from a patch without this refactoring.

If you're able to use the crc.id.au builds and they work (or if you can't and it still doesn't work on your branch), try replacing "meatpack.cpp" on your branch with the one I've attached here, and do a clean rebuild.

meatpack_cpp.zip

Sure, I can try that tomorrow and let you know.

scottmudge commented 3 years ago

No problem, then for the time being try replacing meatpack.cpp with the file I linked above, and then rebuild.

And if you wouldn't mind, after it's done compiling, rename the .elf file produced to .elf.txt and attach it to the response, so I can check the disassembly.

Thanks for helping in the debug process!

Taomyn commented 3 years ago

No problem, then for the time being try replacing meatpack.cpp with the file I linked above, and then rebuild.

It would not compile

image

I did have issues trying to compile just the latest bugfix changes from today, but after I reverted it was ok again and then I copied over your file and the above is what I got.

scottmudge commented 3 years ago

Indeed, the toggle command was removed in the header. Here's a fix, removed that case statement. meatpack_cor.zip

Taomyn commented 3 years ago

Indeed, the toggle command was removed in the header. Here's a fix, removed that case statement. meatpack_cor.zip

image

scottmudge commented 3 years ago

Geez they refactored a lot, that additional serial iface index might have something to do with why it doesn't work?

Here, I made a branch of the commit that was tested and confirmed working on my fork. See if you can merge your fork with it and build. It's pretty much the same as bugfix-2.0.x, just without the refactoring they did to MeatPack after they merged my PR.

https://github.com/scottmudge/Marlin/tree/bugfix-2.0.x_meatpack_test

Taomyn commented 3 years ago

Geez they refactored a lot, that additional serial iface index might have something to do with why it doesn't work?

Here, I made a branch of the commit that was tested and confirmed working on my fork. See if you can merge your fork with it and build. It's pretty much the same as bugfix-2.0.x, just without the refactoring they did to MeatPack after they merged my PR.

https://github.com/scottmudge/Marlin/tree/bugfix-2.0.x_meatpack_test

Sorry, I have no clue how to merge my branch with yours, I've only been using Github for my own fork for the last 6 months - I use Github Desktop on Windows, and even on the site I can't figure it out and none of the drop downs ever shows your fork, e.g.

image

It's also annoying that even after months hitting the "Compare" button any fork including the main Marlin one just brings up this

image

I reported it and they still haven't done anything about it.

scottmudge commented 3 years ago

No problem, I can do it for you. Just give me a moment.

scottmudge commented 3 years ago

Alright, so create a directory to store the repo, open a terminal inside of it, then run the following:

git clone https://github.com/scottmudge/Marlin.git
cd Marlin
git checkout Taomyn_Ender3Pro_Branch_MPMerge

That should get you a nice merged branch, with all your changes from your fork.

Taomyn commented 3 years ago

That should get you a nice merged branch, with all your changes from your fork.

Thanks, that was successfully compiled - I just need to wait about an hour for a test print to finish then I can flash it. Here's the .elf file in the meantime.

firmware.elf.zip

Di3mex commented 3 years ago

I am having the same issue with my printer not connecting. I first merged the bugfix-2.0.0 branch from Marlin. It didn't connect.

Then I tried to automatically merge from the branch: bugfix-2.0.x_meatpack_test

Didn't compile.

Then I manually copy and pasted the meatpack files and got compile errors:

In file included from Marlin\src\gcode\queue.cpp:52: Marlin\src\gcode../feature/meatpack.h:117:55: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] 117 | static uint8_t unpacked_char(register const uint8_t in); | ^~ Marlin\src\gcode\queue.cpp: In static member function 'static void GCodeQueue::get_serial_commands()': Marlin\src\gcode\queue.cpp:482:46: error: no matching function for call to 'MeatPack::handle_rx_char(uint8_t, uint8_t&)' 482 | meatpack.handle_rx_char(uint8_t(c), p); | ^ In file included from Marlin\src\gcode\queue.cpp:52: Marlin\src\gcode../feature/meatpack.h:105:15: note: candidate: 'static void MeatPack::handle_rx_char(uint8_t)' 105 | static void handle_rx_char(const uint8_t c); | ^~~~~~ Marlin\src\gcode../feature/meatpack.h:105:15: note: candidate expects 1 argument, 2 provided *** [.pio\build\LPC1768\src\src\gcode\queue.cpp.o] Error 1

I then copy and pasted the files from your initial commit (meatpack.h, .c and queue)

It compiled but still doesn't connect.

I am now reverting back so I can continue printing.

My last configuration can be found on my github.

https://github.com/Di3mex/Marlin-P802/tree/bugfix-2.0.x

scottmudge commented 3 years ago

I then copy and pasted the files from your initial commit (meatpack.h, .c and queue)

@Di3mex Which commit did you copy from? Looking at your fork, it looks like it still has the refactored and potentially broken code from Marlin.

I need to bring it up with Marlin. It doesn't seem like they effectively tested all of the code they refactored when they pulled my changes, which is unfortunate.

I will prepare you a branch from your fork with the tested, working revision.

scottmudge commented 3 years ago

@Di3mex

Try this branch, I copied your config:

https://github.com/scottmudge/Marlin/tree/Dimex_Branch_testing

git clone https://github.com/scottmudge/Marlin.git
cd Marlin
git checkout Dimex_Branch_testing
Taomyn commented 3 years ago

@scottmudge I'm afraid the version compiled from your code is doing the same thing - when I set it to the port manually it just sits there forever connecting.

scottmudge commented 3 years ago

Okay, well at least that's been narrowed down. If the only difference is the Configuration.h and Configuration_adv.h changes, then something in there must be causing a problem.

Di3mex commented 3 years ago

@Di3mex

Try this branch, I copied your config:

https://github.com/scottmudge/Marlin/tree/Dimex_Branch_testing

git clone https://github.com/scottmudge/Marlin.git
cd Marlin
git checkout Dimex_Branch_testing

Thanks, but also doesn't connect.

scottmudge commented 3 years ago

Alright so there is some configuration difference between the builds produced on https://marlin.crc.id.au/ and those you're producing.

Can you produce a standard set of Configuration.h and Configuration_adv.h for your respective printer(s), or detail how yours is changed from the default? The existing one on the repo just looks like a template.

Taomyn commented 3 years ago

Alright so there is some configuration difference between the builds produced on https://marlin.crc.id.au/ and those you're producing.

Can you produce a standard set of Configuration.h and Configuration_adv.h for your respective printer(s), or detail how yours is changed from the default? The existing one on the repo just looks like a template.

Got a bit confused by your now deleted message as I was sure mine was 32 image

My readme.md lists all the changes I make to a default Marlin config files, I have not used any of the vendor files.

Di3mex commented 3 years ago

@scottmudge The config in my repo is not the default config. Not much changed. Just ABL and the options to enable Host command support (in config.adv), Lin advance, 32 microsteps, bigger buffers and stuff to "improve" the serial connection via USB.

scottmudge commented 3 years ago

@Taomyn yes I was looking at the wrong side of my diff view, the other (Marlin default) was set to 0. Does setting it to 0 have any effect though?

And on that note, @Di3mex , did you do the same modification to TX_BUFFER_SIZE?

That's the only difference I can think of that would have a potential cause in the Firmware.

The only other potential cause would be on the host side. @Di3mex, can you link/attach your complete octoprint.log file? Perhaps OctoPrint + MeatPack doesn't like it when there's a separate, unused serial interface (e.g., /dev/ttyS0).

CRCinAU commented 3 years ago

Ok - just to fix some confusion here - Meatpack won't work with USB Emulated serial - ie /dev/ttyACM0 - that is because it isn't real serial. There's no such thing as a baud rate in USB Emulated Serial - hence your max speeds are about 12Mbit - not 115200.

As such, it doesn't really make sense to use MeatPack in this scenario - as your printer can't print at a 12Mbit data rate.

As such, Marlin will only allow MeatPack on real serial ports (0-7) - whereas USB is serial port -1.

As further info, you can connect to a different serial port on the same board and use Meatpack - but that also wouldn't make sense as it'd still be slower than the emulated usb serial.

scottmudge commented 3 years ago

Thank you for clarifying, should have noticed it was ACM0, not AMA0.

On that note, I should pass-through control in the plugin w/o MP enabled if it is USB emulated. @CRCinAU - Is this type of serial device always enumerated with the ttyACM* device ID?

CRCinAU commented 3 years ago

Is this type of serial device always enumerated with the ttyACM* device ID?

I believe so. See the comments in the Discord chat where we had our marathon debugging session :)

hooksea commented 3 years ago

Hi I just started to use this plugin with my Ender 3 pro using the firmware compiled on https://marlin.crc.id.au/ and I am experiencing this same issue. When the plugin is enabled, the octoprint doesn't connect over the USB serial connection. If the port is manually changed to /dev/ttyACM0 it sits at connecting and then eventually fails. Has this been resolved at all? Thanks for the great work!

ixendrax commented 3 years ago

Hi having the same issue with Ender 3 V2 and standard E3 V2 BLTouch firmware from https://marlin.crc.id.au/ Using /dev/ttyUSB0

CRCinAU commented 3 years ago

There's a lot of issues right now that Meatpack is falling victim to - and the majority are do to with serial rewrite done in the last few days...

Monitor these: https://github.com/MarlinFirmware/Marlin/pull/20932

Once that gets merged, it should hopefully fix a lot of breakage that is currently going on...

X-Ryl669 commented 3 years ago

Please test with latest bugfix, it should be resolved. If so, please close the issue. Thanks!

CRCinAU commented 3 years ago

Updated binaries are now on https://marlin.crc.id.au/ - look for 20210201 as the datestamp.

I'm not sure if it will still work on /dev/ttyACM* style 'serial' - but worth testing...

Taomyn commented 3 years ago

Please test with latest bugfix, it should be resolved. If so, please close the issue. Thanks!

Would love to but

Compiling .pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\eeprom_flash.cpp.o
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\HAL.cpp:30:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
   _NOINLINE
compilation terminated due to -fmax-errors=5.
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\MarlinSerial.cpp:25:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\HAL_SPI.cpp:32:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\Servo.cpp:25:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
compilation terminated due to -fmax-errors=5.
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
   _NOINLINE
compilation terminated due to -fmax-errors=5.
compilation terminated due to -fmax-errors=5.
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\HAL.cpp.o] Error 1
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\HAL_SPI.cpp.o] Error 1
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\MarlinSerial.cpp.o] Error 1
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\Servo.cpp.o] Error 1
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\eeprom_bl24cxx.cpp:30:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\dogm\../../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\dogm\../../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\dogm\../../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\dogm\../../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\dogm\u8g_com_stm32duino_swspi.cpp:21:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\SPI.cpp:43:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
In file included from c:\users\fernando\documents\github\marlin\marlin\src\core\serial_hook.h:24:0,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/MarlinSerial.h:29,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/./STM32F1/HAL.h:49,
                 from Marlin\src\HAL\STM32F1\../../inc/../HAL/HAL.h:30,
                 from Marlin\src\HAL\STM32F1\../../inc/MarlinConfig.h:31,
                 from Marlin\src\HAL\STM32F1\eeprom_flash.cpp:32:
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:81:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(char c, int base = 0)              { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:82:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned char c, int base = 0)     { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:83:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(int c, int base = DEC)             { print((long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:84:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void print(unsigned int c, int base = DEC)    { print((unsigned long)c, base); }
   ^~~~~~~~~
   _NOINLINE
compilation terminated due to -fmax-errors=5.
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
   _NOINLINE
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
c:\users\fernando\documents\github\marlin\marlin\src\core\serial_base.h:98:3: error: 'NO_INLINE' does not name a type; did you mean '_NOINLINE'?
   NO_INLINE void println(const char s[])                  { print(s); println(); }
   ^~~~~~~~~
   _NOINLINE
compilation terminated due to -fmax-errors=5.
compilation terminated due to -fmax-errors=5.
compilation terminated due to -fmax-errors=5.
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\eeprom_bl24cxx.cpp.o] Error 1
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\eeprom_flash.cpp.o] Error 1
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\dogm\u8g_com_stm32duino_swspi.cpp.o] Error 1
*** [.pio\build\STM32F103RC_btt_512K\src\src\HAL\STM32F1\SPI.cpp.o] Error 1
================================================================================== [FAILED] Took 12.84 seconds ==================================================================================
CRCinAU commented 3 years ago

This is a problem with your environment - not the updated bugfix.

Also, on a STM32F103RC_btt_512K, you won't be able to use MeatPack over the usb cdc connection - but given it has a max speed of 12Mbit, I'm not sure that matters.

X-Ryl669 commented 3 years ago

NO_INLINE is defined in macros.h. It's very likely you don't use bugfix, or you've missed a change in your fork?

X-Ryl669 commented 3 years ago

BTW, interesting project!. With the new serial hook system, you can simply define your own "decompression/compression" wrapper over write and available and read method so it'd only require a single class & typedef change and it'd work transparently for Marlin.

CRCinAU commented 3 years ago

@X-Ryl669 - If you feel like it - MeatPack doesn't currently work on USB CDC (SERIAL_PORT -1) in Marlin.

We think that it probably should, even though it really doesn't add any benefit to transfer speeds over the USB CDC connection - but more for compatibility and staying consistent in available features between different types of "serial" connections...

If you happen to know how to fix this, it'd be a lovely thing to have... :)

X-Ryl669 commented 3 years ago

What is the issue ?

Taomyn commented 3 years ago

This is a problem with your environment - not the updated bugfix.

@X-Ryl669 I'll revert back to my build from yesterday, disable Meatpack as I'm done with it and try applying the latest again.

CRCinAU commented 3 years ago

I'm not exactly sure - only that it works on UART0-7 - but not -1 - being the USB port.

Taomyn commented 3 years ago

Ok, so after reverting to yesterday's build and disabling Meatpack the compile worked again. I re-merged bugfix into my branch and it then compiled. Out of curiosity I re-enabled Meatpack and it still compile correctly - I have no clue why it was failing earlier but seems to be fixed now.

I still don't understand the issue with the USB on my board - as I understand it just like my USB serial console cable it's just a USB-to-Serial-bridge and so the operating system is given a standard serial port, COM3 albeit an emulated one, and anything using it treats it as such including the speed. It will never do 12Mbit, only the baud rate the application uses when connecting to the COM port. I'm happy to be shown why I am wrong.

X-Ryl669 commented 3 years ago

With CDC serial (the "USB serial comm port emulation"), the UART speed is completely ignored, since UART's data does not flow with 2 wires and strict clocking, it's captured and send as bytes in USB packets (at native USB speed, 12MBits 480 MBits whatever). So you were probably doing < 12Mbits serial without even knowing it.

Can you describe the issue a bit more ?

  1. Without enabling Meatpack, do you get data from that USB's serial link in a terminal/octoprint ?
  2. If yes, then Meatpack is probably doing something unexpected on the serial link (like, for example, trying to read 2 bytes while there's only one available. On a usual serial port, it'll just work with a single byte returned, but for USB, it's waiting for the 2 bytes to come, so you don't even get the former byte ?)
  3. If no, then it's an issue with Marlin, and I need to figure out why it happens.
Taomyn commented 3 years ago
  1. Without enabling Meatpack, do you get data from that USB's serial link in a terminal/octoprint ?

Yes

Not sure how to answer the other questions, but thanks for explaining the CDC serial

CRCinAU commented 3 years ago

@X-Ryl669 If you get on Discord, have a chat to "Dust" - he knows more about it than I do and can probably help you a long way with it...

X-Ryl669 commented 3 years ago

Is it related: https://github.com/MarlinFirmware/Marlin/issues/20367 ?

Snargaloo commented 3 years ago

I am eager to try this MeatPack feature. I have compiled the latest Marlin 2.0.x-bugfix from this morning. I use git stash to apply my changes to the latest rebase. I will attach the patch file from my git stash. I have latest OctoPrint running on an Rpi4 with a Python3 only environment. I have the RPi4 Bluetooth device disabled making the first PL011 (UART0) the primary UART. I connect to my printer using /dev/ttyAMA0. When MeatPack is enabled, OctoPrint will not connect. Disabling MeatPack allows OctoPrint to connect again. serial_with_meatpack.log serial_without_meatpack.log marlin_2_0_x_bugfix_changes.zip