Druid Firmware

From RepRap
Revision as of 02:35, 26 January 2023 by Daniel Massicotte (talk | contribs)
Jump to: navigation, search
Crystal Clear action run.png
Druid Firmware

Release status: Beta

Druid Logo.png
Description
Dedicated Firmware that currently runs only on Flashforge CoreBoard (All revisions)
License
Author
Contributors
Based-on
Categories
CAD Models
External Link


Druid firmware is a dedicated 3D printer firmware that currently runs only on Flashforge CoreBoard (all Revisions).

Printer that uses this controller:

Flashforge: Dreamer, Dreamer NX and Inventor. Dremel: 3D20. Powerspec: Ultra 3D. Monoprice: Inventor 1.

The firmware is currently in it's Beta testing phase.


Currently supported Gcodes:

"G" Codes


G0,G1     - Coordinated Movement X Y Z E.
G2        - CW ARC.
G3        - CCW ARC.
G4        - Dwell S<seconds> or P<milliseconds> if both set (then S will be used, P will be omitted).
G5        - Cubic B-spline with XYZE destination and IJPQ offsets.
G6        - Direct stepping moves.
G20       - Set input units to inches.
G21       - Set input units to millimeters.
G27       - Park Nozzle.
G28       - Home one or more axes.
G90       - Use Absolute Coordinates.
G91       - Use Relative Coordinates.
G92       - Set current position to coordinates given

"M" Codes


M0,M1     - Unconditional stop - Wait for user interaction on LCD.
M17       - Enable/Power all stepper motors.
M18,M84   - Disable steppers until next move, or use S<seconds> to specify an idle.
M20       - List currently monted SD Card. 
M21       - Mount SD card or internal microSD. Mount current:"M21", Mount SD CARD:"M21 S" or "M21 P0", Mount microSD:"M21 M" or "M21 P1"
M22       - Release currently monted SD Card. 
M75       - Start the print job timer.
M76       - Pause the print job timer.
M77       - Stop the print job timer.
M82       - Set Extruder(s) to Absolute (default).
M83       - Set Extruder(s) to Relative.
M85       - Set inactivity shutdown timer with parameter S<seconds>. 0=Disable (default).
M92       - Set steps_per_mm for one or more axes.
M104      - Set extruder target temperature.
M105      - Report current temperatures.
M106      - Set print fan speed.
M107      - Print fan off.
M112      - Full Shutdown.
M114      - Report current position.
M115      - Report capabilities.
M117      - Display a message on the controller screen. 
M118      - Display a message in the host console.
M119      - Report endstops status.
M120      - Enable endstops detection.
M121      - Disable endstops detection.
M148      - Set Display temperature units. ( M148=report, M148 C / K / F )
M149      - Set Parser temperature units.  ( M149=report, M149 C / K / F )
M150      - Set LED STRIP Color as R<red> U<green> B<blue> Values 0-255. Omitted parameters will be set to ZERO.
M154      - Auto-report positions with interval of S<seconds>. 1-255, 0=disable.
M201      - Set max acceleration in units/s2 for print moves ex: M201 X1000 Y1000
M202      - Set max acceleration in units/s2 for travel moves ex: M202 X1000 Y1000
M203      - Set maximum feedrate: "M203 X<fr> Y<fr> Z<fr> E<fr>" in units/sec.
M204      - Set default acceleration in units/sec2: P<printing> R<extruder_only> T<travel>
M206      - Set additional homing offset.
M218      - Set/get a tool offset: "M218 T<index> X<offset> Y<offset>". (Requires 2 or more extruders)
M220      - Set Feedrate Percentage: "M220 S<percent>" "M220 B" to back up the Feedrate Percentage and "M220 R" to restore it.
M221      - Set Flow Percentage: M221 S<percent>
M250,M256 - Set LCD brightness & contrast: "M250 or M256 C<contrast> B<brightness>" -100 to 100, 0=disabled / default
M298      - Mute/Unmute UI sound... Sound Disabled= "M298 S0" , Sound Enabled= "M298 S1" 
M300      - Play beep sound S<frequency Hz> P<duration ms>
M301      - Set PID parameters P I and D.
M302      - Set the minimum extrude temperature, to avoid cold extrusion. S<temperature>.
M303      - PID autotune - sets the parameters needed to perform autotune, for a specific heater and temperature range.
M304      - Set bed PID parameters P I and D. 
M309      - Set chamber PID parameters P I and D. 
M400      - Finish all moves.
M410      - Abort all planned moves.
M412      - Enable / Disable Filament Runout Detection.
M428      - Set the home_offset based on the current_position. Nearest edge applies.
M500      - Write parameters in next flash subdivision. (Note 1)
M501      - Read parameters from current flash subdivision. ( Automatically done at every boot )
M502      - Revert all parameters to the default "factory settings" and store in next flash subdivision.
M503      - List the current settings (in memory).
M504      - List divergences between parameters in the current save slot and parameters in memory (ram)
M510      - Lock Printer 
M511      - Unlock Printer 
M512      - Set/Change/Remove Password 
M524      - Abort the current SD print job started with M24.
M575      - Change the serial baud rate. (USB)
M907      - Set motor current for specified axis.
M995      - Touch screen calibration.
M997      - Write "firmware update" trigger. Instruct the bootloader to update firmware from microSD card at next reboot.
M999      - Restart after being stopped by error
M6000     - REPORT PUID TO HOST...           Puid: 084251D3F1A51542D3FDD4F0 (12 hex bytes,24 CHAR)
M6001     - ENTER registration code :usage   M6001 D3FDD4FDD3FDD4FDD3FDD4FD (12 hex bytes,24 CHAR)
M6002     - ENTER SPECIAL CODES : unlocking, get access, reset, password override, etc.
M9991     - Backup bootloader to SD (64k) 0x08000000 - 0x0800FFFF
M9992     - Load a Backuped BOOTLOADER from SD and Flash it at 0x08000000.  WARNING:wrong parameters may render your printer unusable.
M9993     - Backup SETTINGS to SD-CARD  (512 Bytes)
M9994     - Backup PUID to SD-CARD  (12 bytes or 24 HEX CHARACTERS)

"T" Codes


T0-T1     - Select an extruder(tool) by index: "T<n> F<units/min>"



Note 1. Because of the small size for parameter storage (512 bytes), a 128K flash memory sector is used as permanent storage. The sector can be partially written 256 times (512 bytes per backup) before requiring a complete sector wipe, to restart the same process again. (That was 1 write cycle). The flash memory maximum write cycles guaranteed for the STM32F407 MCU by ST Microelectronics are 10000, yielding a total of 2.56 million times, parameters can be saved.