소스 검색

Some suggested changes for #1555

Scott Lahteine 9 년 전
부모
커밋
dfb38874f8
8개의 변경된 파일86개의 추가작업 그리고 122개의 파일을 삭제
  1. 46
    62
      Marlin/Marlin_main.cpp
  2. 1
    2
      Marlin/cardreader.cpp
  3. 3
    0
      Marlin/fastio.h
  4. 1
    0
      Marlin/language.h
  5. 11
    21
      Marlin/stepper.cpp
  6. 4
    10
      Marlin/temperature.cpp
  7. 17
    21
      Marlin/ultralcd_implementation_hitachi_HD44780.h
  8. 3
    6
      Marlin/ultralcd_st7920_u8glib_rrd.h

+ 46
- 62
Marlin/Marlin_main.cpp 파일 보기

@@ -531,32 +531,28 @@ void setup_homepin(void)
531 531
 void setup_photpin()
532 532
 {
533 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 535
   #endif
537 536
 }
538 537
 
539 538
 void setup_powerhold()
540 539
 {
541 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 542
   #endif
545 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 549
   #endif
553 550
 }
554 551
 
555 552
 void suicide()
556 553
 {
557 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 556
   #endif
561 557
 }
562 558
 
@@ -2725,15 +2721,13 @@ Sigma_Exit:
2725 2721
 
2726 2722
     #if defined(PS_ON_PIN) && PS_ON_PIN > -1
2727 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 2726
         // If you have a switch on suicide pin, this is useful
2732 2727
         // if you want to start another print with suicide feature after
2733 2728
         // a print without suicide...
2734 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 2731
         #endif
2738 2732
 
2739 2733
         #ifdef ULTIPANEL
@@ -2757,8 +2751,7 @@ Sigma_Exit:
2757 2751
         st_synchronize();
2758 2752
         suicide();
2759 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 2755
       #endif
2763 2756
       #ifdef ULTIPANEL
2764 2757
         powersupply = false;
@@ -3120,7 +3113,7 @@ Sigma_Exit:
3120 3113
          SERIAL_ECHO(extruder_offset[Z_AXIS][tmp_extruder]);
3121 3114
       #endif
3122 3115
       }
3123
-      SERIAL_ECHOLN("");
3116
+      SERIAL_EOL;
3124 3117
     }break;
3125 3118
     #endif
3126 3119
     case 220: // M220 S<factor in percent>- set speed factor override percentage
@@ -3339,8 +3332,7 @@ Sigma_Exit:
3339 3332
      {
3340 3333
      	#ifdef CHDK
3341 3334
        
3342
-         SET_OUTPUT(CHDK);
3343
-         WRITE(CHDK, HIGH);
3335
+         OUT_WRITE(CHDK, HIGH);
3344 3336
          chdkHigh = millis();
3345 3337
          chdkActive = true;
3346 3338
        
@@ -3750,9 +3742,7 @@ case 404:  //M404 Enter the nominal filament width (3mm, 1.75mm ) N<3.0> or disp
3750 3742
           if(cnt==0)
3751 3743
           {
3752 3744
           #if BEEPER > 0
3753
-            SET_OUTPUT(BEEPER);
3754
-
3755
-            WRITE(BEEPER,HIGH);
3745
+            OUT_WRITE(BEEPER,HIGH);
3756 3746
             delay(3);
3757 3747
             WRITE(BEEPER,LOW);
3758 3748
             delay(3);
@@ -4739,47 +4729,41 @@ void calculate_volumetric_multipliers() {
4739 4729
 }
4740 4730
 
4741 4731
 #ifdef EXT_SOLENOID
4732
+
4742 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 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 4769
 #endif //EXT_SOLENOID

+ 1
- 2
Marlin/cardreader.cpp 파일 보기

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

+ 3
- 0
Marlin/fastio.h 파일 보기

@@ -83,6 +83,9 @@
83 83
 /// check if pin is an timer wrapper
84 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 90
 	ports and functions
88 91
 

+ 1
- 0
Marlin/language.h 파일 보기

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

+ 11
- 21
Marlin/stepper.cpp 파일 보기

@@ -187,7 +187,7 @@ void checkHitEndstops()
187 187
      SERIAL_ECHOPAIR(" Z:",(float)endstops_trigsteps[Z_AXIS]/axis_steps_per_unit[Z_AXIS]);
188 188
      LCD_MESSAGEPGM(MSG_ENDSTOPS_HIT "Z");
189 189
    }
190
-   SERIAL_ECHOLN("");
190
+   SERIAL_EOL;
191 191
    endstop_x_hit=false;
192 192
    endstop_y_hit=false;
193 193
    endstop_z_hit=false;
@@ -959,51 +959,41 @@ void st_init()
959 959
 
960 960
   //Initialize Step Pins
961 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 963
     disable_x();
965 964
   #endif
966 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 967
     disable_x();
970 968
   #endif
971 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 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 973
     #endif
978 974
     disable_y();
979 975
   #endif
980 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 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 980
     #endif
987 981
     disable_z();
988 982
   #endif
989 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 985
     disable_e0();
993 986
   #endif
994 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 989
     disable_e1();
998 990
   #endif
999 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 993
     disable_e2();
1003 994
   #endif
1004 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 997
     disable_e3();
1008 998
   #endif
1009 999
 

+ 4
- 10
Marlin/temperature.cpp 파일 보기

@@ -901,21 +901,15 @@ void tp_init()
901 901
   #ifdef HEATER_0_USES_MAX6675
902 902
 
903 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 907
     #else
913 908
       pinMode(SS_PIN, OUTPUT);
914 909
       digitalWrite(SS_PIN, HIGH);
915 910
     #endif
916 911
     
917
-    SET_OUTPUT(MAX6675_SS);
918
-    WRITE(MAX6675_SS,1);
912
+    OUT_WRITE(MAX6675_SS,HIGH);
919 913
 
920 914
   #endif //HEATER_0_USES_MAX6675
921 915
 

+ 17
- 21
Marlin/ultralcd_implementation_hitachi_HD44780.h 파일 보기

@@ -832,32 +832,28 @@ static void lcd_implementation_drawmenu_sddirectory(uint8_t row, const char* pst
832 832
 
833 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 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 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 851
       WRITE(BEEPER,HIGH);
855
-      delayMicroseconds(1000000 / LCD_FEEDBACK_FREQUENCY_HZ / 2);
852
+      delayMicroseconds(delay);
856 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 859
 #ifdef LCD_HAS_STATUS_INDICATORS

+ 3
- 6
Marlin/ultralcd_st7920_u8glib_rrd.h 파일 보기

@@ -47,12 +47,9 @@ uint8_t u8g_dev_rrd_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, vo
47 47
   {
48 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 54
         ST7920_CS();
58 55
         u8g_Delay(120);                 //initial delay for boot up

Loading…
취소
저장