improve initial connection sequence, wait for bambu client connection before returning firmware information.

This commit is contained in:
jneilliii 2024-10-28 17:56:41 -04:00
parent eaa0ed94c0
commit 28be048300
2 changed files with 7 additions and 3 deletions

View File

@ -210,7 +210,7 @@ class BambuVirtualPrinter:
self._telemetry.bedTemp = temperatures.bed_temp self._telemetry.bedTemp = temperatures.bed_temp
self._telemetry.bedTargetTemp = temperatures.target_bed_temp self._telemetry.bedTargetTemp = temperatures.target_bed_temp
self._telemetry.chamberTemp = temperatures.chamber_temp self._telemetry.chamberTemp = temperatures.chamber_temp
if device_data.push_all_data: if device_data.push_all_data and "ams" in device_data.push_all_data:
self._telemetry.ams_current_tray = device_data.push_all_data["ams"]["tray_now"] or 255 self._telemetry.ams_current_tray = device_data.push_all_data["ams"]["tray_now"] or 255
if self._telemetry.ams_current_tray != self._settings.get_int(["ams_current_tray"]): if self._telemetry.ams_current_tray != self._settings.get_int(["ams_current_tray"]):
@ -367,8 +367,9 @@ class BambuVirtualPrinter:
##~~ command implementations ##~~ command implementations
@gcode_executor.register_no_data("M21") @gcode_executor.register_no_data("M21")
def _sd_status(self) -> None: def _sd_status(self) -> bool:
self.sendIO("SD card ok") self.sendIO("SD card ok")
return True
@gcode_executor.register("M23") @gcode_executor.register("M23")
def _select_sd_file(self, data: str) -> bool: def _select_sd_file(self, data: str) -> bool:
@ -469,6 +470,9 @@ class BambuVirtualPrinter:
# noinspection PyUnusedLocal # noinspection PyUnusedLocal
@gcode_executor.register_no_data("M115") @gcode_executor.register_no_data("M115")
def _report_firmware_info(self) -> bool: def _report_firmware_info(self) -> bool:
# wait for connection to be established before sending back firmware info
while self.bambu_client.connected is False:
time.sleep(1)
self.sendIO("Bambu Printer Integration") self.sendIO("Bambu Printer Integration")
self.sendIO("Cap:AUTOREPORT_SD_STATUS:1") self.sendIO("Cap:AUTOREPORT_SD_STATUS:1")
self.sendIO("Cap:AUTOREPORT_TEMP:1") self.sendIO("Cap:AUTOREPORT_TEMP:1")

View File

@ -14,7 +14,7 @@ plugin_package = "octoprint_bambu_printer"
plugin_name = "OctoPrint-BambuPrinter" plugin_name = "OctoPrint-BambuPrinter"
# The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module # The plugin's version. Can be overwritten within OctoPrint's internal data via __plugin_version__ in the plugin module
plugin_version = "0.1.8rc2" plugin_version = "0.1.8rc3"
# The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin # The plugin's description. Can be overwritten within OctoPrint's internal data via __plugin_description__ in the plugin
# module # module