Przeglądaj źródła

Some suggested changes for #1555

Scott Lahteine 10 lat temu
rodzic
commit
dfb38874f8

+ 46
- 62
Marlin/Marlin_main.cpp Wyświetl plik

531
 void setup_photpin()
531
 void setup_photpin()
532
 {
532
 {
533
   #if defined(PHOTOGRAPH_PIN) && PHOTOGRAPH_PIN > -1
533
   #if defined(PHOTOGRAPH_PIN) && PHOTOGRAPH_PIN > -1
534
-    SET_OUTPUT(PHOTOGRAPH_PIN);
535
-    WRITE(PHOTOGRAPH_PIN, LOW);
534
+    OUT_WRITE(PHOTOGRAPH_PIN, LOW);
536
   #endif
535
   #endif
537
 }
536
 }
538
 
537
 
539
 void setup_powerhold()
538
 void setup_powerhold()
540
 {
539
 {
541
   #if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
540
   #if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
542
-    SET_OUTPUT(SUICIDE_PIN);
543
-    WRITE(SUICIDE_PIN, HIGH);
541
+    OUT_WRITE(SUICIDE_PIN, HIGH);
544
   #endif
542
   #endif
545
   #if defined(PS_ON_PIN) && PS_ON_PIN > -1
543
   #if defined(PS_ON_PIN) && PS_ON_PIN > -1
546
-    SET_OUTPUT(PS_ON_PIN);
547
-	#if defined(PS_DEFAULT_OFF)
548
-	  WRITE(PS_ON_PIN, PS_ON_ASLEEP);
549
-    #else
550
-	  WRITE(PS_ON_PIN, PS_ON_AWAKE);
551
-	#endif
544
+    #if defined(PS_DEFAULT_OFF)
545
+      OUT_WRITE(PS_ON_PIN, PS_ON_ASLEEP);
546
+      #else
547
+      OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE);
548
+    #endif
552
   #endif
549
   #endif
553
 }
550
 }
554
 
551
 
555
 void suicide()
552
 void suicide()
556
 {
553
 {
557
   #if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
554
   #if defined(SUICIDE_PIN) && SUICIDE_PIN > -1
558
-    SET_OUTPUT(SUICIDE_PIN);
559
-    WRITE(SUICIDE_PIN, LOW);
555
+    OUT_WRITE(SUICIDE_PIN, LOW);
560
   #endif
556
   #endif
561
 }
557
 }
562
 
558
 
2725
 
2721
 
2726
     #if defined(PS_ON_PIN) && PS_ON_PIN > -1
2722
     #if defined(PS_ON_PIN) && PS_ON_PIN > -1
2727
       case 80: // M80 - Turn on Power Supply
2723
       case 80: // M80 - Turn on Power Supply
2728
-        SET_OUTPUT(PS_ON_PIN); //GND
2729
-        WRITE(PS_ON_PIN, PS_ON_AWAKE);
2724
+        OUT_WRITE(PS_ON_PIN, PS_ON_AWAKE); // GND
2730
 
2725
 
2731
         // If you have a switch on suicide pin, this is useful
2726
         // If you have a switch on suicide pin, this is useful
2732
         // if you want to start another print with suicide feature after
2727
         // if you want to start another print with suicide feature after
2733
         // a print without suicide...
2728
         // a print without suicide...
2734
         #if defined SUICIDE_PIN && SUICIDE_PIN > -1
2729
         #if defined SUICIDE_PIN && SUICIDE_PIN > -1
2735
-            SET_OUTPUT(SUICIDE_PIN);
2736
-            WRITE(SUICIDE_PIN, HIGH);
2730
+            OUT_WRITE(SUICIDE_PIN, HIGH);
2737
         #endif
2731
         #endif
2738
 
2732
 
2739
         #ifdef ULTIPANEL
2733
         #ifdef ULTIPANEL
2757
         st_synchronize();
2751
         st_synchronize();
2758
         suicide();
2752
         suicide();
2759
       #elif defined(PS_ON_PIN) && PS_ON_PIN > -1
2753
       #elif defined(PS_ON_PIN) && PS_ON_PIN > -1
2760
-        SET_OUTPUT(PS_ON_PIN);
2761
-        WRITE(PS_ON_PIN, PS_ON_ASLEEP);
2754
+        OUT_WRITE(PS_ON_PIN, PS_ON_ASLEEP);
2762
       #endif
2755
       #endif
2763
       #ifdef ULTIPANEL
2756
       #ifdef ULTIPANEL
2764
         powersupply = false;
2757
         powersupply = false;
3120
          SERIAL_ECHO(extruder_offset[Z_AXIS][tmp_extruder]);
3113
          SERIAL_ECHO(extruder_offset[Z_AXIS][tmp_extruder]);
3121
       #endif
3114
       #endif
3122
       }
3115
       }
3123
-      SERIAL_ECHOLN("");
3116
+      SERIAL_EOL;
3124
     }break;
3117
     }break;
3125
     #endif
3118
     #endif
3126
     case 220: // M220 S<factor in percent>- set speed factor override percentage
3119
     case 220: // M220 S<factor in percent>- set speed factor override percentage
3339
      {
3332
      {
3340
      	#ifdef CHDK
3333
      	#ifdef CHDK
3341
        
3334
        
3342
-         SET_OUTPUT(CHDK);
3343
-         WRITE(CHDK, HIGH);
3335
+         OUT_WRITE(CHDK, HIGH);
3344
          chdkHigh = millis();
3336
          chdkHigh = millis();
3345
          chdkActive = true;
3337
          chdkActive = true;
3346
        
3338
        
3750
           if(cnt==0)
3742
           if(cnt==0)
3751
           {
3743
           {
3752
           #if BEEPER > 0
3744
           #if BEEPER > 0
3753
-            SET_OUTPUT(BEEPER);
3754
-
3755
-            WRITE(BEEPER,HIGH);
3745
+            OUT_WRITE(BEEPER,HIGH);
3756
             delay(3);
3746
             delay(3);
3757
             WRITE(BEEPER,LOW);
3747
             WRITE(BEEPER,LOW);
3758
             delay(3);
3748
             delay(3);
4739
 }
4729
 }
4740
 
4730
 
4741
 #ifdef EXT_SOLENOID
4731
 #ifdef EXT_SOLENOID
4732
+
4742
 void enable_solenoid(uint8_t num) {
4733
 void enable_solenoid(uint8_t num) {
4743
-         if(num == 0) {
4744
-         SET_OUTPUT(SOL0_PIN);
4745
-         WRITE(SOL0_PIN,HIGH);
4746
-    }
4747
-        
4748
-         if(num == 1){
4749
-         SET_OUTPUT(SOL1_PIN);
4750
-         WRITE(SOL1_PIN,HIGH);
4751
-    }
4752
-         
4753
-         if(num == 2){
4754
-         SET_OUTPUT(SOL2_PIN);
4755
-         WRITE(SOL2_PIN,HIGH);
4756
-    }
4757
-         
4758
-         if(num == 3){
4759
-         SET_OUTPUT(SOL3_PIN);
4760
-         WRITE(SOL3_PIN,HIGH);
4761
-    }
4762
-         
4763
-         return;
4764
-    }
4734
+  switch(num) {
4735
+    case 0:
4736
+      OUT_WRITE(SOL0_PIN, HIGH);
4737
+      break;
4738
+      #if defined(SOL1_PIN) && SOL1_PIN > -1
4739
+        case 1:
4740
+          OUT_WRITE(SOL1_PIN, HIGH);
4741
+          break;
4742
+      #endif
4743
+      #if defined(SOL2_PIN) && SOL2_PIN > -1
4744
+        case 2:
4745
+          OUT_WRITE(SOL2_PIN, HIGH);
4746
+          break;
4747
+      #endif
4748
+      #if defined(SOL3_PIN) && SOL3_PIN > -1
4749
+        case 3:
4750
+          OUT_WRITE(SOL3_PIN, HIGH);
4751
+          break;
4752
+      #endif
4753
+    default:
4754
+      SERIAL_ECHO_START;
4755
+      SERIAL_ECHOLNPGM(MSG_INVALID_SOLENOID);
4756
+      break;
4757
+  }
4758
+}
4765
 
4759
 
4766
-void enable_solenoid_on_active_extruder() {
4767
-         enable_solenoid(active_extruder);
4768
-         return;
4769
-    }
4760
+void enable_solenoid_on_active_extruder() { enable_solenoid(active_extruder); }
4770
 
4761
 
4771
 void disable_all_solenoids() {
4762
 void disable_all_solenoids() {
4772
-         SET_OUTPUT(SOL0_PIN);
4773
-         SET_OUTPUT(SOL1_PIN);
4774
-         SET_OUTPUT(SOL2_PIN);
4775
-         SET_OUTPUT(SOL3_PIN);
4776
-         
4777
-         WRITE(SOL0_PIN,LOW);
4778
-         WRITE(SOL1_PIN,LOW);
4779
-         WRITE(SOL2_PIN,LOW);
4780
-         WRITE(SOL3_PIN,LOW);
4781
-         
4782
-         return;
4783
-    }
4763
+  OUT_WRITE(SOL0_PIN, LOW);
4764
+  OUT_WRITE(SOL1_PIN, LOW);
4765
+  OUT_WRITE(SOL2_PIN, LOW);
4766
+  OUT_WRITE(SOL3_PIN, LOW);
4767
+}
4784
 
4768
 
4785
 #endif //EXT_SOLENOID
4769
 #endif //EXT_SOLENOID

+ 1
- 2
Marlin/cardreader.cpp Wyświetl plik

22
   autostart_index = 0;
22
   autostart_index = 0;
23
   //power to SD reader
23
   //power to SD reader
24
   #if SDPOWER > -1
24
   #if SDPOWER > -1
25
-    SET_OUTPUT(SDPOWER);
26
-    WRITE(SDPOWER, HIGH);
25
+    OUT_WRITE(SDPOWER, HIGH);
27
   #endif //SDPOWER
26
   #endif //SDPOWER
28
 
27
 
29
   autostart_atmillis = millis() + 5000;
28
   autostart_atmillis = millis() + 5000;

+ 3
- 0
Marlin/fastio.h Wyświetl plik

83
 /// check if pin is an timer wrapper
83
 /// check if pin is an timer wrapper
84
 #define GET_TIMER(IO)  _GET_TIMER(IO)
84
 #define GET_TIMER(IO)  _GET_TIMER(IO)
85
 
85
 
86
+// Shorthand
87
+#define OUT_WRITE(IO, v) { SET_OUTPUT(IO); WRITE(IO, v); }
88
+
86
 /*
89
 /*
87
 	ports and functions
90
 	ports and functions
88
 
91
 

+ 1
- 0
Marlin/language.h Wyświetl plik

121
 #define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
121
 #define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
122
 #define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
122
 #define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
123
 #define MSG_INVALID_EXTRUDER                "Invalid extruder"
123
 #define MSG_INVALID_EXTRUDER                "Invalid extruder"
124
+#define MSG_INVALID_SOLENOID                "Invalid solenoid"
124
 #define MSG_X_MIN                           "x_min: "
125
 #define MSG_X_MIN                           "x_min: "
125
 #define MSG_X_MAX                           "x_max: "
126
 #define MSG_X_MAX                           "x_max: "
126
 #define MSG_Y_MIN                           "y_min: "
127
 #define MSG_Y_MIN                           "y_min: "

+ 11
- 21
Marlin/stepper.cpp Wyświetl plik

187
      SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
187
      SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
188
      LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
188
      LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
189
    }
189
    }
190
-   SERIAL_ECHOLN("");
190
+   SERIAL_EOL;
191
    endstop_x_hit=false;
191
    endstop_x_hit=false;
192
    endstop_y_hit=false;
192
    endstop_y_hit=false;
193
    endstop_z_hit=false;
193
    endstop_z_hit=false;
959
 
959
 
960
   //Initialize Step Pins
960
   //Initialize Step Pins
961
   #if defined(X_STEP_PIN) && (X_STEP_PIN > -1)
961
   #if defined(X_STEP_PIN) && (X_STEP_PIN > -1)
962
-    SET_OUTPUT(X_STEP_PIN);
963
-    WRITE(X_STEP_PIN,INVERT_X_STEP_PIN);
962
+    OUT_WRITE(X_STEP_PIN,INVERT_X_STEP_PIN);
964
     disable_x();
963
     disable_x();
965
   #endif
964
   #endif
966
   #if defined(X2_STEP_PIN) && (X2_STEP_PIN > -1)
965
   #if defined(X2_STEP_PIN) && (X2_STEP_PIN > -1)
967
-    SET_OUTPUT(X2_STEP_PIN);
968
-    WRITE(X2_STEP_PIN,INVERT_X_STEP_PIN);
966
+    OUT_WRITE(X2_STEP_PIN,INVERT_X_STEP_PIN);
969
     disable_x();
967
     disable_x();
970
   #endif
968
   #endif
971
   #if defined(Y_STEP_PIN) && (Y_STEP_PIN > -1)
969
   #if defined(Y_STEP_PIN) && (Y_STEP_PIN > -1)
972
-    SET_OUTPUT(Y_STEP_PIN);
973
-    WRITE(Y_STEP_PIN,INVERT_Y_STEP_PIN);
970
+    OUT_WRITE(Y_STEP_PIN,INVERT_Y_STEP_PIN);
974
     #if defined(Y_DUAL_STEPPER_DRIVERS) && defined(Y2_STEP_PIN) && (Y2_STEP_PIN > -1)
971
     #if defined(Y_DUAL_STEPPER_DRIVERS) && defined(Y2_STEP_PIN) && (Y2_STEP_PIN > -1)
975
-      SET_OUTPUT(Y2_STEP_PIN);
976
-      WRITE(Y2_STEP_PIN,INVERT_Y_STEP_PIN);
972
+      OUT_WRITE(Y2_STEP_PIN,INVERT_Y_STEP_PIN);
977
     #endif
973
     #endif
978
     disable_y();
974
     disable_y();
979
   #endif
975
   #endif
980
   #if defined(Z_STEP_PIN) && (Z_STEP_PIN > -1)
976
   #if defined(Z_STEP_PIN) && (Z_STEP_PIN > -1)
981
-    SET_OUTPUT(Z_STEP_PIN);
982
-    WRITE(Z_STEP_PIN,INVERT_Z_STEP_PIN);
977
+    OUT_WRITE(Z_STEP_PIN,INVERT_Z_STEP_PIN);
983
     #if defined(Z_DUAL_STEPPER_DRIVERS) && defined(Z2_STEP_PIN) && (Z2_STEP_PIN > -1)
978
     #if defined(Z_DUAL_STEPPER_DRIVERS) && defined(Z2_STEP_PIN) && (Z2_STEP_PIN > -1)
984
-      SET_OUTPUT(Z2_STEP_PIN);
985
-      WRITE(Z2_STEP_PIN,INVERT_Z_STEP_PIN);
979
+      OUT_WRITE(Z2_STEP_PIN,INVERT_Z_STEP_PIN);
986
     #endif
980
     #endif
987
     disable_z();
981
     disable_z();
988
   #endif
982
   #endif
989
   #if defined(E0_STEP_PIN) && (E0_STEP_PIN > -1)
983
   #if defined(E0_STEP_PIN) && (E0_STEP_PIN > -1)
990
-    SET_OUTPUT(E0_STEP_PIN);
991
-    WRITE(E0_STEP_PIN,INVERT_E_STEP_PIN);
984
+    OUT_WRITE(E0_STEP_PIN,INVERT_E_STEP_PIN);
992
     disable_e0();
985
     disable_e0();
993
   #endif
986
   #endif
994
   #if defined(E1_STEP_PIN) && (E1_STEP_PIN > -1)
987
   #if defined(E1_STEP_PIN) && (E1_STEP_PIN > -1)
995
-    SET_OUTPUT(E1_STEP_PIN);
996
-    WRITE(E1_STEP_PIN,INVERT_E_STEP_PIN);
988
+    OUT_WRITE(E1_STEP_PIN,INVERT_E_STEP_PIN);
997
     disable_e1();
989
     disable_e1();
998
   #endif
990
   #endif
999
   #if defined(E2_STEP_PIN) && (E2_STEP_PIN > -1)
991
   #if defined(E2_STEP_PIN) && (E2_STEP_PIN > -1)
1000
-    SET_OUTPUT(E2_STEP_PIN);
1001
-    WRITE(E2_STEP_PIN,INVERT_E_STEP_PIN);
992
+    OUT_WRITE(E2_STEP_PIN,INVERT_E_STEP_PIN);
1002
     disable_e2();
993
     disable_e2();
1003
   #endif
994
   #endif
1004
   #if defined(E3_STEP_PIN) && (E3_STEP_PIN > -1)
995
   #if defined(E3_STEP_PIN) && (E3_STEP_PIN > -1)
1005
-    SET_OUTPUT(E3_STEP_PIN);
1006
-    WRITE(E3_STEP_PIN,INVERT_E_STEP_PIN);
996
+    OUT_WRITE(E3_STEP_PIN,INVERT_E_STEP_PIN);
1007
     disable_e3();
997
     disable_e3();
1008
   #endif
998
   #endif
1009
 
999
 

+ 4
- 10
Marlin/temperature.cpp Wyświetl plik

901
   #ifdef HEATER_0_USES_MAX6675
901
   #ifdef HEATER_0_USES_MAX6675
902
 
902
 
903
     #ifndef SDSUPPORT
903
     #ifndef SDSUPPORT
904
-      SET_OUTPUT(SCK_PIN);
905
-      WRITE(SCK_PIN,0);
906
-    
907
-      SET_OUTPUT(MOSI_PIN);
908
-      WRITE(MOSI_PIN,1);
909
-    
910
-      SET_INPUT(MISO_PIN);
911
-      WRITE(MISO_PIN,1);
904
+      OUT_WRITE(SCK_PIN, LOW);
905
+      OUT_WRITE(MOSI_PIN, HIGH);
906
+      OUT_WRITE(MISO_PIN, HIGH);
912
     #else
907
     #else
913
       pinMode(SS_PIN, OUTPUT);
908
       pinMode(SS_PIN, OUTPUT);
914
       digitalWrite(SS_PIN, HIGH);
909
       digitalWrite(SS_PIN, HIGH);
915
     #endif
910
     #endif
916
     
911
     
917
-    SET_OUTPUT(MAX6675_SS);
918
-    WRITE(MAX6675_SS,1);
912
+    OUT_WRITE(MAX6675_SS,HIGH);
919
 
913
 
920
   #endif //HEATER_0_USES_MAX6675
914
   #endif //HEATER_0_USES_MAX6675
921
 
915
 

+ 17
- 21
Marlin/ultralcd_implementation_hitachi_HD44780.h Wyświetl plik

832
 
832
 
833
 static void lcd_implementation_quick_feedback()
833
 static void lcd_implementation_quick_feedback()
834
 {
834
 {
835
-#ifdef LCD_USE_I2C_BUZZER
836
-	#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
837
-	  lcd_buzz(1000/6,100);
838
-	#else
839
-	  lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS,LCD_FEEDBACK_FREQUENCY_HZ);
840
-	#endif
841
-#elif defined(BEEPER) && BEEPER > -1
835
+  #ifdef LCD_USE_I2C_BUZZER
836
+    #if defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS) && defined(LCD_FEEDBACK_FREQUENCY_HZ)
837
+      lcd_buzz(LCD_FEEDBACK_FREQUENCY_DURATION_MS, LCD_FEEDBACK_FREQUENCY_HZ);
838
+    #else
839
+      lcd_buzz(1000/6, 100);
840
+    #endif
841
+  #elif defined(BEEPER) && BEEPER > -1
842
     SET_OUTPUT(BEEPER);
842
     SET_OUTPUT(BEEPER);
843
-	#if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
844
-    for(int8_t i=0;i<10;i++)
845
-    {
846
-      WRITE(BEEPER,HIGH);
847
-      delayMicroseconds(100);
848
-      WRITE(BEEPER,LOW);
849
-      delayMicroseconds(100);
850
-    }
843
+    #if !defined(LCD_FEEDBACK_FREQUENCY_HZ) || !defined(LCD_FEEDBACK_FREQUENCY_DURATION_MS)
844
+      const unsigned int delay = 100;
845
+      uint8_t i = 10;
851
     #else
846
     #else
852
-    for(int8_t i=0;i<(LCD_FEEDBACK_FREQUENCY_DURATION_MS / (1000 / LCD_FEEDBACK_FREQUENCY_HZ));i++)
853
-    {
847
+      const unsigned int delay = 1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2;
848
+      int8_t i = LCD_FEEDBACK_FREQUENCY_DURATION_MS * LCD_FEEDBACK_FREQUENCY_HZ / 1000;
849
+    #endif
850
+    while (i--) {
854
       WRITE(BEEPER,HIGH);
851
       WRITE(BEEPER,HIGH);
855
-      delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
852
+      delayMicroseconds(delay);
856
       WRITE(BEEPER,LOW);
853
       WRITE(BEEPER,LOW);
857
-      delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
854
+      delayMicroseconds(delay);
858
     }
855
     }
859
-    #endif
860
-#endif
856
+  #endif
861
 }
857
 }
862
 
858
 
863
 #ifdef LCD_HAS_STATUS_INDICATORS
859
 #ifdef LCD_HAS_STATUS_INDICATORS

+ 3
- 6
Marlin/ultralcd_st7920_u8glib_rrd.h Wyświetl plik

47
   {
47
   {
48
     case U8G_DEV_MSG_INIT:
48
     case U8G_DEV_MSG_INIT:
49
       {
49
       {
50
-        SET_OUTPUT(ST7920_CS_PIN);
51
-        WRITE(ST7920_CS_PIN,0);
52
-        SET_OUTPUT(ST7920_DAT_PIN);
53
-        WRITE(ST7920_DAT_PIN,0);
54
-        SET_OUTPUT(ST7920_CLK_PIN);
55
-        WRITE(ST7920_CLK_PIN,1);
50
+        OUT_WRITE(ST7920_CS_PIN,LOW);
51
+        OUT_WRITE(ST7920_DAT_PIN,LOW);
52
+        OUT_WRITE(ST7920_CLK_PIN,HIGH);
56
 
53
 
57
         ST7920_CS();
54
         ST7920_CS();
58
         u8g_Delay(120);                 //initial delay for boot up
55
         u8g_Delay(120);                 //initial delay for boot up

Ładowanie…
Anuluj
Zapisz