Merge pull request #329 from jcrocholl/Marlin_v1

Add Printrboard and Brainwave to pins.h and fastio.h
This commit is contained in:
daid 2012-12-09 14:29:26 -08:00
commit b3ddbcee2a
7 changed files with 123 additions and 44 deletions

View file

@ -37,6 +37,8 @@
// 7 = Ultimaker
// 71 = Ultimaker (Older electronics. Pre 1.5.4. This is rare)
// 8 = Teensylu
// 81 = Printrboard (AT90USB1286)
// 82 = Brainwave (AT90USB646)
// 9 = Gen3+
// 70 = Megatronics
// 90 = Alpha OMCA board

View file

@ -4,8 +4,6 @@
#ifndef MARLIN_H
#define MARLIN_H
#define HardwareSerial_h // trick to disable the standard HWserial
#define FORCE_INLINE __attribute__((always_inline)) inline
#include <math.h>
@ -24,6 +22,10 @@
#include "Configuration.h"
#include "pins.h"
#ifndef AT90USB
#define HardwareSerial_h // trick to disable the standard HWserial
#endif
#if ARDUINO >= 100
#if defined(__AVR_ATmega644P__)
#include "WProgram.h"
@ -45,7 +47,7 @@
#include "WString.h"
#if MOTHERBOARD == 8 // Teensylu
#ifdef AT90USB
#define MYSERIAL Serial
#else
#define MYSERIAL MSerial
@ -179,7 +181,7 @@ void setPwmFrequency(uint8_t pin, int val);
extern float homing_feedrate[];
extern bool axis_relative_modes[];
extern int feedmultiply;
extern int feedmultiply;
extern bool feedmultiplychanged;
extern int extrudemultiply; // Sets extrude multiply factor (in percent)
extern float current_position[NUM_AXIS] ;

View file

@ -23,7 +23,7 @@
#include "Marlin.h"
#include "MarlinSerial.h"
#if MOTHERBOARD != 8 // !teensylu
#ifndef AT90USB
// this next line disables the entire HardwareSerial.cpp,
// this is so I can support Attiny series and any other chip without a uart
#if defined(UBRRH) || defined(UBRR0H) || defined(UBRR1H) || defined(UBRR2H) || defined(UBRR3H)
@ -319,5 +319,4 @@ void MarlinSerial::printFloat(double number, uint8_t digits)
MarlinSerial MSerial;
#endif // whole file
#endif //teensylu
#endif // !AT90USB

View file

@ -65,7 +65,7 @@
#define BYTE 0
#if MOTHERBOARD != 8 // ! teensylu
#ifndef AT90USB
// Define constants and variables for buffering incoming serial data. We're
// using a ring buffer (I think), in which rx_buffer_head is the index of the
// location to which to write the next incoming character and rx_buffer_tail
@ -179,6 +179,6 @@ class MarlinSerial //: public Stream
};
extern MarlinSerial MSerial;
#endif // ! teensylu
#endif // !AT90USB
#endif

View file

@ -1928,7 +1928,7 @@ pins
#endif
#if defined (__AVR_AT90USB1287__) || defined (__AVR_AT90USB1286__)
#if defined (__AVR_AT90USB1287__) || defined (__AVR_AT90USB1286__) || defined (__AVR_AT90USB646__) || defined(__AVR_AT90USB647__)
// SPI
#define SCK DIO9
#define MISO DIO11

View file

@ -957,64 +957,140 @@
#endif
/****************************************************************************************
* Teensylu 0.7 pin assingments (ATMEGA90USB)
* Requires the Teensyduino software with Teensy2.0++ selected in arduino IDE!
* Teensylu 0.7 / Printrboard pin assignments (AT90USB1286)
* Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
http://www.pjrc.com/teensy/teensyduino.html
* See http://reprap.org/wiki/Printrboard for more info
****************************************************************************************/
#if MOTHERBOARD == 8
#define MOTHERBOARD 8
#if MOTHERBOARD == 8 || MOTHERBOARD == 81
#define KNOWN_BOARD 1
#define AT90USB 1286 // Disable MarlinSerial etc.
#ifndef __AVR_AT90USB1286__
#error Oops! Make sure you have 'Teensy++ 2.0' selected from the 'Tools -> Boards' menu.
#endif
#define X_STEP_PIN 0
#define X_DIR_PIN 1
#define X_ENABLE_PIN 39
#define X_MIN_PIN 13
#define X_MAX_PIN -1
#define X_STEP_PIN 0
#define X_DIR_PIN 1
#define X_ENABLE_PIN 39
#define X_MIN_PIN 13
#define X_MAX_PIN -1
#define Y_STEP_PIN 2
#define Y_DIR_PIN 3
#define Y_ENABLE_PIN 38
#define Y_MIN_PIN 14
#define Y_MAX_PIN -1
#define Y_STEP_PIN 2
#define Y_DIR_PIN 3
#define Y_ENABLE_PIN 38
#define Y_MIN_PIN 14
#define Y_MAX_PIN -1
#define Z_STEP_PIN 4
#define Z_DIR_PIN 5
#define Z_ENABLE_PIN 23
#define Z_MIN_PIN 15
#define Z_MAX_PIN -1
#define E0_STEP_PIN 6
#define E0_DIR_PIN 7
#define E0_ENABLE_PIN 19
#define Z_DIR_PIN 5
#define Z_ENABLE_PIN 23
#define Z_MIN_PIN 15
#define Z_MAX_PIN -1
#define E0_STEP_PIN 6
#define E0_DIR_PIN 7
#define E0_ENABLE_PIN 19
#define HEATER_0_PIN 21 // Extruder
#define HEATER_1_PIN -1
#define HEATER_2_PIN -1
#define HEATER_BED_PIN 20 // Bed
#define FAN_PIN 22 // Fan
#define FAN_PIN 22 // Fan
#if MOTHERBOARD == 8
#define TEMP_0_PIN 7 // Extruder / Analog pin numbering
#define TEMP_BED_PIN 6 // Bed / Analog pin numbering
#else
#define TEMP_0_PIN 1 // Extruder / Analog pin numbering
#define TEMP_BED_PIN 0 // Bed / Analog pin numbering
#endif
#define TEMP_0_PIN 7 // Extruder
#define TEMP_1_PIN -1
#define TEMP_2_PIN -1
#define TEMP_BED_PIN 6 // Bed
#define SDPOWER -1
#define SDSS 8
#define LED_PIN -1
#define PS_ON_PIN -1
#define KILL_PIN -1
#define KILL_PIN -1
#define ALARM_PIN -1
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 9
#define MISO_PIN 11
#define MOSI_PIN 10
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 9
#define MISO_PIN 11
#define MOSI_PIN 10
#endif
#endif // MOTHERBOARD == 8 (Teensylu) or 81 (Printrboard)
/****************************************************************************************
* Brainwave 1.0 pin assignments (AT90USB646)
* Requires hardware bundle for Arduino:
https://github.com/unrepentantgeek/brainwave-arduino
****************************************************************************************/
#if MOTHERBOARD == 82
#define KNOWN_BOARD 1
#define AT90USB 646 // Disable MarlinSerial etc.
#ifndef __AVR_AT90USB646__
#error Oops! Make sure you have 'Brainwave' selected from the 'Tools -> Boards' menu.
#endif
#define X_STEP_PIN 27
#define X_DIR_PIN 29
#define X_ENABLE_PIN 28
#define X_MIN_PIN 7
#define X_MAX_PIN -1
#define X_ATT_PIN 26
#define Y_STEP_PIN 31
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 32
#define Y_MIN_PIN 6
#define Y_MAX_PIN -1
#define Y_ATT_PIN 30
#define Z_STEP_PIN 17
#define Z_DIR_PIN 19
#define Z_ENABLE_PIN 18
#define Z_MIN_PIN 5
#define Z_MAX_PIN -1
#define Z_ATT_PIN 16
#define E0_STEP_PIN 21
#define E0_DIR_PIN 23
#define E0_ENABLE_PIN 22
#define E0_ATT_PIN 20
#define HEATER_0_PIN 4 // Extruder
#define HEATER_1_PIN -1
#define HEATER_2_PIN -1
#define HEATER_BED_PIN 38 // Bed
#define FAN_PIN 3 // Fan
#define TEMP_0_PIN 7 // Extruder / Analog pin numbering
#define TEMP_1_PIN -1
#define TEMP_2_PIN -1
#define TEMP_BED_PIN 6 // Bed / Analog pin numbering
#define SDPOWER -1
#define SDSS -1
#define LED_PIN 39
#define PS_ON_PIN -1
#define KILL_PIN -1
#define ALARM_PIN -1
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 9
#define MISO_PIN 11
#define MOSI_PIN 10
#endif
#endif // MOTHERBOARD == 82 (Brainwave)
/****************************************************************************************
* Gen3+ pin assignment
*

View file

@ -478,10 +478,10 @@ ISR(TIMER1_COMPA_vect)
for(int8_t i=0; i < step_loops; i++) { // Take multiple steps per interrupt (For high speed moves)
#if MOTHERBOARD != 8 // !teensylu
#ifndef AT90USB
MSerial.checkRx(); // Check for serial chars.
#endif
#endif
#ifdef ADVANCE
counter_e += current_block->steps_e;
if (counter_e > 0) {