moonglow / flashforge_fan_fix

:boom: FlashForge printer FAN speed control firmware fix ( allow to use M106 fan control GCode )
9 stars 0 forks source link

Useful G-Codes #3

Open moonglow opened 3 years ago

moonglow commented 3 years ago
Code Comment
~M504 Reset filament usage counter ( use with login )
~M601 S1 Login command
~M602 Logout command
~M611 Sn Set tool count, can be 1 or 2
~M615 Reset printer usage counter ( use without login )
tckb commented 3 years ago

@moonglow I love your fix! the thing that is missing the most are the "filament change" codes.

both of which is ignored, this would add a huge benefit during the multicolor prints. There are some macros which are accepted but not supported.

KeltE commented 3 years ago

If you accidentally stumble upon these commands in the firmware, it would be good to know exactly how the Dreamer NX uses them.

Flashprint generated acceleration command: M204 X1000 Y1000 Z200 A4000 B4000

Prusaslicer generated acceleration commands: M201 X1200 Y1200 Z500 E10000 ; sets maximum accelerations, mm/sec^2 M203 X500 Y500 Z12 E120 ; sets maximum feedrates, mm/sec M204 P300 R300 T300 ; sets acceleration (P, T) and retract acceleration (R), mm/sec^2 M205 X7.00 Y7.00 Z0.20 E2.50 ; sets the jerk limits, mm/sec M205 S0 T0 ; sets the minimum extruding and travel feed rate, mm/sec

Than you!

moonglow commented 3 years ago

M201, M204, M205 - not parsed, just response OK M203 - parsed and looks like it used for something...

KeltE commented 3 years ago

Thank you! Strange that flashforg has such a mixed salad with codes. :) I turned on the flashprint acceleration settings and tested. Completely different result from Marlin firmware. Not sure whether flashforge himself also knows which codes are used. :)

DDMH commented 3 years ago

@moonglow Thank you so much for bringing my old Dreamer back to life. Do you know if the Dreamer firmware supports a version of the M92 code which controls axis steps/mm? I tried sending M92 (for example M92 X89 Y89) via USB but it didn't change the motor movements.

moonglow commented 3 years ago

@DDMH Hi! FlashForge ( Dremel 3d20,PowerSpec Ultra 3D ) firmware ported from Sailfish firmware project to 32bit ARM, so it will not support M92 code ( because Sailfish does not support it ), you can change default step_per_mm values only if you patch original firmware, but you can use my Marlin porject instead and do what ever you want easily :)

p.s: you can hard code that values, but it be tricky because firmware constant pool compressed by linker and ram structure filled via startup code. you need to find some code cave and place your own hook with new settings table, but thanx for point me i will reap real feedrate_values and step_per_mm values from firmwares and update config for more precision values

default settings:

step_per_mm ( black pulley )
X: 88.909720
Y: 88.909720
Z: 400.000000
E1: 96.275202
E2: 96.275202

max_feedrate ( mm/s )
X: 300
Y: 300
Z: 19.5
E1: 26.6666666667
E2: 26.6666666667

accel:
X: 1000
Y: 1000
Z: 150
E1: 4000
E2: 4000
DDMH commented 3 years ago

@moonglow Thank you! I have black plastic pulleys on my Dreamer. I think the black are 18 teeth (theoretically 88.89 steps/mm) and the silver are 17 teeth (94.12 steps/mm), but I could be wrong. I will definitely flash Marlin later this week.

moonglow commented 3 years ago

@DDMH Oh sorry it was my typo :) it for Black pulley ! Thanx

Black pulley:   X88.90 Y88.90 Z400 E96.56
Silver pulley:  X94.14 Y94.14 Z400 E96.56