From 1df1543c131c97eeb60d9ba79ff2235de82866d9 Mon Sep 17 00:00:00 2001 From: Ted Hess Date: Thu, 9 Nov 2017 14:09:48 -0500 Subject: [PATCH] Add new build instructions, README and changelog --- BUILDING.md | 29 ++++++++++++++++------------- CUSTOM.md | 38 ++++++++++++++++++++++++++++++++++++++ README.md | 11 ++++++----- 3 files changed, 60 insertions(+), 18 deletions(-) create mode 100644 CUSTOM.md diff --git a/BUILDING.md b/BUILDING.md index 863962c80..4f7a71474 100644 --- a/BUILDING.md +++ b/BUILDING.md @@ -5,28 +5,27 @@ Download and install the Arduino IDE. The most recent version 1.8.5 is available here: https://www.arduino.cc/en/Main/Software -If you already use another Arduino IDE version for other projects and don't want to upgrade to the latest setup, you may want to install a stand-alone (ZIP file) version rather than using the "Windows Installer". +If you already use a different Arduino IDE version for other projects and don't want to upgrade to the latest release, you may want to install a stand-alone (ZIP file) version rather than using the "Windows Installer". ### Step 2 - Prepare the Arduino toolchain 1. Open the IDE -2. Open file/preferences and set additional boards manager URL to the RAMBo repository:
https:// raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json -3. Open Tools/Boards/Boards Manager and install the RAMBo board:
"**RepRap Arduino-compatible Mother Board (RAMBo)** by **UltiMachine**" +2. Choose _File -> Preferences_ and set "Additional Boards Manager URLs" to the RAMBo repository:
https:// raw.githubusercontent.com/ultimachine/ArduinoAddons/master/package_ultimachine_index.json +3. Select _Tools -> Boards -> Boards Manager_ and install the RAMBo board:
"**RepRap Arduino-compatible Mother Board (RAMBo)** by **UltiMachine**" 4. Close the IDE. -5. Open the IDE and select the RAMBo as target board from the Tools submenu. +5. Open the IDE and select **RAMBo** as target board from the _Tools -> Boards_ submenu. 6. Close the IDE ### Step 3 - Download PRUSA i3 MK2 Firmware -You can either clone the prusa3d/Prusa-Firmware repository to a local path or download the ZIP file from and unpack it from here: -https://github.com/prusa3d/Prusa-Firmware/tree/MK2 +You can either clone the prusa3d/Prusa-Firmware repository to a local directory or download the ZIP file from https://github.com/prusa3d/Prusa-Firmware/tree/MK2 and unpack it in a local directory. Specific released versions of source code in either **.zip** or **.tar.gz** packages can be found here: https://github.com/prusa3d/Prusa-Firmware/releases ### Step 4 - Configure the Printer Firmware - select variant -The following configurations are availble in the __Prusa-Firmware/Firmware/variants__ directory. +The following configurations are available in the __Prusa-Firmware/Firmware/variants__ directory. (See **How-to-choose-firmware.pdf** for help choosing configuration.) * 1_75mm_MK1-RAMBo10a-E3Dv6full.h @@ -42,20 +41,24 @@ Copy and rename the file representing your configuration to the ``Firmware`` dir ### Step 5 - Build the Firmware 1. Open the IDE -2. Open firmware project with File -> Open... Navigate to and open:
+2. Load the firmware project with _File -> Open..._ Navigate to and open:
``Prusa-Firmware/Firmware/Firmware.ino`` -3. Compile the firmware with Sketch -> Verify/Compile (CTRL-R) --or-- -4. Export the compiled binary with Sketch -> Export compiled Binary (CTRL-ALT-S).
+3. Compile the firmware with _Sketch -> Verify/Compile (CTRL-R)_ --or-- +4. Export the compiled binary with _Sketch -> Export compiled Binary (CTRL-ALT-S)_.
You will find the exported binary in ``Prusa-Firmware/Firmware/Firmware.ino.rambo.hex`` ### Step 6 - Upload the Firmware -You can upload the new firmare to the printer using either: +You can upload the new firmare to the printer by using either: * The Prusa3D Firmware Updater (download from https://www.prusa3d.com/drivers/) -* Directly via the Arduino IDE (Select Tools -> Port and 115200 baud rate) +* Directly via the Arduino IDE...
+ Select _Tools -> Port_ and select the serial USB connection to the printer.
+ Select _Sketch -> Upload_ to build and flash the firmware. -* avrdude (either direct or thru OctoPrint, etc.). Example command-line: +* Obtain the free utility: **avrdude** for your platform. Firmware may be uploaded either directly via command-line or using OctoPrint. Example command-line: >$ avrdude -v -p m2560 -c wiring -P /dev/ttyUSB0 -b 115200 -U "flash:w:**firmware.hex**:i" -D + +Happy printing! diff --git a/CUSTOM.md b/CUSTOM.md new file mode 100644 index 000000000..add9883cc --- /dev/null +++ b/CUSTOM.md @@ -0,0 +1,38 @@ +# Changelog of local customizations + +## Version 9-Nov-2017 +### New features + +- Add 8-point Mesh Bed Correction offsets (+/- 500um) support (optional: _MBC_8POINT_)
+Points labeled **a** thru **h** starting at the front/home position. Supported by G80 command and persisted to EEPROM via LCD menus. +``` + B A C K + +-----------+ + | f g h | + | d X e | + | a b c | + +-----------+ + F R O N T +``` + +- Replace LiquidCrystal display driver with recent version (experimental) +- Add ability to build single language version (see ``langtool.pl``). This feature saves ~32K program space. +- Add custom G-code to dump and restore EEPROM (optional: _EEPROM_SAVE_RESTORE_) +``` + M767: Dump EEPROM to serial (suitable for restore) or to SD File + Ex: M767 S --> dump to SD card 'eesave.hex' + M767 P --> Write M768 P V to SERIAL + M767 X --> dump entire EEPROM to SERIAL + M768: Set EEPROM location from value + Ex: M768 P V + M768 R --> restore from SD card +``` +- Allow embedded colons (':') in G-code. Ex: "`M117 Time is 11:56`" now works! +- Reduce surface artifacts caused by XY skew compensation (experimental). Ref: [Issue #47](https://github.com/prusa3d/Prusa-Firmware/issues/147) +- Clarify temperature and PID calibration menu items. Setup Wizard display name changed. + +### Bug fixes + +- Complete cleanup of build warnings. +- Removal of dead code and unreferenced variables. +- Fixed a couple of array out-of-bounds references. diff --git a/README.md b/README.md index dd93ad92f..6f106f3ba 100644 --- a/README.md +++ b/README.md @@ -8,22 +8,23 @@ This custom firmware is forked from the Original Prusa i3 MK2 Firmware (MK2 bran - Experimental features which may or may not work. - Fixed bugs as appropriate. +Custom features and local changes are documented in: [CUSTOM.md](https://github.com/thess/Prusa-Firmware/blob/private-build2/CUSTOM.md) + ## Disclaimer -Please note that this is not the original Prusa i3 MK2 Firmware and if you decide to use it you will do it at your own risk! +Please note that this is not the source repository for the Original Prusa i3 MK2 Firmware and should you decide to use it, you will do so at your own risk! This firmware is provided "AS IS" without warranty of any kind, either expressed or implied. ## Handling Issues and Pull-Requests -If you have an issue with this firmware version, please check first if it also happens with a official released version of Prusa i3 MK2 Firmware. If the problem persists, open an issue at: https://github.com/prusa3D/Prusa-Firmware/issues. -Otherwise, if the problem is not present in the official firmware release, please open an issue here. +If you have an issue with this firmware version, please check first if it also happens with an official released version of the Prusa i3 MK2 Firmware. If the problem still persists in the official release, open an issue at: https://github.com/prusa3D/Prusa-Firmware/issues. Otherwise, if the problem is not present in the official firmware release, please you may open an issue here. -If you have something you would like to see in this customization and do not want to submit the changes to Prusa, you may submit a PR to this repository for consideration. In general, you should submit changes to the oficial Prusa Firmware repository so everyone can benefit from them. +If you want to have some feature added to this customized firmware version and do not want to submit the changes to Prusa, you may submit a _Pull Request_ to this repository for consideration. In general, you should submit changes to the official Prusa Firmware repository so everyone can benefit from them. ## Download of precompiled .hex files -URL of the zip file containing precompiled firmware can be found toward the end of the build log. Click on the button in the right-hand corner of the log to move to the end. +The URL of a _.zip_ file containing precompiled firmware can be found toward the end of the Travis build log. Click on the button in the right-hand corner of the log to move to the end. [Travis CI output](https://travis-ci.org/thess/Prusa-Firmware) Just download, unzip and choose the version for your configuation, then flash it to the printer.