Basically, the answer on your previous question is still valid, but your specific questions will be addressed below.
To answer where the setting has gone by answering:
However, the layout is different for the new firmware v. 3.4.1, and I
have no idea where the Z axis settings have gone, if they are even
still there. Can anyone point me in the right direction to find the Z
MAX POS settings, please?
To find where the setting is, you need to go to the source code repository of Prusa firmware (which is based on Marlin firmware) or download the zip file with the sources and use a "grep" search utility to search in files.
The setting Z_MAX_POS
is located in the board configuration file (so in 1_75mm_MK3-EINSy10a-E3Dv6full.h
if you have the MK3). This can be found in the online sources (the github page). The online repository is located here. Using the search functionality to search within the source code files on that page you are able to find any setting you need to find. If you type in "Z_MAX_POS" and scroll down till you see
#define Z_MAX_POS 210
You have found what you where looking for if you located the MK3 board.
To solve your problem by answering:
How to re-program NEW Prusa MK3 MMU2 to accept taller Z axis?
Prusa development team has got rid of Configuration_prusa.h
, you will not find this file in the repository anymore!
Instead, it is you that has to rename one of the board variant files (from the "Firmware/variants" folder) corresponding to the machine you have to "Configuration_prusa.h" and place it in the "Firmware" folder prior to compiling (note that these are simple actions that you can do on any operating system; i.e. copy file, paste file, rename file). Before you compile the sources, you need to change the value of Z_MAX_POS 210
to Z_MAX_POS 350
. Please read the README file as this describes exactly in more detail than worded above what you need to do (e.g. use the correct Arduino IDE, e.g. 1.6.9 as this is used by Prusa development team themselves).
Quoting from the README file:
section describing the renaming of the file:
in the subdirectory "Firmware/variants/" select the configuration file
(.h) corresponding to your printer model, make copy named
"Configuration_prusa.h" (or make simple renaming) and copy them into
"Firmware/" directory
section describing the compiling:
run "Arduino IDE"; select the file "Firmware.ino" from the
subdirectory "Firmware/" at the location, where you placed the source
codes File->Open make the desired code customizations; all changes are
on your own risk!
select the target board "RAMBo" Tools->Board->RAMBo note: it is not
possible to use any of the variants "Arduino Mega …", even though it
is the same MCU
run the compilation Sketch->Verify/Compile
upload the result code into the connected printer Sketch->Upload
or you can also save the output code to the file (in so called
HEX-format) "Firmware.ino.rambo.hex": Sketch->ExportCompiledBinary and
then upload it to the printer using the program "FirmwareUpdater"
note: this file is created in the directory "Firmware/"
To compile the sources correctly please take care in using the correct
software versions and libraries (Arduino IDE 1.6.9, RepRap
Arduino-compatible Mother Board RAMBo by Ultimachine v. 1.0.1, Arduino
AVR Boards Built-in by Arduino updated to v.1.6.23)
Sidenote:
A little more in depth for those who are interested to know (and have some programming skills) why you need to change the name of one of the variants configuration files. Basically, Prusa uses different boards with different settings for the different printers they sell. All the settings for these printer variations are stored in the Firmware/variants
folder. When you rename the variant file and put it a folder layer higher to Configuration_prusa.h (e.g.
Firmware/variants/1_75mm_MK3-EINSy10a-E3Dv6full.hto
Firmware/Configuration_prusa.h)
, these specific printer and board settings are included into the Configuration.h
file (line 43 to be precise) by the C-code include statement:
#include "Configuration_prusa.h"
This include statement will basically insert (like copy in memory) the statements from the Configuration_prusa.h
file and thus set important constants like:
#define MOTHERBOARD BOARD_EINSY_1_0a
and many more.