MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.25k stars 19.23k forks source link

[Q] Help with Anycubic Chiron config #13252

Closed Hiroshi-OssanNo2 closed 5 years ago

Hiroshi-OssanNo2 commented 5 years ago

Description

Marlin 2.0 Bugfix

Odd _BED_SIZE & AUTO_BED_LEVELING compile err

Steps to Reproduce

define X_BED_SIZE 211

define AUTO_BEDLEVELING*****

PlatformIO Home 2.0.0·Core 3.6.4 autocompile

Odd _BED_SIZE 209 211 213 every time err Even _BED_SIZE 210 208 212 no err

Expected behavior: [What you expect to happen] no error Actual behavior: [What actually happens]

Compiling .pioenvs\megaatmega2560\src\src\HAL\shared\I2cEeprom.cpp.o
In file included from Marlin\src\HAL\HAL_AVR\../../inc/MarlinConfig.h:41:0,
from Marlin\src\HAL\HAL_AVR\HAL.cpp:29:
Marlin\src\HAL\HAL_AVR\../../inc/SanityCheck.h:1139:5: error: static assertion failed: RIGHT_PROBE_BED_POSITION is outside the probe region.
static_assert(RIGHT_PROBE_BED_POSITION <= MAX_PROBE_X, "RIGHT_PROBE_BED_POSITION is outside the probe region.");
Ludy87 commented 5 years ago

Configfiles?

Hiroshi-OssanNo2 commented 5 years ago
Configuration_ANYCUBIC_CHIRON.h ```cpp /** * ANYCUBIC CHIRON Marlin 2 * edit Configuration.h bottom * #include "Configuration_ANYCUBIC_CHIRON.h" * * referred https://github.com/ANYCUBIC-3D */ // // Hardware // #define EEPROM_SETTINGS #undef MOTHERBOARD #define MOTHERBOARD BOARD_TRIGORILLA_14 #undef DEFAULT_KEEPALIVE_INTERVAL #define DEFAULT_KEEPALIVE_INTERVAL 3 // Number of seconds between "busy" messages. Set with M113. #define SDSUPPORT #undef DEFAULT_NOMINAL_FILAMENT_DIA #define DEFAULT_NOMINAL_FILAMENT_DIA 1.75 #define USE_XMAX_PLUG // #undef X_BED_SIZE #define X_BED_SIZE 211 #undef X_MAX_POS #define X_MAX_POS X_BED_SIZE #undef Y_BED_SIZE #define Y_BED_SIZE 216 #undef Y_MAX_POS #define Y_MAX_POS Y_BED_SIZE #undef TEMP_SENSOR_BED #define TEMP_SENSOR_BED 1 // MIN_ENDSTOP #undef X_MIN_ENDSTOP_INVERTING #define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #undef Y_MIN_ENDSTOP_INVERTING #define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop. #undef Z_MIN_ENDSTOP_INVERTING #define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. // MAX_ENDSTOP #undef X_MAX_ENDSTOP_INVERTING #define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #undef Y_MAX_ENDSTOP_INVERTING #define Y_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. #undef Z_MAX_ENDSTOP_INVERTING #define Z_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop. // Z probe is blue switch #undef Z_MIN_PROBE_ENDSTOP_INVERTING #define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe. // stepping motor #undef INVERT_X_DIR #define INVERT_X_DIR true // CHIRON #undef INVERT_Y_DIR #define INVERT_Y_DIR false // CHIRON #undef INVERT_Z_DIR #define INVERT_Z_DIR true // CHIRON #undef INVERT_E0_DIR #define INVERT_E0_DIR false // CHIRON #undef INVERT_E1_DIR #define INVERT_E1_DIR true // CHIRON Z2 #define DRVER_CHIP A4988 // trigorilla default #undef X_DRIVER_TYPE #define X_DRIVER_TYPE DRVER_CHIP #undef X_DRIVER_TYPE #define X_DRIVER_TYPE DRVER_CHIP #undef Z_DRIVER_TYPE #define Z_DRIVER_TYPE DRVER_CHIP // mainboard(TRIGORILLA) print Z #undef X2_DRIVER_TYPE //#define X2_DRIVER_TYPE DRVER_CHIP// not in CHIRON #undef Y2_DRIVER_TYPE //#define Y2_DRIVER_TYPE DRVER_CHIP// not in CHIRON #undef Z2_DRIVER_TYPE #define Z2_DRIVER_TYPE DRVER_CHIP // mainboard(TRIGORILLA) print E1 #undef E0_DRIVER_TYPE #define E0_DRIVER_TYPE DRVER_CHIP #undef E1_DRIVER_TYPE //#define E1_DRIVER_TYPE DRVER_CHIP // not in CHIRON #undef E2_DRIVER_TYPE //#define E2_DRIVER_TYPE DRVER_CHIP // not in CHIRON #undef E3_DRIVER_TYPE //#define E3_DRIVER_TYPE DRVER_CHIP // not in CHIRON #undef E4_DRIVER_TYPE //#define E4_DRIVER_TYPE DRVER_CHIP // not in CHIRON // // step chiron130 // calibrate https://www.youtube.com/watch?v=ZfqeTzc3NpM #undef DEFAULT_AXIS_STEPS_PER_UNIT #define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 100, 400, 404 } // feed rate #undef DEFAULT_MAX_FEEDRATE #define DEFAULT_MAX_FEEDRATE { 500, 500, 6, 60 } #undef DEFAULT_MAX_ACCELERATION #define DEFAULT_MAX_ACCELERATION { 2000, 1200, 60, 10000 } // // blue switch auto bed leveling // #undef Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN // #define Z_MIN_PROBE_ENDSTOP #undef PROBE_MANUALLY #define FIX_MOUNTED_PROBE // chiron130 #undef X_PROBE_OFFSET_FROM_EXTRUDER #define X_PROBE_OFFSET_FROM_EXTRUDER 0 // X offset: -left +right [of the nozzle] #undef Y_PROBE_OFFSET_FROM_EXTRUDER #define Y_PROBE_OFFSET_FROM_EXTRUDER 0 // Y offset: -front +behind [the nozzle] #undef Z_PROBE_OFFSET_FROM_EXTRUDER #define Z_PROBE_OFFSET_FROM_EXTRUDER -16.45 // Z offset: -below +above [the nozzle] #undef MULTIPLE_PROBING #define MULTIPLE_PROBING 3 //#define AUTO_BED_LEVELING_3POINT //#define AUTO_BED_LEVELING_LINEAR //#define AUTO_BED_LEVELING_BILINEAR //#define AUTO_BED_LEVELING_UBL //#define MESH_BED_LEVELING #undef MESH_BED_LEVELING // #define AUTO_BED_LEVELING_BILINEAR // don't forget connect&set blue switch #define RESTORE_LEVELING_AFTER_G28 // Set the boundaries for probing (where the probe can reach). #undef MIN_PROBE_EDGE #define MIN_PROBE_EDGE 10 //#define LEFT_PROBE_BED_POSITION 15 //#define RIGHT_PROBE_BED_POSITION 395 //#define FRONT_PROBE_BED_POSITION 15 //#define BACK_PROBE_BED_POSITION 415 #undef LEFT_PROBE_BED_POSITION #define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE #undef RIGHT_PROBE_BED_POSITION #define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - MIN_PROBE_EDGE) #undef FRONT_PROBE_BED_POSITION #define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE #undef BACK_PROBE_BED_POSITION #define BACK_PROBE_BED_POSITION (Y_BED_SIZE - MIN_PROBE_EDGE) // Set the number of grid points per dimension. // 10x10 #undef GRID_MAX_POINTS_X #define GRID_MAX_POINTS_X 9 #undef GRID_MAX_POINTS_Y #define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X #undef Z_HOMING_HEIGHT #define Z_HOMING_HEIGHT 5 // (in mm) Minimal z height before homing (G28) for Z clearance above the bed, clamps, ... // Be sure you have this distance over your Z_MAX_POS in case. // // may be tuned // //#undef XY_PROBE_SPEED //#define XY_PROBE_SPEED 16000 // Homing speeds (mm/m) #undef HOMING_FEEDRATE_XY #define HOMING_FEEDRATE_XY (5000) #undef HOMING_FEEDRATE_Z #define HOMING_FEEDRATE_Z (300) #undef X_MIN_POS #define X_MIN_POS -10 //#define NOZZLE_PARK_FEATURE //#undef EXTRUDE_MAXLENGTH //#define EXTRUDE_MAXLENGTH 200 //#undef Z_CLEARANCE_DEPLOY_PROBE //#define Z_CLEARANCE_DEPLOY_PROBE 20 // Z Clearance for Deploy/Stow #undef ANYCUBIC_TFT_MODEL ```
Configuration_adv_ANYCUBIC_CHIRON.h ```cpp /** * ANYCUBIC CHIRON Marlin 2 * edit Configuration_adv.h bottom * #include "Configuration_adv_ANYCUBIC_CHIRON.h" * * referred https://github.com/ANYCUBIC-3D */ //#define M114_DETAIL #undef USE_CONTROLLER_FAN // #define USE_CONTROLLER_FAN // #if ENABLED(USE_CONTROLLER_FAN) // #define CONTROLLER_FAN_PIN FAN2_PIN // Set a custom pin for the controller fan // #define CONTROLLERFAN_SECS 60 // Duration in seconds for the fan to run after all motors are disabled // #define CONTROLLERFAN_SPEED 255 // 255 == full speed // #endif //#define USE_CONTROLLER_FAN // #undef E0_AUTO_FAN_PIN #define E0_AUTO_FAN_PIN FAN2_PIN // #define E1_AUTO_FAN_PIN -1 // #define E2_AUTO_FAN_PIN -1 // #define E3_AUTO_FAN_PIN -1 // #define E4_AUTO_FAN_PIN -1 // #define E5_AUTO_FAN_PIN -1 // #define CHAMBER_AUTO_FAN_PIN -1 #undef EXTRUDER_AUTO_FAN_TEMPERATURE #define EXTRUDER_AUTO_FAN_TEMPERATURE 150 #undef EXTRUDER_AUTO_FAN_SPEED #define EXTRUDER_AUTO_FAN_SPEED 255 // 255 == full speed #undef FAN_KICKSTART_TIME #define FAN_KICKSTART_TIME 1000 #define Z_DUAL_STEPPER_DRIVERS #if ENABLED(Z_DUAL_STEPPER_DRIVERS) #define Z_DUAL_ENDSTOPS #if ENABLED(Z_DUAL_ENDSTOPS) #define Z2_USE_ENDSTOP _XMAX_ #define Z_DUAL_ENDSTOPS_ADJUSTMENT 0 #endif #endif #undef Z_HOME_BUMP_MM #define Z_HOME_BUMP_MM 5 #undef HOMING_BUMP_DIVISOR #define HOMING_BUMP_DIVISOR { 4, 4, 8 } // Re-Bump Speed Divisor (Divides the Homing Feedrate) //#define DEFAULT_MINSEGMENTTIME 20000 //chiron130 #undef DEFAULT_MINSEGMENTTIME #define DEFAULT_MINSEGMENTTIME 50000 #undef DIGIPOT_MOTOR_CURRENT #define DIGIPOT_MOTOR_CURRENT { 135,135,135,135,135 } // Values 0-255 (RAMBO 135 = ~0.75A, 185 = ~1A) //#define RX_BUFFER_SIZE 0 //#define MAX_CMD_SIZE 96 //#undef BUFSIZE //#define BUFSIZE 16 ```
thinkyhead commented 5 years ago

Please ZIP your configuration files together and drop the ZIP file on your next reply.

thinkyhead commented 5 years ago

Where did you come by these configurations? We don't yet have AnyCubic support in Marlin 2.0.x.

thinkyhead commented 5 years ago

My first suggestion is, do not define these in your Configuration.h. Comment out these lines…

  //#define LEFT_PROBE_BED_POSITION MIN_PROBE_EDGE
  //#define RIGHT_PROBE_BED_POSITION (X_BED_SIZE - (MIN_PROBE_EDGE))
  //#define FRONT_PROBE_BED_POSITION MIN_PROBE_EDGE
  //#define BACK_PROBE_BED_POSITION (Y_BED_SIZE - (MIN_PROBE_EDGE))

…and remove any other definitions of these in your Configuration.h. The defaults calculated by Conditionals_LCD.h should be correct for all cases. image

github-actions[bot] commented 4 years ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.