Unify AVR90USB: Pins remap to Arduino

This commit is contained in:
Scott Lahteine
2017-06-08 18:07:37 -05:00
parent b378deaf89
commit 87d8223251
8 changed files with 569 additions and 447 deletions

93
Marlin/pins_BRAINWAVE_PRO.h Normal file → Executable file
View File

@ -1,6 +1,6 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
* Copyright (C) 2017 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
@ -32,11 +32,16 @@
*
* Added pointers to currently available Arduino IDE extensions that will
* allow this board to use the latest Marlin software
*
*
* Rev C 2 JUN 2017
*
* Converted to Arduino pin numbering
*/
/**
* There are three Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software. All have been used with Arduino 1.6.12
* There are two Arduino IDE extensions that are compatible with this board
* and with the mainstream Marlin software.
*
* Teensyduino - http://www.pjrc.com/teensy/teensyduino.html
* Select Teensy++ 2.0 in Arduino IDE from the 'Tools -> Boards' menu
@ -45,8 +50,6 @@
* libraries - they are not used with the Marlin software.
*
* Printrboard - https://github.com/scwimbush/Printrboard-HID-Arduino-IDE-Support
* This is basically Teensyduino but with a bootloader that can handle image sizes
* larger than 64K.
*
* Installation:
*
@ -54,43 +57,25 @@
* click on "Download ZIP" button.
* 2. Unzip the file, find the "printrboard" directory and then copy it to the
* hardware directory in Arduino. The Arduino hardware directory will probably
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* be located in a path similar to this: C:\Program Files (x86)\Arduino\hardware.
* 3. Restart Arduino.
* 4. Select "Printrboard" from the 'Tools -> Boards' menu.
*
* Marlin_AT90USB - https://github.com/Bob-the-Kuhn/Marlin_AT90USB
* Uses the bootloader from Printerboard above.
*
* "Marlin_AT90USB" makes PWM0A available rather than the usual PWM1C. These PWMs share
* the same physical pin. Marlin uses TIMER1 to generate interrupts and sets it up such
* that PWM1A, PWM1B & PWM1C can't be used.
*
* Installation:
*
* 1. In the Arduino IDE, under Files -> Preferences paste the following URL
* https://rawgit.com/Bob-the-Kuhn/Marlin_AT90USB/master/package_MARLIN_AT90USB_index.json
* 2. Under Tools -> Board -> Boards manager, scroll to the bottom, click on MARLIN_AT90USB
* and then click on "Install"
* 3. Select "AT90USB1286_TEENSYPP" from the 'Tools -> Boards' menu.
* Teensyduino is the most popular option. Printrboard is used if your board doesn't have
* the Teensyduino bootloader on it.
*/
/**
* To burn the bootloader that comes with Printrboard and Marlin_AT90USB:
* To burn the bootloader that comes with Printrboard:
*
* 1. Connect your programmer to the board.
* 2. In the Arduino IDE select "Printrboard" or "AT90USB1286_TEENSYPP" and then select the programmer.
* 2. In the Arduino IDE select "Printrboard" and then select the programmer.
* 3. In the Arduino IDE click on "burn bootloader". Don't worry about the "verify failed at 1F000" error message.
* 4. The programmer is no longer needed. Remove it.
*/
#ifndef __AVR_AT90USB1286__
#error "Oops! Make sure you have 'Teensy++ 2.0', 'AT90USB1286_TEENSYPP', or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#include "fastio.h"
#if DISABLED(AT90USBxx_TEENSYPP_ASSIGNMENTS) // use Teensyduino Teensy++2.0 pin assignments instead of Marlin alphabetical.
#error "Uncomment '#define AT90USBxx_TEENSYPP_ASSIGNMENTS' in fastio.h for this config"
#error "Oops! Make sure you have 'Teensy++ 2.0' or 'Printrboard' selected from the 'Tools -> Boards' menu."
#endif
#define BOARD_NAME "Brainwave Pro"
@ -101,53 +86,53 @@
//
// Limit Switches
//
#define X_STOP_PIN 47
#define Y_STOP_PIN 18
#define Z_MAX_PIN 36
#define X_STOP_PIN 45 // F7
#define Y_STOP_PIN 12 // C2
#define Z_STOP_PIN 36 // E4
//
// Z Probe (when not Z_MIN_PIN)
//
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN 17
#define Z_MIN_PROBE_PIN 11 // C1
#endif
//
// Steppers
//
#define X_STEP_PIN 33
#define X_DIR_PIN 32
#define X_ENABLE_PIN 11
#define X_STEP_PIN 9 // E1
#define X_DIR_PIN 8 // E0
#define X_ENABLE_PIN 23 // B3
#define Y_STEP_PIN 31
#define Y_DIR_PIN 30
#define Y_ENABLE_PIN 8
#define Y_STEP_PIN 7 // D7
#define Y_DIR_PIN 6 // D6
#define Y_ENABLE_PIN 20 // B0
#define Z_STEP_PIN 29
#define Z_DIR_PIN 28
#define Z_ENABLE_PIN 37
#define Z_STEP_PIN 5 // D5
#define Z_DIR_PIN 4 // D4
#define Z_ENABLE_PIN 37 // E5
#define E0_STEP_PIN 35
#define E0_DIR_PIN 34
#define E0_ENABLE_PIN 13
#define E0_STEP_PIN 47 // E3
#define E0_DIR_PIN 46 // E2
#define E0_ENABLE_PIN 25 // B5
//
// Temperature Sensors
//
#define TEMP_0_PIN 2 // Analog Input
#define TEMP_1_PIN 1 // Analog Input
#define TEMP_BED_PIN 0 // Analog Input
#define TEMP_0_PIN 2 // F2 Analog Input
#define TEMP_1_PIN 1 // F1 Analog Input
#define TEMP_BED_PIN 0 // F0 Analog Input
//
// Heaters / Fans
//
#define HEATER_0_PIN 15
#define HEATER_BED_PIN 14 // Bed
#define FAN_PIN 16 // Fan, PWM
#define HEATER_0_PIN 27 // B7
#define HEATER_BED_PIN 26 // B6 Bed
#define FAN_PIN 16 // C6 Fan, PWM3A
//
// Misc. Functions
//
#define SDSS 20
#define SD_DETECT_PIN 12
#define LED_PIN 19
#define SDSS 20 // B0
#define SD_DETECT_PIN 24 // B4
#define LED_PIN 13 // C3