No description
This repository has been archived on 2025-02-01. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
David Crocker 811de41a7d Version 1.19beta7
New features:
- M291 command is provided to display a message box with options for
timeout, acknowledgement and Z jog buttons
- M292 command is provided to acknowledge M291 messages
- Manual delta calibration and bed compensation is supported (use P0 in
the M558 command to indicate that there is no Z probe)
- Minimum value for S parameter (maximum heater PWM) in M307 command is
reduced from 20% to 1%
- Core XYU kinematics are now supported (thanks Lars)
- RADDS build now supports 9 motors (thanks Tom)
- If a homing move uses parameter S3 instead of S1 then the axis minimum
or maximum value is set to the current position instead of vice versa
- M589 with no parameters now reports the Duet's own SSID
- M589 S"*" now deletes the Duet WiFi's own access point details

Bug fixes:
- Tool X offsets are now applied on the next move even if it has no Z
parameter
- The tool change restore point coordinates now take account of X axis
mapping
- M588 P"*" command (forget all access points) now works
- On the Duet WiFi, after using M589 to set up access point parameters,
when M552 S2 was sent to start the WiFi module in AP mode it reported
"WiFi reported error: invalid access point configuration". The fix also
needs DuetWiFiServer version 1.19beta7.
- On a delta printer the effector height is limited to reachable values

Areas of code refactored (so watch out for new bugs):
- G30 bed probing
- Baby stepping
- Tool offset implementation

Upgrade notes:
- SSIDs and passwords in M587, M588 and M589 commands must now be
enclosed in double quotes
- Height map filenames in G29, M374 and M375 commands must now be
enclosed in double quotes
- On a Duet WiFi you should also upgrade DuetWiFiServer.bin to version
1.19beta7. You do not need to perform a simultaneous upgrade, but M587
and M589 reporting functionality won't work correctly if your
DuetWiFiFirmware and DuetWiFiServer versions are out of step.
2017-06-22 23:02:03 +01:00
.settings Version 1.17rc1a 2016-12-13 21:32:10 +00:00
Developer-documentation Version 1.18RC1 2017-03-28 19:35:35 +01:00
Driver Version 1.18.1 2017-04-09 08:36:51 +01:00
Release Version 1.19beta7 2017-06-22 23:02:03 +01:00
Scripts Version 1.12 2016-05-07 21:55:19 +01:00
SD-image DuetEthernet support + minor changes 2016-12-29 14:11:08 +00:00
src Version 1.19beta7 2017-06-22 23:02:03 +01:00
Tools/Windows Added Tools folder 2016-07-22 19:41:57 +01:00
.cproject More work towards version 1.19 2017-04-25 11:42:49 +01:00
.gitattributes Updated .gitattributes 2016-10-19 09:22:35 +01:00
.gitignore Updated gitignore again 2016-08-23 21:40:54 +01:00
.project Switched to new build system 2016-03-09 16:38:18 +00:00
BuildInstructions.md Update BuildInstructions.md 2017-06-18 09:03:55 +01:00
Changes in dc42 fork.txt Version 1.00q 2015-03-19 18:10:20 +00:00
LICENCE Update LICENCE 2016-06-13 12:35:29 +01:00
Notes on dc42 fork of RepRapFirmware.odt Version 1.09b 2015-06-14 20:15:36 +01:00
Notes on dc42 fork of RepRapFirmware.pdf Version 1.09b 2015-06-14 20:15:36 +01:00
README.md Update README.md 2017-06-03 14:39:55 +01:00
WHATS_NEW.md Update WHATS_NEW.md 2017-06-22 23:00:50 +01:00

This is firmware for controlling 3D printers and related devices using electronics with Atmel ARM main processors. The minimum specification processor it is intended for is ARM Cortex M3 with 96Kb RAM such as the SAM3X8E.

General design principles:

  • Unlike most other 3D printer firmwares, it is not intended to be portable to outdated processors with limited CPU power. So make good use of the power of modern inexpensive ARM processors to implement advanced features.
  • "One binary to rule them all". For a given electronics board, all features of interest to many 3D printer owners are supported by a single binary. Users do not need to recompile the firmware unless they have unusual requirements.
  • "G-code everywhere". All firmware configuration is done using gcodes in the config.g file. Most type of change can be done on the fly so that you can experiment with different configurations without even having to restart the printer.
  • Use high-integrity coding standards to help ensure that the firmware is reliable. In particular, don't use dynamic memory allocation after the initialisation phase. The MISRA-C++ 2008 coding standard serves as a guide as to what is acceptable practice, but compliance to it is not rigidly enforced in order to allow features from later versions of the C++ language to be used.
  • Use an appropriate degree of modularity. Too little modularity makes the code hard to understand and maintain. Too much makes it hard to introduce new features when the existing module boundaries turn out to be inappropriate.
  • Use object-based and object-oriented design principles where it is appropriate. In particular, class data should normally be private. Use 'friend' sparingly or not at all.

RepRapFirmware has pioneered a number of advances in 3D printing including:

  • Support for mixing extruders (July 2014)
  • Precise timing of step pulses, even during acceleration (Janury 2015)
  • Segmentation-free delta motion (January 2015)
  • Least-squares auto calibration of delta printers (April 2015)
  • Accurate extruder pressure advance, including retraction before the end of a move when needed (January 2015)

For documentation on supported gcodes and configuration, see https://duet3d.com/wiki. There is a tool for generating the config.g file and homing files at https://configurator.reprapfirmware.org/.

For compiling from source, see separate file BuildInstructions.md.

Licence: GPLv3, see http://www.gnu.org/licenses/gpl-3.0.en.html