Hi everyone,


its the first time I'am writing in this forum, so you have to move my Subject somewhere else maybe.


Okay, I want to add an E-Endstop for my Printrboard rev f5. Therefore I thought I shuld add an extra pin to one of the EXP1 Pins. Here is the part of the Printrboard with the pins: reprap.org/mediawiki/images/9/99/Panelolu_printrboard3.jpg
On the Printrboard schematic: reprap.org/mediawiki/images/5/5d/F4_Schematic.png I have found different pins that are not in use. Here is a GoogleDoc of he Firmware Pin Mapping:
docs.google.com/spreadsheets/d/1vN9_Nk9VCfHQNZ327idsAJzSZ2SCIxssGr6UzDkQAeI/edit
So I have used the Pin EXP1 Pin 8 56 PF5 ADC5 TMS. But it had no pins.h number, so I have used the number from core_pins.h. It is the numer 43
I am using the firmware: github.com/Printrbot/Marlin/releases/tag/RevF-Version-3


On the software side i wanted to change different parts:
Under pins.h
The Printrboard rev f5 is the motherboard: 84.
I added after #define Z_STOP_PIN:
#define E0_STOP_PIN 43
and I have added after something after this part:
#ifdef Z_STOP_PIN
#if Z_HOME_DIR < 0
#define Z_MIN_PIN Z_STOP_PIN
#define Z_MAX_PIN -1
#else
#define Z_MIN_PIN -1
#define Z_MAX_PIN Z_STOP_PIN
#endif
#endif
Here I have added:
Code:
#ifdef E0_STOP_PIN                      
    #if E0_HOME_DIR <0                  
        #define E0_MIN_PIN E_STOP_PIN        
        #define E0_MAX_PIN -1              
    #else                        
        #define E0_MIN_PIN -1            
        #define E0_MAX_PIN E_STOP_PIN        
    #endif                    
#endif

Under Configuration.h


I have added something there:
#ifdef ENDSTOPPULLUPS
#define ENDSTOPPULLUP_XMAX
#define ENDSTOPPULLUP_YMAX
#define ENDSTOPPULLUP_ZMAX
#define ENDSTOPPULLUP_E0MAX //added by me
#define ENDSTOPPULLUP_XMIN
#define ENDSTOPPULLUP_YMIN
#define ENDSTOPPULLUP_ZMIN
#define ENDSTOPPULLUP_E0MIN //added
#endif

and there:
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
const bool X_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool E0_MIN_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. //added
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool E0_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop. //added

and there:
// ENDSTOP SETTINGS:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
#define X_HOME_DIR -1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1
#define E0_HOME_DIR -1 //added

and there:
// Travel limits after homing
#define X_MAX_POS_DEFAULT 100
#define X_MIN_POS_DEFAULT 0
#define Y_MAX_POS_DEFAULT 100
#define Y_MIN_POS_DEFAULT 0
#define Z_MAX_POS_DEFAULT 100
#define Z_MIN_POS_DEFAULT 0
#define E0_MAX_POS_DEFAULT 100 //added
#define E0_MIN_POS_DEFAULT 0 //added

under Manual homing switch locations:
// For deltabots this means top and center of the cartesian print volume.
#define MANUAL_X_HOME_POS 0
#define MANUAL_Y_HOME_POS 0
#define MANUAL_Z_HOME_POS 0
#define MANUAL_E0_HOME_POS 0 //added
//#define MANUAL_Z_HOME_POS 402 // For delta: Distance between nozzle and print surface after homing.

I have flashed it to my Printrboard, but the E_stop doesn't work the why I hoped i would work. :?
Has someone any tips for me?