Marlin: La broche d'arrêt sur la carte Rumba n'est pas capable d'interrompre?

Créé le 15 nov. 2017  ·  4Commentaires  ·  Source: MarlinFirmware/Marlin

La broche par défaut pour X-MIN est 37, et lorsque je télécharge le firmwire, un message d'erreur est apparu ... Dois-je changer la définition de la broche de fin de course ou désactiver la fonction d'interruptions de fin de course à la place?

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

Commentaire le plus utile

Vous pouvez activer PINS_DEBUGGING , puis envoyer M43 pour obtenir une liste complète de toutes les broches et de leurs capacités. Si vous avez suffisamment de broches capables d'interrompre inutilisées, vous pourrez peut-être déplacer vos butées vers celles-ci.

Tous les 4 commentaires

Je n'ai passé aucun temps à creuser et à rechercher des faits. Mais seules certaines broches GPIO de l'AVR peuvent être configurées pour fournir des interruptions. Je suppose que votre X_MIN_PIN a été placé arbitrairement sur une broche ininterrompue par le concepteur de la carte. (Je ne sais pas cela pour un fait ... Mais c'est ma position de départ.)

D'un point de vue opposé. La carte RAMPS a chaque butée, à la fois Min et Max mis sur des broches qui peuvent être interrompues.

Vous pouvez activer PINS_DEBUGGING , puis envoyer M43 pour obtenir une liste complète de toutes les broches et de leurs capacités. Si vous avez suffisamment de broches capables d'interrompre inutilisées, vous pourrez peut-être déplacer vos butées vers celles-ci.

Désolé pour la réponse tardive, la carte que j'utilise est la carte MKS Rumba +, et ils indiquent qu'elle dispose de circuits de protection pour les broches de butée.

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 

Dans M43 l'étiquette "protected" signifie que la broche est protégée contre les modifications par Marlin.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Glod76 picture Glod76  ·  3Commentaires

Anion-anion picture Anion-anion  ·  3Commentaires

ShadowOfTheDamn picture ShadowOfTheDamn  ·  3Commentaires

Matts-Hub picture Matts-Hub  ·  3Commentaires

modem7 picture modem7  ·  3Commentaires