Stephan3 / dwc2-for-klipper

A translator between DWC2 and Klipper
GNU General Public License v3.0
160 stars 38 forks source link

Add klipper extended gcodes to midprint_allow #12

Closed danielfmo closed 4 years ago

danielfmo commented 5 years ago

Allow some klipper extended g-codes that could be useful mid print as per https://github.com/KevinOConnor/klipper/blob/master/docs/G-Codes.md

rafaljot commented 5 years ago

Right, I already put these commands in my installation due to calibrate TMC parameters (SET_TMC_FIELD and SET_TMC_CURRENT).

rafaljot commented 5 years ago

Other tools like Cura, Repetier Host, Prontface, Octoprint, Printoid don't block user command. I understand that there are many kind of users. I think it can be done by parameter with default value that is more restricted.

1. [web_dwc2] addisional_midprint_commands= ['SET_TMC_FIELD', 'SET_TMC_CURRENT', 'PROBE_TEMP'] #etc

then sth like:

midprint_allows = midprint_allows+eval(self.config.get('addisional_midprint_commands', '[]'))

2. or just: [web_dwc2] allow_all_midprint_commands = True/False

default False

or both 1. and 2.

Those commands are important to me to calibrate TMC's chopper parameters. The only effective way is to do it during printing.

Stephan3 commented 5 years ago

Lets fiddle it here:

midprint_allow = [ 'G10', 'M0', 'M140', 'M24', 'M25', 'M106', 'M220', 'M221', 'M290', 'M292',
'GET_POSITION', 'SET_GCODE_OFFSET', 'SET_VELOCITY_LIMIT', 'SET_HEATER_TEMPERATURE',
'SET_PRESSURE_ADVANCE', 'STATUS', 'HELP', 'SET_PIN', 'DUMP_TMC', 'SET_TMC_CURRENT',
'SET_TMC_FIELD', 'RESPOND', 'PAUSE', 'RESUME', 'QUERY_FILAMENT_SENSOR' ]

GET_POSITION - i am fine with that, i add it SET_GCODE_OFFSET - Yo can use babystep in status page for z. for X/Y I see burning Anets SET_VELOCITY_LIMIT - i am fine with that, i add it SET_HEATER_TEMPERATURE - Why will some type that in. Just use the webinterface. SET_PRESSURE_ADVANCE - I agree, it should be there. STATUS - will always be ready midprint, otherwise we leave midprint state to off or idle. HELP - nit needed in my oppinion but it wont hurt, i add it SET_PIN - i agree it should be there. DUMP_TMC - i agree SET_TMC_CURRENT - Dangorous during print. So let there be a typo during a 300mm/s travel and horrible things might happen. Anyway i add it as most users wont do that. SET_TMC_FIELD - Burning anets nearly all of theese fields have no checkups. So you easily can overwrite the neighbour field with garbage. RESPOND - why? You did´nt answered the last time i asked this PAUSE/RESUME - i will test that. This might became the default behaviour in the future for the dwc buttons. QUERY_FILAMENT_SENSOR - i add that