Browse Source

Merge branch 'Marlin_v1' of https://github.com/ErikZalm/Marlin into Marlin_v1

Neil Darlow 11 years ago
parent
commit
9d11b70436
5 changed files with 145 additions and 6 deletions
  1. 2
    0
      Marlin/Configuration.h
  2. 1
    1
      Marlin/cardreader.cpp
  3. 125
    0
      Marlin/pins.h
  4. 16
    4
      Marlin/planner.cpp
  5. 1
    1
      Marlin/planner.h

+ 2
- 0
Marlin/Configuration.h View File

@@ -62,6 +62,7 @@
62 62
 // 81 = Printrboard (AT90USB1286)
63 63
 // 82 = Brainwave (AT90USB646)
64 64
 // 83 = SAV Mk-I (AT90USB1286)
65
+// 84 = Teensy++2.0 (AT90USB1286) // CLI compile: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84  make
65 66
 // 9  = Gen3+
66 67
 // 70 = Megatronics
67 68
 // 701= Megatronics v2.0
@@ -304,6 +305,7 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
304 305
 #define DISABLE_Y false
305 306
 #define DISABLE_Z false
306 307
 #define DISABLE_E false // For all extruders
308
+#define DISABLE_INACTIVE_EXTRUDER true //disable only inactive extruders and keep active extruder enabled
307 309
 
308 310
 #define INVERT_X_DIR true    // for Mendel set to false, for Orca set to true
309 311
 #define INVERT_Y_DIR false    // for Mendel set to true, for Orca set to false

+ 1
- 1
Marlin/cardreader.cpp View File

@@ -445,7 +445,7 @@ void CardReader::removeFile(char* name)
445 445
     if (file.remove(curDir, fname)) 
446 446
     {
447 447
       SERIAL_PROTOCOLPGM("File deleted:");
448
-      SERIAL_PROTOCOL(fname);
448
+      SERIAL_PROTOCOLLN(fname);
449 449
       sdpos = 0;
450 450
     }
451 451
     else

+ 125
- 0
Marlin/pins.h View File

@@ -1650,6 +1650,10 @@
1650 1650
 #error Oops!  Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
1651 1651
 #endif
1652 1652
 
1653
+#ifdef AT90USBxx_TEENSYPP_ASSIGNMENTS  // use Teensyduino Teensy++2.0 pin assignments instead of Marlin traditional.
1654
+#error These Teensylu/Printrboard assignments depend on traditional Marlin assignments, not AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h
1655
+#endif
1656
+
1653 1657
 #define LARGE_FLASH        true
1654 1658
 
1655 1659
 #define X_STEP_PIN          0
@@ -1857,6 +1861,127 @@
1857 1861
 
1858 1862
 #endif  // MOTHERBOARD == 83
1859 1863
 
1864
+/****************************************************************************************
1865
+* Teensy++ 2.0 Breadboard pin assignments (AT90USB1286)
1866
+* Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
1867
+  http://www.pjrc.com/teensy/teensyduino.html
1868
+* See http://reprap.org/wiki/Printrboard for more info
1869
+* CLI build: DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84  make
1870
+* 
1871
+****************************************************************************************/
1872
+#if MOTHERBOARD == 84
1873
+#define KNOWN_BOARD 1
1874
+#define AT90USB 1286  // Disable MarlinSerial etc.
1875
+
1876
+#ifndef __AVR_AT90USB1286__
1877
+#error Oops!  Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
1878
+#endif
1879
+
1880
+#define LARGE_FLASH        true
1881
+
1882
+/* 
1883
+DaveX plan for Teensylu/printrboard-type pinouts (ref teensylu & sprinter) for a TeensyBreadboard:
1884
+
1885
+                               USB
1886
+           GND       GND |-----#####-----| +5V              ATX +5SB
1887
+     ATX PS_ON    PWM 27 |b7   #####   b6| 26    PWM*       Stepper Enable 
1888
+                  PWM  0 |d0           b5| 25    PWM*        
1889
+                  PWM  1 |d1           b4| 24    PWM        
1890
+         X_MIN         2 |d2           b3| 23               MISO_PIN
1891
+         Y_MIN         3 |d3           b2| 22               MOSI_PIN
1892
+         Z_MIN         4 |d4  * *      b1| 21               SCK_PIN       
1893
+                       5 |d5  e e      b0| 20               SDSS              
1894
+                LED    6 |d6  5 4      e7| 19               
1895
+                       7 |d7           e6| 18               
1896
+       LCD  RS         8 |e0             | GND              
1897
+       LCD  EN         9 |e1   a4 a0    R| AREF             
1898
+       LCD  D4        10 |c0   a5 a1   f0| 38 A0            ENC_1           
1899
+       LCD  D5        11 |c1   a6 a2   f1| 39 A1            ENC_2
1900
+       LCD  D6        12 |c2   a7 a3   f2| 40 A2            ENC_CLK
1901
+       LCD  D6        13 |c3           f3| 41 A3            
1902
+      Bed Heat    PWM 14 |c4   V G R   f4| 42 A4            
1903
+ Extruder Heat    PWM 15 |c5   c n S   f5| 43 A5            
1904
+           Fan    PWM 16 |c6   c d T   f6| 44 A6            Bed TC
1905
+                      17 |c7   * * *   f7| 45 A7            Extruder TC * 4.7k * +5        
1906
+                         -----------------                  
1907
+
1908
+      Interior E4: 36, INT4
1909
+      Interior E5: 37, INT5
1910
+      Interior PA0-7: 28-35  -- Printrboard and Teensylu use these pins for step & direction:
1911
+             T++ PA Signal  Marlin
1912
+    
1913
+       Z STEP  32 a4  a0 28 X STEP
1914
+       Z DIR   33 a5  a1 29 X DIR
1915
+       E STEP  34 a6  a2 30 Y STEP
1916
+       E DIR   35 a7  a3 31 Y DIR
1917
+
1918
+*/
1919
+
1920
+#ifndef AT90USBxx_TEENSYPP_ASSIGNMENTS  // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical.
1921
+  #error  Uncomment #define AT90USBxx_TEENSYPP_ASSIGNMENTS in fastio.h for this config
1922
+  // or build from command line with:  DEFINES=AT90USBxx_TEENSYPP_ASSIGNMENTS HARDWARE_MOTHERBOARD=84  make
1923
+#endif
1924
+
1925
+#define X_STEP_PIN         28 //  0 Marlin
1926
+#define X_DIR_PIN          29 //  1 Marlin
1927
+#define X_ENABLE_PIN       26 
1928
+
1929
+#define Y_STEP_PIN         30 //  2 Marlin
1930
+#define Y_DIR_PIN          31 //  3
1931
+#define Y_ENABLE_PIN       26     // Shared w/x
1932
+
1933
+#define Z_STEP_PIN         32 //  4
1934
+#define Z_DIR_PIN          33 //  5
1935
+#define Z_ENABLE_PIN       26 // Shared w/x
1936
+
1937
+#define E0_STEP_PIN        34 //  6
1938
+#define E0_DIR_PIN         35 //  7
1939
+#define E0_ENABLE_PIN      26 // Shared w/x
1940
+
1941
+#define HEATER_0_PIN       15 //  21  // Extruder
1942
+#define HEATER_1_PIN       -1
1943
+#define HEATER_2_PIN       -1
1944
+#define HEATER_BED_PIN     14 // 20  // Bed
1945
+#define FAN_PIN            16 // 22  // Fan
1946
+
1947
+#define X_STOP_PIN          2
1948
+#define Y_STOP_PIN          3
1949
+#define Z_STOP_PIN          4
1950
+
1951
+#define TEMP_0_PIN          7 // Extruder / Analog pin numbering
1952
+#define TEMP_BED_PIN        6 // Bed / Analog pin numbering
1953
+#define TEMP_1_PIN         -1
1954
+#define TEMP_2_PIN         -1
1955
+
1956
+#define SDPOWER            -1
1957
+#define SDCARDDETECT       -1		
1958
+#define SDSS               20 // 8
1959
+#define LED_PIN             6
1960
+#define PS_ON_PIN          27
1961
+#define KILL_PIN           -1
1962
+#define ALARM_PIN          -1
1963
+
1964
+#ifndef SDSUPPORT
1965
+// these pins are defined in the SD library if building with SD support
1966
+  #define SCK_PIN         21 // 9
1967
+  #define MISO_PIN        23 // 11
1968
+  #define MOSI_PIN        22 // 10
1969
+#endif
1970
+
1971
+#ifdef ULTIPANEL
1972
+#define LCD_PINS_RS         8
1973
+#define LCD_PINS_ENABLE     9
1974
+#define LCD_PINS_D4        10
1975
+#define LCD_PINS_D5        11
1976
+#define LCD_PINS_D6        12
1977
+#define LCD_PINS_D7        13
1978
+#define BTN_EN1            38
1979
+#define BTN_EN2            39
1980
+#define BTN_ENC            40
1981
+#endif
1982
+
1983
+#endif  // MOTHERBOARD == 84 (Teensy++2.0 Breadboard)
1984
+
1860 1985
 
1861 1986
 /****************************************************************************************
1862 1987
 * Gen3+ pin assignment

+ 16
- 4
Marlin/planner.cpp View File

@@ -657,12 +657,24 @@ block->steps_y = labs((target[X_AXIS]-position[X_AXIS]) - (target[Y_AXIS]-positi
657 657
   if(block->steps_z != 0) enable_z();
658 658
 #endif
659 659
 
660
-  // Enable all
660
+  // Enable extruder(s)
661 661
   if(block->steps_e != 0)
662 662
   {
663
-    enable_e0();
664
-    enable_e1();
665
-    enable_e2(); 
663
+    if (DISABLE_INACTIVE_EXTRUDER) //enable only selected extruder
664
+    {
665
+      switch(extruder)
666
+      {
667
+        case 0: enable_e0(); disable_e1(); disable_e2(); break;
668
+        case 1: disable_e0(); enable_e1(); disable_e2(); break;
669
+        case 2: disable_e0(); disable_e1(); enable_e2(); break;
670
+      }
671
+    }
672
+    else //enable all
673
+    {
674
+      enable_e0();
675
+      enable_e1();
676
+      enable_e2(); 
677
+    }
666 678
   }
667 679
 
668 680
   if (block->steps_e == 0)

+ 1
- 1
Marlin/planner.h View File

@@ -151,7 +151,7 @@ FORCE_INLINE block_t *plan_get_current_block()
151 151
   return(block);
152 152
 }
153 153
 
154
-// Gets the current block. Returns NULL if buffer empty
154
+// Returns true if the buffer has a queued block, false otherwise
155 155
 FORCE_INLINE bool blocks_queued() 
156 156
 {
157 157
   if (block_buffer_head == block_buffer_tail) { 

Loading…
Cancel
Save