Merge pull request #640 from fmalpartida/SAV-MkI
Added support for BT on AT90USB devices, corrected LCD bug, added new board and LCD
This commit is contained in:
commit
59b96e323e
9 changed files with 155 additions and 18 deletions
|
@ -23,9 +23,13 @@
|
|||
// Serial port 0 is still used by the Arduino bootloader regardless of this setting.
|
||||
#define SERIAL_PORT 0
|
||||
|
||||
// This determines the communication speed of the printer
|
||||
// This determines the communication speed of the printer
|
||||
#define BAUDRATE 250000
|
||||
//#define BAUDRATE 115200
|
||||
|
||||
// This enables the serial port associated to the Bluetooth interface
|
||||
//#define BTENABLED // Enable BT interface on AT90USB devices
|
||||
|
||||
|
||||
//// The following define selects which electronics board you have. Please choose the one that matches your setup
|
||||
// 10 = Gen7 custom (Alfons3 Version) "https://github.com/Alfons3/Generation_7_Electronics"
|
||||
|
@ -54,6 +58,7 @@
|
|||
// 80 = Rumba
|
||||
// 81 = Printrboard (AT90USB1286)
|
||||
// 82 = Brainwave (AT90USB646)
|
||||
// 83 = SAV Mk-I (AT90USB1286)
|
||||
// 9 = Gen3+
|
||||
// 70 = Megatronics
|
||||
// 701= Megatronics v2.0
|
||||
|
@ -64,7 +69,7 @@
|
|||
// 21 = Elefu Ra Board (v3)
|
||||
|
||||
#ifndef MOTHERBOARD
|
||||
#define MOTHERBOARD 7
|
||||
//#define MOTHERBOARD 7
|
||||
#endif
|
||||
|
||||
// Define this to set a custom name for your generic Mendel,
|
||||
|
@ -514,6 +519,17 @@ const bool Z_MAX_ENDSTOP_INVERTING = true; // set to true to invert the logic of
|
|||
#define ULTIPANEL
|
||||
#endif
|
||||
|
||||
// Shift register panels
|
||||
// ---------------------
|
||||
// 2 wire Non-latching LCD SR from:
|
||||
// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
|
||||
//#define SR_LCD
|
||||
#ifdef SR_LCD
|
||||
#define SR_LCD_2W_NL // Non latching 2 wire shiftregister
|
||||
//#define NEWPANEL
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef ULTIPANEL
|
||||
// #define NEWPANEL //enable this if you have a click-encoder panel
|
||||
#define SDSUPPORT
|
||||
|
|
|
@ -34,6 +34,10 @@
|
|||
# define analogInputToDigitalPin(p) ((p) + A0)
|
||||
#endif
|
||||
|
||||
#ifdef AT90USB
|
||||
#include "HardwareSerial.h"
|
||||
#endif
|
||||
|
||||
#include "MarlinSerial.h"
|
||||
|
||||
#ifndef cbi
|
||||
|
@ -46,9 +50,11 @@
|
|||
#include "WString.h"
|
||||
|
||||
#ifdef AT90USB
|
||||
#ifdef BTENABLED
|
||||
#define MYSERIAL bt
|
||||
#else
|
||||
#define MYSERIAL Serial
|
||||
#else
|
||||
#define MYSERIAL MSerial
|
||||
#endif // BTENABLED
|
||||
#endif
|
||||
|
||||
#define SERIAL_PROTOCOL(x) (MYSERIAL.print(x))
|
||||
|
|
|
@ -320,3 +320,9 @@ MarlinSerial MSerial;
|
|||
|
||||
#endif // whole file
|
||||
#endif // !AT90USB
|
||||
|
||||
// For AT90USB targets use the UART for BT interfacing
|
||||
#if defined(AT90USB) && defined (BTENABLED)
|
||||
HardwareSerial bt;
|
||||
#endif
|
||||
|
||||
|
|
|
@ -181,4 +181,9 @@ class MarlinSerial //: public Stream
|
|||
extern MarlinSerial MSerial;
|
||||
#endif // !AT90USB
|
||||
|
||||
// Use the UART for BT in AT90USB configurations
|
||||
#if defined(AT90USB) && defined (BTENABLED)
|
||||
extern HardwareSerial bt;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1549,6 +1549,92 @@
|
|||
|
||||
#endif // MOTHERBOARD == 82 (Brainwave)
|
||||
|
||||
//
|
||||
// SAV Mk-I
|
||||
// -----------------------------------------------------------------------------------
|
||||
/****************************************************************************************
|
||||
* SAV MkI pin assignments (AT90USB1286)
|
||||
* Requires the Teensyduino software with Teensy++ 2.0 selected in Arduino IDE!
|
||||
http://www.pjrc.com/teensy/teensyduino.html
|
||||
RepRap Clone Wars project board.
|
||||
****************************************************************************************/
|
||||
#if MOTHERBOARD == 83 // SAV Mk-I
|
||||
#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 LARGE_FLASH true
|
||||
|
||||
|
||||
#define X_STEP_PIN 0
|
||||
#define X_DIR_PIN 1
|
||||
#define X_ENABLE_PIN 39
|
||||
|
||||
#define Y_STEP_PIN 2
|
||||
#define Y_DIR_PIN 3
|
||||
#define Y_ENABLE_PIN 38
|
||||
|
||||
#define Z_STEP_PIN 4
|
||||
#define Z_DIR_PIN 5
|
||||
#define Z_ENABLE_PIN 23
|
||||
|
||||
#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 16 // Fan -- from Teensyduino environment.
|
||||
// For the fan and Teensyduino uses a different pin mapping.
|
||||
|
||||
#define X_STOP_PIN 13
|
||||
#define Y_STOP_PIN 14
|
||||
#define Z_STOP_PIN 15
|
||||
#define TEMP_0_PIN 7 // Extruder / Analog pin numbering
|
||||
#define TEMP_BED_PIN 6 // Bed / Analog pin numbering
|
||||
|
||||
#define TEMP_1_PIN -1
|
||||
#define TEMP_2_PIN -1
|
||||
|
||||
#define SDPOWER -1
|
||||
#define SDSS 20 // PB0 - 8 in marlin env.
|
||||
#define LED_PIN -1
|
||||
#define PS_ON_PIN -1
|
||||
#define KILL_PIN -1
|
||||
#define ALARM_PIN -1
|
||||
#define SDCARDDETECT -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
|
||||
|
||||
#define BEEPER -1
|
||||
#define LCD_PINS_RS -1
|
||||
#define LCD_PINS_ENABLE -1
|
||||
#define LCD_PINS_D4 -1
|
||||
#define LCD_PINS_D5 -1
|
||||
#define LCD_PINS_D6 -1
|
||||
#define LCD_PINS_D7 -1
|
||||
#define BTN_EN1 -1
|
||||
#define BTN_EN2 -1
|
||||
#define BTN_ENC -1
|
||||
|
||||
// For LCD SHIFT register LCD
|
||||
#define SR_DATA_PIN 0
|
||||
#define SR_CLK_PIN 1
|
||||
|
||||
#endif // MOTHERBOARD == 83
|
||||
|
||||
|
||||
/****************************************************************************************
|
||||
* Gen3+ pin assignment
|
||||
*
|
||||
|
|
|
@ -19,7 +19,10 @@ int absPreheatHotendTemp;
|
|||
int absPreheatHPBTemp;
|
||||
int absPreheatFanSpeed;
|
||||
|
||||
#ifdef ULTIPANEL
|
||||
static float manual_feedrate[] = MANUAL_FEEDRATE;
|
||||
#endif // ULTIPANEL
|
||||
|
||||
/* !Configuration settings */
|
||||
|
||||
//Function pointer to menu functions.
|
||||
|
@ -992,6 +995,10 @@ void lcd_init()
|
|||
WRITE(SHIFT_LD,HIGH);
|
||||
#endif
|
||||
#else
|
||||
#ifdef SR_LCD_2W_NL
|
||||
pinMode (SR_DATA_PIN, OUTPUT);
|
||||
pinMode (SR_CLK_PIN, OUTPUT);
|
||||
#else
|
||||
pinMode(SHIFT_CLK,OUTPUT);
|
||||
pinMode(SHIFT_LD,OUTPUT);
|
||||
pinMode(SHIFT_EN,OUTPUT);
|
||||
|
@ -999,7 +1006,9 @@ void lcd_init()
|
|||
WRITE(SHIFT_OUT,HIGH);
|
||||
WRITE(SHIFT_LD,HIGH);
|
||||
WRITE(SHIFT_EN,LOW);
|
||||
#endif // SR_LCD_2W_NL
|
||||
#endif//!NEWPANEL
|
||||
|
||||
#if (SDCARDDETECT > 0)
|
||||
WRITE(SDCARDDETECT, HIGH);
|
||||
lcd_oldcardstatus = IS_SD_INSERTED;
|
||||
|
|
|
@ -179,6 +179,15 @@ extern volatile uint16_t buttons; //an extended version of the last checked but
|
|||
#define LCD_CLASS LiquidCrystal_I2C
|
||||
LCD_CLASS lcd(LCD_I2C_ADDRESS, LCD_WIDTH, LCD_HEIGHT);
|
||||
|
||||
// 2 wire Non-latching LCD SR from:
|
||||
// https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/schematics#!shiftregister-connection
|
||||
#elif defined(SR_LCD_2W_NL)
|
||||
|
||||
#include <LCD.h>
|
||||
#include <LiquidCrystal_SR.h>
|
||||
#define LCD_CLASS LiquidCrystal_SR
|
||||
LCD_CLASS lcd(SR_DATA_PIN, SR_CLK_PIN);
|
||||
|
||||
#else
|
||||
// Standard directly connected LCD implementations
|
||||
#if LANGUAGE_CHOICE == 6
|
||||
|
|
Reference in a new issue