Commit 87fed024 authored by MagoKimbra's avatar MagoKimbra

Add VIKI LCD + TOSHIBA DRIVERS + add menu Estep

parent facb3cd8
......@@ -402,6 +402,9 @@
// http://reprap.org/wiki/RAMPS_1.3/1.4_GADGETS3D_Shield_with_Panel
//#define G3D_PANEL
// VIKI LCD install LiquidTWI2 http://blog.lincomatic.com/?tag=liquidtwi2
//#define PANUCATT_VIKI
// The RepRapDiscount FULL GRAPHIC Smart Controller (quadratic white PCB)
// http://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller
//
......@@ -449,6 +452,12 @@
#define LCD_I2C_ADDRESS 0x27 // I2C Address of the port expander
#endif
#ifdef PANUCATT_VIKI
#define ULTIPANEL
#define NEWPANEL
#define MCP23017_LCD // Adafruit RGB LCD compatibles
#endif
//I2C PANELS
//#define LCD_I2C_SAINSMART_YWROBOT
......
......@@ -78,7 +78,7 @@
#define EXTRUDER_0_AUTO_FAN_PIN -1
#define EXTRUDER_1_AUTO_FAN_PIN -1
#define EXTRUDER_2_AUTO_FAN_PIN -1
#define EXTRUDER_AUTO_FAN_TEMPERATURE 150
#define EXTRUDER_AUTO_FAN_TEMPERATURE 50
#define EXTRUDER_AUTO_FAN_SPEED 255 // == full speed
......@@ -223,9 +223,11 @@
//#define QUICK_HOME //if this is defined, if both x and y are to be homed, a diagonal move will be performed initially.
#define AXIS_RELATIVE_MODES {false, false, false, false}
#ifdef CONFIG_STEPPERS_TOSHIBA
#define MAX_STEP_FREQUENCY 10000 // Max step frequency for Toshiba Stepper Controllers
#else
#define MAX_STEP_FREQUENCY 40000 // Max step frequency for Ultimaker (5000 pps / half step)
#endif
//By default pololu step drivers require an active high signal. However, some high power drivers require an active low signal as step.
#define INVERT_X_STEP_PIN false
#define INVERT_Y_STEP_PIN false
......
......@@ -38,6 +38,11 @@
#include "HardwareSerial.h"
#endif
#ifdef MCP23017_LCD
#include <Wire.h>
#include <LiquidTWI2.h>
#endif
#include "MarlinSerial.h"
#ifndef cbi
......
......@@ -239,7 +239,10 @@
#define MSG_XSTEPS "Xsteps/mm"
#define MSG_YSTEPS "Ysteps/mm"
#define MSG_ZSTEPS "Zsteps/mm"
#define MSG_ESTEPS "Esteps/mm"
#define MSG_E0STEPS "E0steps/mm"
#define MSG_E1STEPS "E1steps/mm"
#define MSG_E2STEPS "E2steps/mm"
#define MSG_E3STEPS "E3steps/mm"
#define MSG_RECTRACT "Rectract"
#define MSG_TEMPERATURE "Temperature"
#define MSG_MOTION "Motion"
......@@ -1062,7 +1065,10 @@
#define MSG_XSTEPS "Xpassi/mm"
#define MSG_YSTEPS "Ypassi/mm"
#define MSG_ZSTEPS "Zpassi/mm"
#define MSG_ESTEPS "Epassi/mm"
#define MSG_E0STEPS "E0steps/mm"
#define MSG_E1STEPS "E1steps/mm"
#define MSG_E2STEPS "E2steps/mm"
#define MSG_E3STEPS "E3steps/mm"
#define MSG_RECTRACT "Ritrai"
#define MSG_TEMPERATURE "Temperatura"
#define MSG_MOTION "Movimento"
......
......@@ -632,6 +632,58 @@ ISR(TIMER1_COMPA_vect)
#endif //ADVANCE
counter_x += current_block->steps_x;
#ifdef CONFIG_STEPPERS_TOSHIBA
/* The toshiba stepper controller require much longer pulses
* tjerfore we 'stage' decompose the pulses between high, and
* low instead of doing each in turn. The extra tests add enough
* lag to allow it work with without needing NOPs */
if (counter_x > 0) {
WRITE(X_STEP_PIN, HIGH);
}
counter_y += current_block->steps_y;
if (counter_y > 0) {
WRITE(Y_STEP_PIN, HIGH);
}
counter_z += current_block->steps_z;
if (counter_z > 0) {
WRITE(Z_STEP_PIN, HIGH);
}
#ifndef ADVANCE
counter_e += current_block->steps_e;
if (counter_e > 0) {
WRITE_E_STEP(HIGH);
}
#endif //!ADVANCE
if (counter_x > 0) {
counter_x -= current_block->step_event_count;
count_position[X_AXIS]+=count_direction[X_AXIS];
WRITE(X_STEP_PIN, LOW);
}
if (counter_y > 0) {
counter_y -= current_block->step_event_count;
count_position[Y_AXIS]+=count_direction[Y_AXIS];
WRITE(Y_STEP_PIN, LOW);
}
if (counter_z > 0) {
counter_z -= current_block->step_event_count;
count_position[Z_AXIS]+=count_direction[Z_AXIS];
WRITE(Z_STEP_PIN, LOW);
}
#ifndef ADVANCE
if (counter_e > 0) {
counter_e -= current_block->step_event_count;
count_position[E_AXIS]+=count_direction[E_AXIS];
WRITE_E_STEP(LOW);
}
#endif //!ADVANCE
#else
if (counter_x > 0) {
#ifdef DUAL_X_CARRIAGE
if (extruder_duplication_enabled){
......@@ -708,6 +760,7 @@ ISR(TIMER1_COMPA_vect)
WRITE_E_STEP(INVERT_E_STEP_PIN);
}
#endif //!ADVANCE
#endif // CONFIG_STEPPERS_TOSHIBA
step_events_completed += 1;
if(step_events_completed >= current_block->step_event_count) break;
}
......
......@@ -1118,7 +1118,16 @@ static void lcd_control_motion_menu()
MENU_ITEM_EDIT(float52, MSG_XSTEPS, &axis_steps_per_unit[X_AXIS], 5, 9999);
MENU_ITEM_EDIT(float52, MSG_YSTEPS, &axis_steps_per_unit[Y_AXIS], 5, 9999);
MENU_ITEM_EDIT(float51, MSG_ZSTEPS, &axis_steps_per_unit[Z_AXIS], 5, 9999);
MENU_ITEM_EDIT(float51, MSG_ESTEPS, &axis_steps_per_unit[active_extruder+3], 5, 9999);
MENU_ITEM_EDIT(float51, MSG_E0STEPS, &axis_steps_per_unit[3], 5, 9999);
#if EXTRUDERS > 1
MENU_ITEM_EDIT(float51, MSG_E1STEPS, &axis_steps_per_unit[4], 5, 9999);
#endif
#if EXTRUDERS > 2
MENU_ITEM_EDIT(float51, MSG_E2STEPS, &axis_steps_per_unit[5], 5, 9999);
#endif
#if EXTRUDERS > 3
MENU_ITEM_EDIT(float51, MSG_E3STEPS, &axis_steps_per_unit[6], 5, 9999);
#endif
#ifdef ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED
MENU_ITEM_EDIT(bool, MSG_ENDSTOP_ABORT, &abort_on_endstop_hit);
#endif
......
......@@ -16,6 +16,9 @@
extern int lcd_contrast;
void lcd_setcontrast(uint8_t value);
#endif
#ifdef MCP23017_LCD
extern LiquidTWI2 lcd;
#endif
static unsigned char blink = 0; // Variable for visualization of fan rotation in GLCD
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment