Marlin: Pin endstop pada papan Rumba tidak mampu menginterupsi?

Dibuat pada 15 Nov 2017  ·  4Komentar  ·  Sumber: MarlinFirmware/Marlin

Pin default untuk X-MIN adalah 37, dan ketika saya mengunggah firmware, pesan kesalahan muncul ... Haruskah saya mengubah definisi pin endstop, atau menonaktifkan fitur interupsi endstop?

In file included from sketch\Marlin_main.cpp:320:0:

sketch\endstop_interrupts.h: In function 'void setup_endstop_interrupts()':

endstop_interrupts.h:128: error: static assertion failed: X_MIN_PIN is not interrupt-capable

       static_assert(digitalPinToPCICR(X_MIN_PIN) != NULL, "X_MIN_PIN is not interrupt-capable");

       ^

endstop_interrupts.h:148: error: static assertion failed: Y_MIN_PIN is not interrupt-capable

       static_assert(digitalPinToPCICR(Y_MIN_PIN) != NULL, "Y_MIN_PIN is not interrupt-capable");

       ^

endstop_interrupts.h:168: error: static assertion failed: Z_MIN_PIN is not interrupt-capable

       static_assert(digitalPinToPCICR(Z_MIN_PIN) != NULL, "Z_MIN_PIN is not interrupt-capable");

       ^

exit status 1
static assertion failed: X_MIN_PIN is not interrupt-capable
BoardPins Configuration Question

Komentar yang paling membantu

Anda dapat mengaktifkan PINS_DEBUGGING dan kemudian mengirim M43 untuk mendapatkan daftar lengkap semua pin dan apa kemampuannya. Jika Anda memiliki cukup pin berkemampuan interupsi yang tidak terpakai, Anda mungkin dapat memindahkan endstop ke pin tersebut.

Semua 4 komentar

Saya telah menghabiskan nol waktu untuk menggali dan mencari fakta. Tetapi hanya beberapa pin GPIO pada AVR yang dapat diatur untuk memberikan interupsi. Dugaan saya, X_MIN_PIN Anda secara sewenang-wenang dipasang pada pin yang tidak pernah terputus oleh desainer papan. (Saya tidak tahu itu fakta .... Tapi itu adalah posisi awal saya.)

Dari perspektif yang berlawanan. Papan RAMPS memiliki setiap penghenti ujung, baik Min dan Max memasang pin yang dapat terganggu.

Anda dapat mengaktifkan PINS_DEBUGGING dan kemudian mengirim M43 untuk mendapatkan daftar lengkap semua pin dan apa kemampuannya. Jika Anda memiliki cukup pin berkemampuan interupsi yang tidak terpakai, Anda mungkin dapat memindahkan endstop ke pin tersebut.

Maaf atas balasannya terlambat, papan yang saya gunakan adalah papan MKS Rumba +, dan mereka menyatakan memiliki sirkuit perlindungan untuk pin endstop.

PIN:   0   Port: E0        RXD                         protected
PIN:   1   Port: E1        TXD                         protected
PIN:   2   Port: E4        HEATER_0_PIN                protected
PIN:   3   Port: E5        <unused/unknown>            Input  = 0    TIMER3C   PWM:     0    WGM: 1    COM3C: 0    CS: 3    TCCR3A: 1    TCCR3B: 3    TIMSK3: 0
PIN:   4   Port: G5        SPINDLE_LASER_PWM_PIN       Input  = 0    TIMER0B   PWM:   128    WGM: 3    COM0B: 0    CS: 3    TCCR0A: 3    TCCR0B: 3    TIMSK0: 5   compare interrupt enabled   overflow interrupt enabled
PIN:   5   Port: E3        SERVO0_PIN                  Input  = 0    TIMER3A   PWM:     0    WGM: 1    COM3A: 0    CS: 3    TCCR3A: 1    TCCR3B: 3    TIMSK3: 0
PIN:   6   Port: H3        HEATER_BED_PIN              protected
PIN:   7   Port: H4        FAN_PIN                     protected
PIN:   8   Port: H5        E0_AUTO_FAN_PIN             protected
.                          FAN1_PIN                    protected
.                          HEATER_3_PIN                protected
PIN:   9   Port: H6        HEATER_2_PIN                Output = 0    TIMER2B   PWM:     0    WGM: 1    COM2B: 0    CS: 4    TCCR2A: 1    TCCR2B: 4    TIMSK2: 0
PIN:  10   Port: B4        <unused/unknown>            Input  = 0    TIMER2A   PWM:     0    WGM: 1    COM2A: 0    CS: 4    TCCR2A: 1    TCCR2B: 4    TIMSK2: 0
PIN:  11   Port: B5        BTN_EN1                     Input  = 1    TIMER1A   PWM:  2000    WGM: 4    COM1A: 0    CS: 2    TCCR1A: 0    TCCR1B: 10    TIMSK1: 2   non-standard PWM mode   compare interrupt enabled
PIN:  12   Port: B6        BTN_EN2                     Input  = 1    TIMER1B   PWM:     0    WGM: 4    COM1B: 0    CS: 2    TCCR1A: 0    TCCR1B: 10    TIMSK1: 2   non-standard PWM mode
PIN:  13   Port: B7        LED_PIN                     Input  = 0    TIMER0A   PWM:     0    WGM: 3    COM0A: 0    CS: 3    TCCR0A: 3    TCCR0B: 3    TIMSK0: 5   overflow interrupt enabled
 .                  TIMER1C is also tied to this pin                  TIMER1C   PWM:     0    WGM: 4    COM1C: 0    CS: 2    TCCR1A: 0    TCCR1B: 10    TIMSK1: 2   non-standard PWM mode
PIN:  14   Port: J1        SPINDLE_LASER_ENABLE_PIN    Input  = 0
PIN:  15   Port: J0        SPINDLE_DIR_PIN             Input  = 0
PIN:  16   Port: H1        X_DIR_PIN                   protected
PIN:  17   Port: H0        X_STEP_PIN                  protected
PIN:  18   Port: D3        LCD_PINS_D4                 Output = 1
PIN:  19   Port: D2        LCD_PINS_RS                 Output = 0
PIN:  20   Port: D1        SDA                         Input  = 1
PIN:  21   Port: D0        SCL                         Input  = 1
PIN:  22   Port: A0        E0_DIR_PIN                  protected
PIN:  23   Port: A1        E0_STEP_PIN                 protected
PIN:  24   Port: A2        E0_ENABLE_PIN               protected
PIN:  25   Port: A3        E1_DIR_PIN                  Output = 0
PIN:  26   Port: A4        E1_STEP_PIN                 Output = 0
PIN:  27   Port: A5        E1_ENABLE_PIN               Output = 1
PIN:  28   Port: A6        E2_DIR_PIN                  Output = 0
PIN:  29   Port: A7        E2_STEP_PIN                 Output = 0
PIN:  30   Port: C7        <unused/unknown>            Input  = 0
PIN:  31   Port: C6        <unused/unknown>            Input  = 0
PIN:  32   Port: C5        <unused/unknown>            Input  = 1
PIN:  33   Port: C4        Z_MIN_PIN                   protected
PIN:  34   Port: C3        <unused/unknown>            Input  = 1
PIN:  35   Port: C2        Y_MIN_PIN                   protected
PIN:  36   Port: C1        <unused/unknown>            Input  = 1
PIN:  37   Port: C0        X_MIN_PIN                   protected
PIN:  38   Port: D7        LCD_PINS_D5                 Input  = 0
PIN:  39   Port: G2        E2_ENABLE_PIN               Output = 1
PIN:  40   Port: G1        LCD_PINS_D7                 Input  = 0
PIN:  41   Port: G0        LCD_PINS_D6                 Input  = 0
PIN:  42   Port: L7        LCD_PINS_ENABLE             Output = 0
PIN:  43   Port: L6        BTN_ENC                     Input  = 1
PIN:  44   Port: L5        BEEPER_PIN                  Output = 0    TIMER5C   PWM:     0    WGM: 1    COM5C: 0    CS: 3    TCCR5A: 1    TCCR5B: 3    TIMSK5: 0
PIN:  45   Port: L4        CASE_LIGHT_PIN              protected
.                          PS_ON_PIN                   protected
PIN:  46   Port: L3        KILL_PIN                    Input  = 1    TIMER5A   PWM:     0    WGM: 1    COM5A: 0    CS: 3    TCCR5A: 1    TCCR5B: 3    TIMSK5: 0
PIN:  47   Port: L2        Y_DIR_PIN                   protected
PIN:  48   Port: L1        X_ENABLE_PIN                protected
PIN:  49   Port: L0        SD_DETECT_PIN               Input  = 0
PIN:  50   Port: B3        AVR_MISO_PIN                Input  = 1
.                          MISO_PIN                    Input  = 1
PIN:  51   Port: B2        AVR_MOSI_PIN                Output = 1
.                          MOSI_PIN                    Output = 1
PIN:  52   Port: B1        AVR_SCK_PIN                 Output = 0
.                          SCK_PIN                     Output = 0
PIN:  53   Port: B0        AVR_SS_PIN                  Output = 1
.                          SDSS                        Output = 1
.                          SS_PIN                      Output = 1
PIN:  54   Port: F0 (A 0)  Y_STEP_PIN                  protected
PIN:  55   Port: F1 (A 1)  Y_ENABLE_PIN                protected
PIN:  56   Port: F2 (A 2)  Z_DIR_PIN                   protected
PIN:  57   Port: F3 (A 3)  Z_STEP_PIN                  protected
PIN:  58   Port: F4 (A 4)  <unused/unknown>   Analog in =   447   Input  = 0
PIN:  59   Port: F5 (A 5)  <unused/unknown>   Analog in =   383   Input  = 0
PIN:  60   Port: F6 (A 6)  <unused/unknown>   Analog in =   343   Input  = 0
PIN:  61   Port: F7 (A 7)  <unused/unknown>   Analog in =   490   Input  = 0
PIN:  62   Port: K0 (A 8)  Z_ENABLE_PIN                protected
PIN:  63   Port: K1 (A 9)  <unused/unknown>   Analog in =   556   Input  = 1
PIN:  64   Port: K2 (A10)  <unused/unknown>   Analog in =   745   Input  = 1
PIN:  65   Port: K3 (A11)  TEMP_BED_PIN                protected
PIN:  66   Port: K4 (A12)  <unused/unknown>   Analog in =  1023   Input  = 1
PIN:  67   Port: K5 (A13)  TEMP_2_PIN                  Analog in =  1023
PIN:  68   Port: K6 (A14)  TEMP_1_PIN                  Analog in =  1023
PIN:  69   Port: K7 (A15)  TEMP_0_PIN 

Di M43 label "dilindungi" berarti pin dilindungi dari perubahan oleh Marlin.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat