M555 P2 is ignored in config.g and Macro
-
Hello,
i try to set compatibility to Marlin in config.g, but this is ignored. In a macro it is ignored, too. It works, when the command is entered at the console.I try this on RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet Ethernet 1.02 or later.
My config.g:
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Apr 03 2021 02:40:13 GMT+0200 (Mitteleuropäische Sommerzeit) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set Marlin M550 P"Duet X-Max" ; set printer name ; Network ;M551 P"" ; set password M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes forwards X M569 P1 S1 ; physical drive 1 goes forwards Y M569 P2 S1 ; physical drive 2 goes forwards Z M569 P3 S1 ; physical drive 3 goes forwards E0 M569 P4 S1 ; physical drive 3 goes forwards E1 M584 X0 Y1 Z2:4 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X94.2418 Y94.2418 Z400.00 E415.00 ; set steps per mm M566 X300.00 Y300.00 Z120.00 E600.00 ; set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z900.00 E3000.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z15.00 E3000.00 ; set accelerations (mm/s^2) M906 X800 Y800 Z500 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X300 Y250 Z297.05 S0 ; set axis maxima ; Endstops M574 X2 S1 P"!xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"!ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"!zstop+!e1stop" ; configure active-high endstop for high end on Z via pin zstop ; old Z-Probe ; old M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed ; old M557 X15:215 Y15:195 S20 ; define mesh grid ; Z-Probe M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H10 F600 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P250 X150 Y125 Z1.1968 ; set Z probe trigger value, offset and trigger height M557 X15:285 Y15:235 S20 ; define mesh grid ; Heaters ; heated Bed M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 ;M307 H0 B0 S1.00 ; disable bang-bang mode for bed heater and set PWM limit M307 H0 R0.220 C768.703:768.703 D0.55 S1.00 V24.0 B0 ; disable bang-bang mode for bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ; Daragon Hotend M308 S1 P"spi.cs1" Y"thermocouple-max31855" ; configure sensor 1 as thermocouple via CS pin spi.cs1 M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S350 ; set temperature limit for heater 1 to 350C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan1 and set its frequency M106 P0 C"F0 Bauteil" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan0 and set its frequency M106 P1 C"F1 Hotend" S1 H1 T42 ; set fan 1 name and value. Thermostatic control is turned on M950 F2 C"fan2" Q500 ; create fan 2 on pin fan2 and set its frequency M106 P2 C"F2 Kammer" S0 H-1 ; set fan 2 name and value. Thermostatic control is turned off ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M564 H0 ; Allow moves without homeing axis M501 ; load saved parameters from non-volatile memory M555 P2 ; Marlin Mode again ;M575 P0 S2 T0 ; select first tool
Where is the right place to set M555 P2? Thanks for help.
regards,
Dirk -
@turtletrumpet This page says the compatibility is just for USB or Telnet communications from other devices.
-
@alankilian
I know, I need "M555 P2" to use octoprint. -
Why do you say it's ignored in config.g?
Right after boot up if you send M555 by itself in the console what does it report back?
-
@turtletrumpet
This is a response from gloomyandy (maintainer of the LPC/STM32 port) when we were talking about Marlin compatibility for the TFT screensThe M555 P2 applies to the "GCodeBuffer" that it is applied to, think of them as "channels" that can be used to read an execute gcode. There are quite a few different gcode buffers in the system (If you run M122 it will list them towards the end of the output). This means that if you set it in say the config.g file (which in the WiFi version of the software is executed by the "File" gcode buffer), then that only applies to other things executed by the "file" channel/buffer, so if you use the "USB" channel to check the state of things you will see a different setting.
Effectively, send M555 P2 from octoprint and that should change the output accordingly
-
@phaedrux said in M555 P2 is ignored in config.g and Macro:
Why do you say it's ignored in config.g?
Right after boot up if you send M555 by itself in the console what does it report back?
If I enter M555 P2 in config.g and check this after starting the board with M555, I get "reprap" as a response. The same happens when I enter the command M555 P2 in a macro and execute it.
If I set the command M555 P2 at the console of the web interface and check it with M555, I get the correct answer "marlin".
What am I doing wrong? -
@jay_s_uk said in M555 P2 is ignored in config.g and Macro:
@turtletrumpet
This is a response from gloomyandy (maintainer of the LPC/STM32 port) when we were talking about Marlin compatibility for the TFT screensThe M555 P2 applies to the "GCodeBuffer" that it is applied to, think of them as "channels" that can be used to read an execute gcode. There are quite a few different gcode buffers in the system (If you run M122 it will list them towards the end of the output). This means that if you set it in say the config.g file (which in the WiFi version of the software is executed by the "File" gcode buffer), then that only applies to other things executed by the "file" channel/buffer, so if you use the "USB" channel to check the state of things you will see a different setting.
Effectively, send M555 P2 from octoprint and that should change the output accordingly
Thank you for the explanation.
If octoprint detects an error when establishing a connection via usb, the duet is stopped by octoprint with M112 (emergency stop).
This error is always received by octoprint because it responds to octoprint in reprap mode.
Therefore, I want to make sure that the duet is in "marlin mode" before establishing a connection. -
Change the 'hallo' ('M110') command, that octoprint sends to Duet2 to 'M555 P2'. Then the connect works.
-
@turtletrumpet, every GCode source has its own M552 setting. So when you send M552 P2, it affects only the channel that you send it from.
The USB and Telnet channels default to Marlin emulation anyway, so if Octoprint is connected via USB or Telnet, it should work anyway without sending M555 P2.