123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712 |
- #ifndef CONFIGURATION_H
- #define CONFIGURATION_H
- #include "boards.h"
- #define STR_HELPER(x) #x
- #define STR(x) STR_HELPER(x)
- #define FW_VERSION "3.3.1"
- #define FW_COMMIT_NR 845
- #define FW_DEV_VERSION FW_VERSION_UNKNOWN
- #define FW_REPOSITORY "Unknown"
- #define FW_VERSION_FULL FW_VERSION "-" STR(FW_COMMIT_NR)
- #define FW_VERSION_DEBUG 6
- #define FW_VERSION_DEVEL 5
- #define FW_VERSION_ALPHA 4
- #define FW_VERSION_BETA 3
- #define FW_VERSION_RC 2
- #define FW_VERSION_GOLD 1
- #define FW_VERSION_UNKNOWN 0
- #if FW_DEV_VERSION == FW_VERSION_DEBUG
- #define DEBUG_BUILD
- #else
- #undef DEBUG_BUILD
- #endif
- #include "Configuration_prusa.h"
- #define FW_PRUSA3D_MAGIC "PRUSA3DFW"
- #define FW_PRUSA3D_MAGIC_LEN 10
- #define EEPROM_TOP 4096
- #define EEPROM_SILENT 4095
- #define EEPROM_LANG 4094
- #define EEPROM_BABYSTEP_X 4092
- #define EEPROM_BABYSTEP_Y 4090
- #define EEPROM_BABYSTEP_Z 4088
- #define EEPROM_CALIBRATION_STATUS 4087
- #define EEPROM_BABYSTEP_Z0 4085
- #define EEPROM_FILAMENTUSED 4081
- #define EEPROM_TOTALTIME 4077
- #define EEPROM_BED_CALIBRATION_CENTER (EEPROM_TOTALTIME-2*4)
- #define EEPROM_BED_CALIBRATION_VEC_X (EEPROM_BED_CALIBRATION_CENTER-2*4)
- #define EEPROM_BED_CALIBRATION_VEC_Y (EEPROM_BED_CALIBRATION_VEC_X-2*4)
- #define EEPROM_BED_CALIBRATION_Z_JITTER (EEPROM_BED_CALIBRATION_VEC_Y-2*8)
- #define EEPROM_FARM_MODE (EEPROM_BED_CALIBRATION_Z_JITTER-1)
- #define EEPROM_FARM_NUMBER (EEPROM_FARM_MODE-3)
- #define EEPROM_BED_CORRECTION_VALID (EEPROM_FARM_NUMBER-1)
- #define EEPROM_BED_CORRECTION_LEFT (EEPROM_BED_CORRECTION_VALID-1)
- #define EEPROM_BED_CORRECTION_RIGHT (EEPROM_BED_CORRECTION_LEFT-1)
- #define EEPROM_BED_CORRECTION_FRONT (EEPROM_BED_CORRECTION_RIGHT-1)
- #define EEPROM_BED_CORRECTION_REAR (EEPROM_BED_CORRECTION_FRONT-1)
- #define EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY (EEPROM_BED_CORRECTION_REAR-1)
- #define EEPROM_PRINT_FLAG (EEPROM_TOSHIBA_FLASH_AIR_COMPATIBLITY-1)
- #define EEPROM_PROBE_TEMP_SHIFT (EEPROM_PRINT_FLAG - 2*5)
- #define EEPROM_TEMP_CAL_ACTIVE (EEPROM_PROBE_TEMP_SHIFT - 1)
- #define EEPROM_BOWDEN_LENGTH (EEPROM_TEMP_CAL_ACTIVE - 2*4)
- #define EEPROM_CALIBRATION_STATUS_PINDA (EEPROM_BOWDEN_LENGTH - 1)
- #define EEPROM_UVLO (EEPROM_CALIBRATION_STATUS_PINDA - 1)
- #define EEPROM_UVLO_CURRENT_POSITION (EEPROM_UVLO-2*4)
- #define EEPROM_FILENAME (EEPROM_UVLO_CURRENT_POSITION - 8)
- #define EEPROM_FILE_POSITION (EEPROM_FILENAME - 4)
- #define EEPROM_UVLO_CURRENT_POSITION_Z (EEPROM_FILE_POSITION - 4)
- #define EEPROM_UVLO_TARGET_HOTEND (EEPROM_UVLO_CURRENT_POSITION_Z - 1)
- #define EEPROM_UVLO_TARGET_BED (EEPROM_UVLO_TARGET_HOTEND - 1)
- #define EEPROM_UVLO_FEEDRATE (EEPROM_UVLO_TARGET_BED - 2)
- #define EEPROM_UVLO_FAN_SPEED (EEPROM_UVLO_FEEDRATE - 1)
- #define EEPROM_FAN_CHECK_ENABLED (EEPROM_UVLO_FAN_SPEED - 1)
- #define EEPROM_UVLO_MESH_BED_LEVELING (EEPROM_FAN_CHECK_ENABLED - 9*2)
- #define EEPROM_UVLO_Z_MICROSTEPS (EEPROM_UVLO_MESH_BED_LEVELING - 2)
- #define EEPROM_UVLO_E_ABS (EEPROM_UVLO_Z_MICROSTEPS - 1)
- #define EEPROM_UVLO_CURRENT_POSITION_E (EEPROM_UVLO_E_ABS - 4)
- #define EEPROM_CRASH_DET (EEPROM_UVLO_CURRENT_POSITION_E - 5)
- #define EEPROM_CRASH_COUNT_Y (EEPROM_CRASH_DET - 1)
- #define EEPROM_FSENSOR (EEPROM_CRASH_COUNT_Y - 1)
- #define EEPROM_CRASH_COUNT_X (EEPROM_FSENSOR - 1)
- #define EEPROM_FERROR_COUNT (EEPROM_CRASH_COUNT_X - 1)
- #define EEPROM_POWER_COUNT (EEPROM_FERROR_COUNT - 1)
- #define EEPROM_XYZ_CAL_SKEW (EEPROM_POWER_COUNT - 4)
- #define EEPROM_WIZARD_ACTIVE (EEPROM_XYZ_CAL_SKEW - 1)
- #define EEPROM_BELTSTATUS_X (EEPROM_WIZARD_ACTIVE - 2)
- #define EEPROM_BELTSTATUS_Y (EEPROM_BELTSTATUS_X - 2)
- #define EEPROM_DIR_DEPTH (EEPROM_BELTSTATUS_Y-1)
- #define EEPROM_DIRS (EEPROM_DIR_DEPTH-80)
- #define EEPROM_SD_SORT (EEPROM_DIRS - 1)
- #define EEPROM_SECOND_SERIAL_ACTIVE (EEPROM_SD_SORT - 1)
- #define EEPROM_FSENS_AUTOLOAD_ENABLED (EEPROM_SECOND_SERIAL_ACTIVE - 1)
- #define EEPROM_CRASH_COUNT_X_TOT (EEPROM_FSENS_AUTOLOAD_ENABLED - 2)
- #define EEPROM_CRASH_COUNT_Y_TOT (EEPROM_CRASH_COUNT_X_TOT - 2)
- #define EEPROM_FERROR_COUNT_TOT (EEPROM_CRASH_COUNT_Y_TOT - 2)
- #define EEPROM_POWER_COUNT_TOT (EEPROM_FERROR_COUNT_TOT - 2)
- #define EEPROM_TMC2130_HOME_X_ORIGIN (EEPROM_POWER_COUNT_TOT - 1)
- #define EEPROM_TMC2130_HOME_X_BSTEPS (EEPROM_TMC2130_HOME_X_ORIGIN - 1)
- #define EEPROM_TMC2130_HOME_X_FSTEPS (EEPROM_TMC2130_HOME_X_BSTEPS - 1)
- #define EEPROM_TMC2130_HOME_Y_ORIGIN (EEPROM_TMC2130_HOME_X_FSTEPS - 1)
- #define EEPROM_TMC2130_HOME_Y_BSTEPS (EEPROM_TMC2130_HOME_Y_ORIGIN - 1)
- #define EEPROM_TMC2130_HOME_Y_FSTEPS (EEPROM_TMC2130_HOME_Y_BSTEPS - 1)
- #define EEPROM_TMC2130_HOME_ENABLED (EEPROM_TMC2130_HOME_Y_FSTEPS - 1)
- #define EEPROM_TMC2130_WAVE_X_FAC (EEPROM_TMC2130_HOME_ENABLED - 1)
- #define EEPROM_TMC2130_WAVE_Y_FAC (EEPROM_TMC2130_WAVE_X_FAC - 1)
- #define EEPROM_TMC2130_WAVE_Z_FAC (EEPROM_TMC2130_WAVE_Y_FAC - 1)
- #define EEPROM_TMC2130_WAVE_E_FAC (EEPROM_TMC2130_WAVE_Z_FAC - 1)
- #define EEPROM_TMC2130_X_MRES (EEPROM_TMC2130_WAVE_E_FAC - 1)
- #define EEPROM_TMC2130_Y_MRES (EEPROM_TMC2130_X_MRES - 1)
- #define EEPROM_TMC2130_Z_MRES (EEPROM_TMC2130_Y_MRES - 1)
- #define EEPROM_TMC2130_E_MRES (EEPROM_TMC2130_Z_MRES - 1)
- #define EEPROM_PRINTER_TYPE (EEPROM_TMC2130_E_MRES - 2)
- #define EEPROM_BOARD_TYPE (EEPROM_PRINTER_TYPE - 2)
- #define EEPROM_EXTRUDER_MULTIPLIER_0 (EEPROM_BOARD_TYPE - 4)
- #define EEPROM_EXTRUDER_MULTIPLIER_1 (EEPROM_EXTRUDER_MULTIPLIER_0 - 4)
- #define EEPROM_EXTRUDER_MULTIPLIER_2 (EEPROM_EXTRUDER_MULTIPLIER_1 - 4)
- #define EEPROM_EXTRUDEMULTIPLY (EEPROM_EXTRUDER_MULTIPLIER_2 - 2)
- #define EEPROM_TMC_AXIS_SIZE
- #define EEPROM_TMC_X (EEPROM_TMC + 0 * EEPROM_TMC_AXIS_SIZE)
- #define EEPROM_TMC_Y (EEPROM_TMC + 1 * EEPROM_TMC_AXIS_SIZE)
- #define EEPROM_TMC_Z (EEPROM_TMC + 2 * EEPROM_TMC_AXIS_SIZE)
- #define EEPROM_TMC_E (EEPROM_TMC + 3 * EEPROM_TMC_AXIS_SIZE)
- #define EEPROM_TMC_X_USTEPS_INTPOL (EEPROM_TMC_X + 0)
- #define EEPROM_TMC_X_PWM_AMPL (EEPROM_TMC_X + 1)
- #define EEPROM_TMC_X_PWM_GRAD_FREQ (EEPROM_TMC_X + 2)
- #define EEPROM_TMC_X_TCOOLTHRS (EEPROM_TMC_X + 3)
- #define EEPROM_TMC_X_SG_THRS (EEPROM_TMC_X + 5)
- #define EEPROM_TMC_X_CURRENT_H (EEPROM_TMC_X + 6)
- #define EEPROM_TMC_X_CURRENT_R (EEPROM_TMC_X + 7)
- #define EEPROM_TMC_X_HOME_SG_THRS (EEPROM_TMC_X + 8)
- #define EEPROM_TMC_X_HOME_CURRENT_R (EEPROM_TMC_X + 9)
- #define EEPROM_TMC_X_HOME_DTCOOLTHRS (EEPROM_TMC_X + 10)
- #define EEPROM_TMC_X_DTCOOLTHRS_LOW (EEPROM_TMC_X + 11)
- #define EEPROM_TMC_X_DTCOOLTHRS_HIGH (EEPROM_TMC_X + 12)
- #define EEPROM_TMC_X_SG_THRS_LOW (EEPROM_TMC_X + 13)
- #define EEPROM_TMC_X_SG_THRS_HIGH (EEPROM_TMC_X + 14)
- #define EEPROM_FIRMWARE_VERSION_END (FW_PRUSA3D_MAGIC_LEN+8)
- #define EEPROM_FIRMWARE_VERSION_FLAVOR (FW_PRUSA3D_MAGIC_LEN+6)
- #define EEPROM_FIRMWARE_VERSION_REVISION (FW_PRUSA3D_MAGIC_LEN+4)
- #define EEPROM_FIRMWARE_VERSION_MINOR (FW_PRUSA3D_MAGIC_LEN+2)
- #define EEPROM_FIRMWARE_VERSION_MAJOR FW_PRUSA3D_MAGIC_LEN
- #define EEPROM_FIRMWARE_PRUSA_MAGIC 0
- #define EEPROM_OFFSET 20
- #define STRING_VERSION_CONFIG_H __DATE__ " " __TIME__
- #define STRING_CONFIG_H_AUTHOR "(none, default config)"
- #define SERIAL_PORT 0
- #define BAUDRATE 115200
- #define EXTRUDERS 1
- #define POWER_SUPPLY 1
- #define MAX_REDUNDANT_TEMP_SENSOR_DIFF 10
- #define TEMP_RESIDENCY_TIME 3
- #define TEMP_HYSTERESIS 5
- #define TEMP_WINDOW 1
- #define PIDTEMP
- #define BANG_MAX 255
- #define PID_MAX BANG_MAX
- #ifdef PIDTEMP
-
-
-
- #define PID_FUNCTIONAL_RANGE 10
-
- #define PID_INTEGRAL_DRIVE_MAX PID_MAX
- #define K1 0.95
- #define PID_dT ((OVERSAMPLENR * 10.0)/(F_CPU / 64.0 / 256.0))
-
- #endif
- #define PREVENT_DANGEROUS_EXTRUDE
- #define PREVENT_LENGTHY_EXTRUDE
- #ifdef DEBUG_DISABLE_PREVENT_EXTRUDER
- #undef PREVENT_DANGEROUS_EXTRUDE
- #undef PREVENT_LENGTHY_EXTRUDE
- #endif
- #define EXTRUDE_MAXLENGTH (X_MAX_LENGTH+Y_MAX_LENGTH)
- #define ENDSTOPPULLUPS
- #ifndef ENDSTOPPULLUPS
-
-
-
-
-
-
-
- #endif
- #ifdef ENDSTOPPULLUPS
- #define ENDSTOPPULLUP_XMAX
- #define ENDSTOPPULLUP_YMAX
- #define ENDSTOPPULLUP_ZMAX
- #define ENDSTOPPULLUP_XMIN
- #define ENDSTOPPULLUP_YMIN
- #define ENDSTOPPULLUP_ZMIN
- #endif
- #define X_MAX_ENDSTOP_INVERTING 0
- #define Y_MAX_ENDSTOP_INVERTING 0
- #define Z_MAX_ENDSTOP_INVERTING 1
- #if defined(COREXY) && !defined(DISABLE_MAX_ENDSTOPS)
- #define DISABLE_MAX_ENDSTOPS
- #endif
- #define X_ENABLE_ON 0
- #define Y_ENABLE_ON 0
- #define Z_ENABLE_ON 0
- #define E_ENABLE_ON 0
- #define DISABLE_X 0
- #define DISABLE_Y 0
- #define DISABLE_Z 0
- #define DISABLE_E 0
- #define DISABLE_INACTIVE_EXTRUDER 1
- #define X_HOME_DIR -1
- #define Y_HOME_DIR -1
- #define Z_HOME_DIR -1
- #ifdef DEBUG_DISABLE_SWLIMITS
- #define min_software_endstops 0
- #define max_software_endstops 0
- #else
- #define min_software_endstops 1
- #define max_software_endstops 1
- #endif
- #define X_MAX_LENGTH (X_MAX_POS - X_MIN_POS)
- #define Y_MAX_LENGTH (Y_MAX_POS - Y_MIN_POS)
- #define Z_MAX_LENGTH (Z_MAX_POS - Z_MIN_POS)
- #define Z_HEIGHT_HIDE_LIVE_ADJUST_MENU 2.0f
- #define Z_PROBE_REPEATABILITY_TEST
- #ifdef ENABLE_AUTO_BED_LEVELING
- #define AUTO_BED_LEVELING_GRID
-
-
-
-
- #ifdef AUTO_BED_LEVELING_GRID
-
- #define LEFT_PROBE_BED_POSITION 15
- #define RIGHT_PROBE_BED_POSITION 170
- #define BACK_PROBE_BED_POSITION 180
- #define FRONT_PROBE_BED_POSITION 20
-
-
- #define AUTO_BED_LEVELING_GRID_POINTS 2
- #else
-
-
- #define ABL_PROBE_PT_1_X 15
- #define ABL_PROBE_PT_1_Y 180
- #define ABL_PROBE_PT_2_X 15
- #define ABL_PROBE_PT_2_Y 20
- #define ABL_PROBE_PT_3_X 170
- #define ABL_PROBE_PT_3_Y 20
- #endif
-
-
- #define X_PROBE_OFFSET_FROM_EXTRUDER -25
- #define Y_PROBE_OFFSET_FROM_EXTRUDER -29
- #define Z_PROBE_OFFSET_FROM_EXTRUDER -12.35
- #define Z_RAISE_BEFORE_HOMING 4
-
- #define XY_TRAVEL_SPEED 8000
- #define Z_RAISE_BEFORE_PROBING 15
- #define Z_RAISE_BETWEEN_PROBINGS 5
-
-
-
-
-
-
-
-
-
-
-
- #ifdef Z_SAFE_HOMING
- #define Z_SAFE_HOMING_X_POINT (X_MAX_LENGTH/2)
- #define Z_SAFE_HOMING_Y_POINT (Y_MAX_LENGTH/2)
- #endif
- #ifdef AUTO_BED_LEVELING_GRID
- #if X_PROBE_OFFSET_FROM_EXTRUDER < 0
- #if (-(X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
- #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
- #endif
- #else
- #if ((X_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (RIGHT_PROBE_BED_POSITION - LEFT_PROBE_BED_POSITION))
- #error "The X axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
- #endif
- #endif
- #if Y_PROBE_OFFSET_FROM_EXTRUDER < 0
- #if (-(Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
- #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
- #endif
- #else
- #if ((Y_PROBE_OFFSET_FROM_EXTRUDER * AUTO_BED_LEVELING_GRID_POINTS) >= (BACK_PROBE_BED_POSITION - FRONT_PROBE_BED_POSITION))
- #error "The Y axis probing range is not enough to fit all the points defined in AUTO_BED_LEVELING_GRID_POINTS"
- #endif
- #endif
-
- #endif
-
- #endif
- #define DEFAULT_XJERK 10
- #define DEFAULT_YJERK 10
- #define DEFAULT_ZJERK 0.4
- #define DEFAULT_EJERK 2.5
- #define CUSTOM_M_CODES
- #ifdef CUSTOM_M_CODES
- #define CUSTOM_M_CODE_SET_Z_PROBE_OFFSET 851
- #define Z_PROBE_OFFSET_RANGE_MIN -15
- #define Z_PROBE_OFFSET_RANGE_MAX -5
- #endif
- #define HOST_KEEPALIVE_FEATURE
- #define HOST_KEEPALIVE_INTERVAL 2
- #define SDSUPPORT
- #define SD_CHECK_AND_RETRY
- #define ENCODER_PULSES_PER_STEP 4
- #define REPRAP_DISCOUNT_SMART_CONTROLLER
- #define SDSUPPORT
- #define LCD_WIDTH 20
- #define LCD_HEIGHT 4
- #define SOFT_PWM_SCALE 0
- #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75
- enum CalibrationStatus
- {
-
- CALIBRATION_STATUS_ASSEMBLED = 255,
-
- CALIBRATION_STATUS_XYZ_CALIBRATION = 250,
-
- CALIBRATION_STATUS_Z_CALIBRATION = 240,
-
- CALIBRATION_STATUS_LIVE_ADJUST = 230,
-
- CALIBRATION_STATUS_CALIBRATED = 1,
-
-
-
- CALIBRATION_STATUS_UNKNOWN = 0,
- };
- #include "Configuration_adv.h"
- #include "thermistortables.h"
- #endif
|