亚洲天堂高清一二三,久久久久久久久久性生活,精品国产污污免费网站AⅤ,色橹橹欧美在线观看视频高清

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ù)量、一般設為1,我們常用的melzi、Sanguinololu等主控板是只支持單噴頭的、其他常用的電路板如RAMPS電路設計上可支持雙碰頭。
    #define MOTHERBOARD 63//設置主控板,具體主板型號及其對應編碼可以查看pin.h。
    //此處63為melzi和Sanguinololu。這兩個板子是硬件兼容的、唯一的區(qū)別在于Sanguinololu無法通過Gcode控制風扇,也就是說風扇安裝后只能全速轉動。無法根據(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型打印機、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//冷卻風扇開啟擠出頭溫度?
#define EXT0_X_OFFSET 0//擠出機位置補償?
#define EXT0_Y_OFFSET 0
#define EXT0_STEPS_PER_MM 95//擠出機每毫米407步
#define EXT0_TEMPSENSOR_TYPE 97//擠出機溫度傳感器(熱敏電阻)類型選擇
#define EXT0_TEMPSENSOR_PIN TEMP_0_PIN//擠出機溫度傳感器(熱敏電阻)引腳設置
#define EXT0_HEATER_PIN HEATER_0_PIN//擠出機加熱管控制引腳設置
#define EXT0_STEP_PIN E0_STEP_PIN//擠出機步進電機驅動脈沖引腳設置
#define EXT0_DIR_PIN E0_DIR_PIN//擠出機步進電機驅動方向引腳設置
#define EXT0_INVERSE 1//擠出機順逆向設定???
#define EXT0_ENABLE_PIN E0_ENABLE_PIN//擠出機步進電機驅動使能引腳設置
#define EXT0_ENABLE_ON 0//引用處:#if EXT0_ENABLE_PIN>-1
                                                //WRITE(EXT0_ENABLE_PIN,EXT0_ENABLE_ON );
                                                //這里意思是如果擠出頭步進電機驅動使能端是0使能則值設為0如果是1使能則設為1。3D打印機的驅動芯片一般為A4982(MAKERBOT)、A4988(其他開源項目采用)使能都是0有效。
#define EXT0_MAX_FEEDRATE 50//最大進料速度
#define EXT0_MAX_START_FEEDRATE 20//最大開始進料速度
#define EXT0_MAX_ACCELERATION 5000//最大進料加速度
#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設置
#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ù)代表不使用此項)
#define EXT0_EXTRUDER_COOLER_SPEED 255//設置散熱器速度為255(應該是最大)
#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//擠出最大長度
#define NUM_TEMPS_USERTHERMISTOR0 0//留給用戶設定的熱敏電阻、為1的時候有效
#define USER_THERMISTORTABLE0 {}//對應的溫度表、具體編寫規(guī)則請查看Extruder
#define NUM_TEMPS_USERTHERMISTOR1 0
#define USER_THERMISTORTABLE1 {}
#define NUM_TEMPS_USERTHERMISTOR2 0
#define USER_THERMISTORTABLE2 {}
#define USE_GENERIC_THERMISTORTABLE_1//設定使用通用熱敏電阻及其溫度表
#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//熱敏電阻分壓電路的基準電壓設置
#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//溫度傳感器(熱敏電阻)引腳設置
#define HEATED_BED_HEATER_PIN HEATER_1_PIN//熱床控制端口設置
#define HEATED_BED_SET_INTERVAL 5000//熱床設置間隔?
#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//熱床加熱過程的PID參數(shù)設定
#define HEATED_BED_PID_IGAIN   33
#define HEATED_BED_PID_DGAIN 290
#define HEATED_BED_PID_MAX 255//熱床加熱最大輸出
#define MIN_EXTRUDER_TEMP 150//最小擠出機溫度,很多人反映在Repetier-Host的手動模式下操作擠出頭沒有動作,就是因為固件這里設定了最低擠出機溫度,用來保護擠出機。在耗材沒有完全融化時,擠出機不動。
#define MAXTEMP 275//擠出機最大溫度
#define MIN_DEFECT_TEMPERATURE -10//最小缺陷溫度,這里的理解可能是如果讀取溫度低于(下條語句高于)這個溫度時,就認為溫度故障。機器無法運行。
#define MAX_DEFECT_TEMPERATURE 290
// ################ Endstop configuration #####################
//這里和marlin的固件大體相同,主要是由限位開關的上拉電阻、開關信號正負配置、硬件開關的使能等配置組成
#define ENDSTOP_PULLUP_X_MIN true//X軸home是否有上拉電阻
#define ENDSTOP_X_MIN_INVERTING false//X軸home的限位開關信號正反配置//機械限位開關通常會把連線連在NC端,這就會有個一個數(shù)字信號1輸入到主板中。如果你的機械限位開關的連線是連在NO端,這就需要ENDSTOP_INVERTING采用ture從而使數(shù)字信號0反向變?yōu)?。對于光學開關來說,則一般不用進行調(diào)整。(引用自:)
#define MIN_HARDWARE_ENDSTOP_X true//是否有硬件X軸home限位開關
#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//因為使用了硬件限位開關,所以無需軟件限位開關。設置為false
#define min_software_endstop_y false//同上
#define min_software_endstop_z false//同上
#define max_software_endstop_x true//XYZ軸都分別只使用了一個限位開關,所以軟件限位設置為真
#define max_software_endstop_y true//
#define max_software_endstop_z true//
#define ENDSTOP_X_BACK_MOVE 5//X軸觸底后反向移動距離
#define ENDSTOP_Y_BACK_MOVE 5//
#define ENDSTOP_Z_BACK_MOVE 1//
#define ENDSTOP_X_RETEST_REDUCTION_FACTOR 3//X軸重新設定縮減系數(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//是否每次檢查限位開關(這里可能是只打印作業(yè)前)
// ################# XYZ movements ###################

#define X_ENABLE_ON 0//和擠出機的設置相同//這里意思是如果X軸步進電機驅動使能端是0使能則值設為0如果是1使能則設為1。3D打印機的驅動芯片一般為A4982(MAKERBOT)、A4988(其他開源項目采用)使能都是0有效。
#define Y_ENABLE_ON 0
#define Z_ENABLE_ON 0
#define DISABLE_X 0//關閉X軸步進電機
#define DISABLE_Y 0
#define DISABLE_Z 0
#define DISABLE_E 0
#define INVERT_X_DIR 0//電機方向信號信號正反配置
#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//打印機的打印尺寸設置
#define Y_MAX_LENGTH 200
#define Z_MAX_LENGTH 180
#define X_MIN_POS 0//XYZ的最小位置值設置
#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//波特率設定
#define ENABLE_POWER_ON_STARTUP
#define POWER_INVERTING 0
#define KILL_METHOD 1//使用處:#if defined(KILL_METHOD) && KILL_METHOD==1
    HAL::resetHardware();
                     //應該是緊急關機使能
#define GCODE_BUFFER_SIZE 2//Gcode緩沖空間大小
#define ACK_WITH_LINENUMBER//確認行數(shù)
#define WAITING_IDENTIFIER "wait"//等待標示符
#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打印資源庫(3dzyk)內(nèi)網(wǎng)友所發(fā)表的所有內(nèi)容及言論僅代表其本人,并不代表3D打印資源庫(3dzyk)觀點和立場;如對文章有異議或投訴,請联系kefu@3dzyk.cn。
B Color Smilies
3D打印固件 Sprinter固件全中文解析源碼分析 
胶南市| 河西区| 澄江县| 滕州市| 赣州市| 巩义市| 武川县| 永春县| 密云县| 罗平县| 盘山县| 崇州市| 平凉市| 炎陵县| 伊川县| 临安市| 松桃| 上思县| 新沂市| 南江县| 古蔺县| 江华| 扎鲁特旗| 乌兰浩特市| 永年县| 石家庄市| 什邡市| 易门县| 德保县| 鱼台县| 开原市| 连城县| 桑日县| 错那县| 米泉市| 安塞县| 泰州市| 马鞍山市| 长乐市| 华安县| 资讯|