国产猛男猛女超爽免费视频,国产精品一区二区不卡小说,免费调教小骚货视频,欧美日韩亚洲免费一区

3D打印固件 Sprinter固件全中文解析源碼分析 

2016-11-18 08:07
全中文解析源碼分析.jpg

   #ifndef CONFIGURATION_H
    #define CONFIGURATION_H
    /**************** READ FIRST ************************
       This configuration file was created with the configuration tool. For that
       reason, it does not contain the same informations as the original Configuration.h file.
       It misses the comments and unused parts. Open this file file in the config tool
       to see and change the data. You can also upload it to newer/older versions. The system
       will silently add new options, so compilation continues to work.

       This file is optimized for version 0.91
       generator: http://www.repetier.com/firmware/v091/
    */
    #define NUM_EXTRUDER 1//設(shè)置擠出頭數(shù)量、一般設(shè)為1,我們常用的melzi、Sanguinololu等主控板是只支持單噴頭的、其他常用的電路板如RAMPS電路設(shè)計(jì)上可支持雙碰頭。
    #define MOTHERBOARD 63//設(shè)置主控板,具體主板型號(hào)及其對(duì)應(yīng)編碼可以查看pin.h。
    //此處63為melzi和Sanguinololu。這兩個(gè)板子是硬件兼容的、唯一的區(qū)別在于Sanguinololu無(wú)法通過(guò)Gcode控制風(fēng)扇,也就是說(shuō)風(fēng)扇安裝后只能全速轉(zhuǎn)動(dòng)。無(wú)法根據(jù)打印狀態(tài)調(diào)速。
    #include "pins.h"
    // ################## EDIT THESE SETTINGS MANUALLY ################
    // ################ END MANUAL SETTINGS ##########################
    #define FAN_BOARD_PIN -1
    //#define EXTERNALSERIAL  use Arduino serial library instead of build in. Requires more ram, has only 63 byte input buffer.
    // Uncomment the following line if you are using arduino compatible firmware made for Arduino version earlier then 1.0
    // If it is incompatible you will get compiler errors about write functions not beeing compatible!
    //#define COMPAT_PRE1

#define DRIVE_SYSTEM 0//Mendel型打印機(jī)、3為Delta
#define XAXIS_STEPS_PER_MM 100//x軸每毫米100步
#define YAXIS_STEPS_PER_MM 100//y軸每毫米100步
#define ZAXIS_STEPS_PER_MM 407//z軸每毫米407步
#define EXTRUDER_FAN_COOL_TEMP 50//冷卻風(fēng)扇開啟擠出頭溫度?
#define EXT0_X_OFFSET 0//擠出機(jī)位置補(bǔ)償?
#define EXT0_Y_OFFSET 0
#define EXT0_STEPS_PER_MM 95//擠出機(jī)每毫米407步
#define EXT0_TEMPSENSOR_TYPE 97//擠出機(jī)溫度傳感器(熱敏電阻)類型選擇
#define EXT0_TEMPSENSOR_PIN TEMP_0_PIN//擠出機(jī)溫度傳感器(熱敏電阻)引腳設(shè)置
#define EXT0_HEATER_PIN HEATER_0_PIN//擠出機(jī)加熱管控制引腳設(shè)置
#define EXT0_STEP_PIN E0_STEP_PIN//擠出機(jī)步進(jìn)電機(jī)驅(qū)動(dòng)脈沖引腳設(shè)置
#define EXT0_DIR_PIN E0_DIR_PIN//擠出機(jī)步進(jìn)電機(jī)驅(qū)動(dòng)方向引腳設(shè)置
#define EXT0_INVERSE 1//擠出機(jī)順逆向設(shè)定???
#define EXT0_ENABLE_PIN E0_ENABLE_PIN//擠出機(jī)步進(jìn)電機(jī)驅(qū)動(dòng)使能引腳設(shè)置
#define EXT0_ENABLE_ON 0//引用處:#if EXT0_ENABLE_PIN>-1
                                                //WRITE(EXT0_ENABLE_PIN,EXT0_ENABLE_ON );
                                                //這里意思是如果擠出頭步進(jìn)電機(jī)驅(qū)動(dòng)使能端是0使能則值設(shè)為0如果是1使能則設(shè)為1。3D打印機(jī)的驅(qū)動(dòng)芯片一般為A4982(MAKERBOT)、A4988(其他開源項(xiàng)目采用)使能都是0有效。
#define EXT0_MAX_FEEDRATE 50//最大進(jìn)料速度
#define EXT0_MAX_START_FEEDRATE 20//最大開始進(jìn)料速度
#define EXT0_MAX_ACCELERATION 5000//最大進(jìn)料加速度
#define EXT0_HEAT_MANAGER 3
#define EXT0_WATCHPERIOD 1
#define EXT0_PID_INTEGRAL_DRIVE_MAX 230//PID積分上限
#define EXT0_PID_INTEGRAL_DRIVE_MIN 40//下限
#define EXT0_PID_P 7//PID設(shè)置
#define EXT0_PID_I 2
#define EXT0_PID_D 40
#define EXT0_PID_MAX 255//擠出頭加熱管PWM波最大輸出量
#define EXT0_ADVANCE_K 0//
#define EXT0_ADVANCE_L 0//
#define EXT0_ADVANCE_BACKLASH_STEPS 0//
#define EXT0_WAIT_RETRACT_TEMP 150//
#define EXT0_WAIT_RETRACT_UNITS 0
#define EXT0_SELECT_COMMANDS ""
#define EXT0_DESELECT_COMMANDS ""
#define EXT0_EXTRUDER_COOLER_PIN -1//設(shè)置擠出頭散熱器引腳(負(fù)數(shù)代表不使用此項(xiàng))
#define EXT0_EXTRUDER_COOLER_SPEED 255//設(shè)置散熱器速度為255(應(yīng)該是最大)
#define RETRACT_DURING_HEATUP true
#define PID_CONTROL_RANGE 20//PID控制范圍
#define SKIP_M109_IF_WITHIN 2
#define SCALE_PID_TO_MAX 0
#define TEMP_HYSTERESIS 0//溫度滯后值
#define EXTRUDE_MAXLENGTH 160//擠出最大長(zhǎng)度
#define NUM_TEMPS_USERTHERMISTOR0 0//留給用戶設(shè)定的熱敏電阻、為1的時(shí)候有效
#define USER_THERMISTORTABLE0 {}//對(duì)應(yīng)的溫度表、具體編寫規(guī)則請(qǐng)查看Extruder
#define NUM_TEMPS_USERTHERMISTOR1 0
#define USER_THERMISTORTABLE1 {}
#define NUM_TEMPS_USERTHERMISTOR2 0
#define USER_THERMISTORTABLE2 {}
#define USE_GENERIC_THERMISTORTABLE_1//設(shè)定使用通用熱敏電阻及其溫度表
#define GENERIC_THERM1_BETA 3950//熱敏電阻B值(材料常數(shù))可以百度查看具體公式
#define GENERIC_THERM1_MIN_TEMP -20//最小溫度
#define GENERIC_THERM1_MAX_TEMP 300//最大溫度
#define GENERIC_THERM1_T0 25
#define GENERIC_THERM1_R0 100000
#define GENERIC_THERM1_R1 0
#define GENERIC_THERM1_R2 10000
#define GENERIC_THERM_VREF 5//熱敏電阻分壓電路的基準(zhǔn)電壓設(shè)置
#define GENERIC_THERM_NUM_ENTRIES 33
#define HEATER_PWM_SPEED 0
// ############# Heated bed configuration ########################

#define HAVE_HEATED_BED 1//熱床使能位
#define HEATED_BED_MAX_TEMP 120//最大熱床溫度
#define SKIP_M190_IF_WITHIN 1
#define HEATED_BED_SENSOR_TYPE 97//熱床溫度傳感器(熱敏電阻)類型選擇
#define HEATED_BED_SENSOR_PIN TEMP_1_PIN//溫度傳感器(熱敏電阻)引腳設(shè)置
#define HEATED_BED_HEATER_PIN HEATER_1_PIN//熱床控制端口設(shè)置
#define HEATED_BED_SET_INTERVAL 5000//熱床設(shè)置間隔?
#define HEATED_BED_HEAT_MANAGER 0
#define HEATED_BED_PID_INTEGRAL_DRIVE_MAX 255//PID積分上限
#define HEATED_BED_PID_INTEGRAL_DRIVE_MIN 80//下限
#define HEATED_BED_PID_PGAIN   196//熱床加熱過(guò)程的PID參數(shù)設(shè)定
#define HEATED_BED_PID_IGAIN   33
#define HEATED_BED_PID_DGAIN 290
#define HEATED_BED_PID_MAX 255//熱床加熱最大輸出
#define MIN_EXTRUDER_TEMP 150//最小擠出機(jī)溫度,很多人反映在Repetier-Host的手動(dòng)模式下操作擠出頭沒(méi)有動(dòng)作,就是因?yàn)楣碳@里設(shè)定了最低擠出機(jī)溫度,用來(lái)保護(hù)擠出機(jī)。在耗材沒(méi)有完全融化時(shí),擠出機(jī)不動(dòng)。
#define MAXTEMP 275//擠出機(jī)最大溫度
#define MIN_DEFECT_TEMPERATURE -10//最小缺陷溫度,這里的理解可能是如果讀取溫度低于(下條語(yǔ)句高于)這個(gè)溫度時(shí),就認(rèn)為溫度故障。機(jī)器無(wú)法運(yùn)行。
#define MAX_DEFECT_TEMPERATURE 290
// ################ Endstop configuration #####################
//這里和marlin的固件大體相同,主要是由限位開關(guān)的上拉電阻、開關(guān)信號(hào)正負(fù)配置、硬件開關(guān)的使能等配置組成
#define ENDSTOP_PULLUP_X_MIN true//X軸home是否有上拉電阻
#define ENDSTOP_X_MIN_INVERTING false//X軸home的限位開關(guān)信號(hào)正反配置//機(jī)械限位開關(guān)通常會(huì)把連線連在NC端,這就會(huì)有個(gè)一個(gè)數(shù)字信號(hào)1輸入到主板中。如果你的機(jī)械限位開關(guān)的連線是連在NO端,這就需要ENDSTOP_INVERTING采用ture從而使數(shù)字信號(hào)0反向變?yōu)?。對(duì)于光學(xué)開關(guān)來(lái)說(shuō),則一般不用進(jìn)行調(diào)整。(引用自:)
#define MIN_HARDWARE_ENDSTOP_X true//是否有硬件X軸home限位開關(guān)
#define ENDSTOP_PULLUP_Y_MIN true//同上
#define ENDSTOP_Y_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Y true
#define ENDSTOP_PULLUP_Z_MIN true//同上
#define ENDSTOP_Z_MIN_INVERTING false
#define MIN_HARDWARE_ENDSTOP_Z true
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_X_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_X false
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_Y_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Y false
#define ENDSTOP_PULLUP_Z_MAX true
#define ENDSTOP_Z_MAX_INVERTING false
#define MAX_HARDWARE_ENDSTOP_Z false
#define max_software_endstop_r true//非線性系統(tǒng)用到的

#define min_software_endstop_x false//因?yàn)槭褂昧擞布尬婚_關(guān),所以無(wú)需軟件限位開關(guān)。設(shè)置為false
#define min_software_endstop_y false//同上
#define min_software_endstop_z false//同上
#define max_software_endstop_x true//XYZ軸都分別只使用了一個(gè)限位開關(guān),所以軟件限位設(shè)置為真
#define max_software_endstop_y true//
#define max_software_endstop_z true//
#define ENDSTOP_X_BACK_MOVE 5//X軸觸底后反向移動(dòng)距離
#define ENDSTOP_Y_BACK_MOVE 5//
#define ENDSTOP_Z_BACK_MOVE 1//
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3//X軸重新設(shè)定縮減系數(shù)???
#define ENDSTOP_Y_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_Z_RETEST_REDUCTION_FACTOR 3
#define ENDSTOP_X_BACK_ON_HOME 1//打印完是否歸位
#define ENDSTOP_Y_BACK_ON_HOME 1
#define ENDSTOP_Z_BACK_ON_HOME 0
#define ALWAYS_CHECK_ENDSTOPS 1//是否每次檢查限位開關(guān)(這里可能是只打印作業(yè)前)
// ################# XYZ movements ###################

#define X_ENABLE_ON 0//和擠出機(jī)的設(shè)置相同//這里意思是如果X軸步進(jìn)電機(jī)驅(qū)動(dòng)使能端是0使能則值設(shè)為0如果是1使能則設(shè)為1。3D打印機(jī)的驅(qū)動(dòng)芯片一般為A4982(MAKERBOT)、A4988(其他開源項(xiàng)目采用)使能都是0有效。
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define DISABLE_X 0//關(guān)閉X軸步進(jìn)電機(jī)
#define DISABLE_Y 0
#define DISABLE_Z 0
#define DISABLE_E 0
#define INVERT_X_DIR 0//電機(jī)方向信號(hào)信號(hào)正反配置
#define INVERT_Y_DIR 0
#define INVERT_Z_DIR 0
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1
#define X_MAX_LENGTH 200//打印機(jī)的打印尺寸設(shè)置
#define Y_MAX_LENGTH 200
#define Z_MAX_LENGTH 180
#define X_MIN_POS 0//XYZ的最小位置值設(shè)置
#define Y_MIN_POS 0
#define Z_MIN_POS 0
// ##########################################################################################
// ##                           Movement settings                                          ##
// ##########################################################################################


#define DELTA_SEGMENTS_PER_SECOND_PRINT 180 // Move accurate setting for print moves
#define DELTA_SEGMENTS_PER_SECOND_MOVE 70 // Less accurate setting for other moves

// Delta settings
#define DELTA_HOME_ON_POWER 0

#define MAX_DELTA_SEGMENTS_PER_LINE 24
#define STEPPER_INACTIVE_TIME 360L
#define MAX_INACTIVE_TIME 0L
#define MAX_FEEDRATE_X 200
#define MAX_FEEDRATE_Y 200
#define MAX_FEEDRATE_Z 4
#define HOMING_FEEDRATE_X 40
#define HOMING_FEEDRATE_Y 40
#define HOMING_FEEDRATE_Z 2
#define HOMING_ORDER HOME_ORDER_XYZ
#define ENABLE_BACKLASH_COMPENSATION 0
#define X_BACKLASH 0
#define Y_BACKLASH 0
#define Z_BACKLASH 0
#define RAMP_ACCELERATION 1
#define STEPPER_HIGH_DELAY 0
#define STEP_DOUBLER_FREQUENCY 12000
#define ALLOW_QUADSTEPPING 1
#define DOUBLE_STEP_DELAY 1 // time in microseconds
#define MAX_HALFSTEP_INTERVAL 1999
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
#define MAX_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_X 1000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Y 1000
#define MAX_TRAVEL_ACCELERATION_UNITS_PER_SQ_SECOND_Z 100
#define MAX_JERK 20
#define MAX_ZJERK 0.3
#define MOVE_CACHE_SIZE 16
#define MOVE_CACHE_LOW 10
#define LOW_TICKS_PER_MOVE 250000
#define FEATURE_TWO_XSTEPPER 0
#define X2_STEP_PIN   E1_STEP_PIN
#define X2_DIR_PIN    E1_DIR_PIN
#define X2_ENABLE_PIN E1_ENABLE_PIN
#define FEATURE_TWO_YSTEPPER 0
#define Y2_STEP_PIN   E1_STEP_PIN
#define Y2_DIR_PIN    E1_DIR_PIN
#define Y2_ENABLE_PIN E1_ENABLE_PIN
#define FEATURE_TWO_ZSTEPPER 0
#define Z2_STEP_PIN   E1_STEP_PIN
#define Z2_DIR_PIN    E1_DIR_PIN
#define Z2_ENABLE_PIN E1_ENABLE_PIN
#define FEATURE_DITTO_PRINTING 0
// ################# Misc. settings ##################

#define BAUDRATE 115200//波特率設(shè)定
#define ENABLE_POWER_ON_STARTUP
#define POWER_INVERTING 0
#define KILL_METHOD 1//使用處:#if defined(KILL_METHOD) && KILL_METHOD==1
    HAL::resetHardware();
                     //應(yīng)該是緊急關(guān)機(jī)使能
#define GCODE_BUFFER_SIZE 2//Gcode緩沖空間大小
#define ACK_WITH_LINENUMBER//確認(rèn)行數(shù)
#define WAITING_IDENTIFIER "wait"//等待標(biāo)示符
#define ECHO_ON_EXECUTE
#define EEPROM_MODE 1//是否支持EEPROM
/* ======== Servos =======
Control the servos with
M340 P<servoId> S<pulseInUS>   / ServoID = 0..3  pulseInUs = 500..2500
Servos are controlled by a pulse width normally between 500 and 2500 with 1500ms in center position. 0 turns servo off.
WARNING: Servos can draw a considerable amount of current. Make sure your system can handle this or you may risk your hardware!
*/
#define FEATURE_SERVO 0
#define SERVO0_PIN 11
#define SERVO1_PIN -1
#define SERVO2_PIN -1
#define SERVO3_PIN -1
#define FEATURE_WATCHDOG 0

// #################### Z-Probing #####################

#define FEATURE_Z_PROBE 0
#define Z_PROBE_PIN -1
#define Z_PROBE_PULLUP 0
#define Z_PROBE_ON_HIGH 0
#define Z_PROBE_X_OFFSET 0
#define Z_PROBE_Y_OFFSET 0
#define Z_PROBE_WAIT_BEFORE_TEST 0
#define Z_PROBE_SPEED 2
#define Z_PROBE_XY_SPEED 150
#define Z_PROBE_SWITCHING_DISTANCE 1
#define Z_PROBE_REPETITIONS 1
#define Z_PROBE_HEIGHT 40
#define Z_PROBE_START_SCRIPT ""
#define Z_PROBE_FINISHED_SCRIPT ""
#define FEATURE_AUTOLEVEL 1
#define Z_PROBE_X1 20
#define Z_PROBE_Y1 20
#define Z_PROBE_X2 160
#define Z_PROBE_Y2 20
#define Z_PROBE_X3 100
#define Z_PROBE_Y3 160

#ifndef SDSUPPORT  // Some boards have sd support on board. These define the values already in pins.h
#define SDSUPPORT 0
#define SDCARDDETECT -1
#define SDCARDDETECTINVERTED 0
#endif
#define SD_EXTENDED_DIR 1 /** Show extended directory including file length. Don't use this with Pronterface! */
#define ARC_SUPPORT 1
#define FEATURE_MEMORY_POSITION 1
#define FEATURE_CHECKSUM_FORCED 0
#define FEATURE_FAN_CONTROL 1
#define FEATURE_CONTROLLER 0
#define UI_LANGUAGE 0
#define UI_PRINTER_NAME "RepRap"
#define UI_PRINTER_COMPANY "Home made"
#define UI_PAGES_DURATION 4000
#define UI_ANIMATION 1
#define UI_DISABLE_AUTO_PAGESWITCH 1
#define UI_AUTORETURN_TO_MENU_AFTER 30000
#define FEATURE_UI_KEYS 0
#define UI_ENCODER_SPEED 1
#define UI_KEY_BOUNCETIME 10
#define UI_KEY_FIRST_REPEAT 500
#define UI_KEY_REDUCE_REPEAT 50
#define UI_KEY_MIN_REPEAT 50
#define FEATURE_BEEPER 0
#define CASE_LIGHTS_PIN -1
#define UI_START_SCREEN_DELAY 1000
/**
Beeper sound definitions for short beeps during key actions
and longer beeps for important actions.
Parameter is delay in microseconds and the secons is the number of repetitions.
Values must be in range 1..255
*/
#define BEEPER_SHORT_SEQUENCE 2,2
#define BEEPER_LONG_SEQUENCE 8,8
#define UI_SET_PRESET_HEATED_BED_TEMP_PLA 60
#define UI_SET_PRESET_EXTRUDER_TEMP_PLA   190
#define UI_SET_PRESET_HEATED_BED_TEMP_ABS 110
#define UI_SET_PRESET_EXTRUDER_TEMP_ABS   240
#define UI_SET_MIN_HEATED_BED_TEMP  30
#define UI_SET_MAX_HEATED_BED_TEMP 120
#define UI_SET_MIN_EXTRUDER_TEMP   170
#define UI_SET_MAX_EXTRUDER_TEMP   260
#define UI_SET_EXTRUDER_FEEDRATE 2
#define UI_SET_EXTRUDER_RETRACT_DISTANCE 3

#endif
聲明:3D打印資源庫(kù)(3dzyk)內(nèi)網(wǎng)友所發(fā)表的所有內(nèi)容及言論僅代表其本人,并不代表3D打印資源庫(kù)(3dzyk)觀點(diǎn)和立場(chǎng);如對(duì)文章有異議或投訴,請(qǐng)联系kefu@3dzyk.cn。
B Color Smilies
3D打印固件 Sprinter固件全中文解析源碼分析 
广德县| 南江县| 印江| 瑞安市| 普兰县| 汉阴县| 安化县| 寿宁县| 普定县| 通州区| 耒阳市| 正镶白旗| 龙南县| 长丰县| 岢岚县| 临泽县| 眉山市| 明溪县| 巢湖市| 文化| 孝感市| 安徽省| 土默特左旗| 五莲县| 宝鸡市| 平潭县| 曲阜市| 东方市| 东乌| 偃师市| 河南省| 达孜县| 汽车| 饶河县| 衡南县| 叙永县| 三都| 增城市| 保定市| 沧州市| 宾川县|