mirror of
https://github.com/MarlinFirmware/Marlin.git
synced 2024-11-27 22:08:02 +00:00
This commit is contained in:
commit
6e6e3cf443
@ -49,16 +49,16 @@
|
|||||||
#include "math.h"
|
#include "math.h"
|
||||||
|
|
||||||
#ifdef BLINKM
|
#ifdef BLINKM
|
||||||
#include "BlinkM.h"
|
#include "BlinkM.h"
|
||||||
#include "Wire.h"
|
#include "Wire.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if NUM_SERVOS > 0
|
#if NUM_SERVOS > 0
|
||||||
#include "Servo.h"
|
#include "Servo.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
|
#if defined(DIGIPOTSS_PIN) && DIGIPOTSS_PIN > -1
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// look here for descriptions of G-codes: http://linuxcnc.org/handbook/gcode/g-code.html
|
// look here for descriptions of G-codes: http://linuxcnc.org/handbook/gcode/g-code.html
|
||||||
@ -138,17 +138,17 @@
|
|||||||
// M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
|
// M203 - Set maximum feedrate that your machine can sustain (M203 X200 Y200 Z300 E10000) in mm/sec
|
||||||
// M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) in mm/sec^2 also sets minimum segment time in ms (B20000) to prevent buffer under-runs and M20 minimum feedrate
|
// M204 - Set default acceleration: S normal moves T filament only moves (M204 S3000 T7000) in mm/sec^2 also sets minimum segment time in ms (B20000) to prevent buffer under-runs and M20 minimum feedrate
|
||||||
// M205 - advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
|
// M205 - advanced settings: minimum travel speed S=while printing T=travel only, B=minimum segment time X= maximum xy jerk, Z=maximum Z jerk, E=maximum E jerk
|
||||||
// M206 - set additional homing offset
|
// M206 - Set additional homing offset
|
||||||
// M207 - set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting
|
// M207 - Set retract length S[positive mm] F[feedrate mm/min] Z[additional zlift/hop], stays in mm regardless of M200 setting
|
||||||
// M208 - set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec]
|
// M208 - Set recover=unretract length S[positive mm surplus to the M207 S*] F[feedrate mm/sec]
|
||||||
// M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
|
// M209 - S<1=true/0=false> enable automatic retract detect if the slicer did not support G10/11: every normal extrude-only move will be classified as retract depending on the direction.
|
||||||
// M218 - set hotend offset (in mm): T<extruder_number> X<offset_on_X> Y<offset_on_Y>
|
// M218 - Set hotend offset (in mm): T<extruder_number> X<offset_on_X> Y<offset_on_Y>
|
||||||
// M220 S<factor in percent>- set speed factor override percentage
|
// M220 S<factor in percent>- set speed factor override percentage
|
||||||
// M221 S<factor in percent>- set extrude factor override percentage
|
// M221 S<factor in percent>- set extrude factor override percentage
|
||||||
// M226 P<pin number> S<pin state>- Wait until the specified pin reaches the state required
|
// M226 P<pin number> S<pin state>- Wait until the specified pin reaches the state required
|
||||||
// M240 - Trigger a camera to take a photograph
|
// M240 - Trigger a camera to take a photograph
|
||||||
// M250 - Set LCD contrast C<contrast value> (value 0..63)
|
// M250 - Set LCD contrast C<contrast value> (value 0..63)
|
||||||
// M280 - set servo position absolute. P: servo index, S: angle or microseconds
|
// M280 - Set servo position absolute. P: servo index, S: angle or microseconds
|
||||||
// M300 - Play beep sound S<frequency Hz> P<duration ms>
|
// M300 - Play beep sound S<frequency Hz> P<duration ms>
|
||||||
// M301 - Set PID parameters P I and D
|
// M301 - Set PID parameters P I and D
|
||||||
// M302 - Allow cold extrudes, or set the minimum extrude S<temperature>.
|
// M302 - Allow cold extrudes, or set the minimum extrude S<temperature>.
|
||||||
@ -161,14 +161,14 @@
|
|||||||
// M405 - Turn on Filament Sensor extrusion control. Optional D<delay in cm> to set delay in centimeters between sensor and extruder
|
// M405 - Turn on Filament Sensor extrusion control. Optional D<delay in cm> to set delay in centimeters between sensor and extruder
|
||||||
// M406 - Turn off Filament Sensor extrusion control
|
// M406 - Turn off Filament Sensor extrusion control
|
||||||
// M407 - Displays measured filament diameter
|
// M407 - Displays measured filament diameter
|
||||||
// M500 - stores parameters in EEPROM
|
// M500 - Store parameters in EEPROM
|
||||||
// M501 - reads parameters from EEPROM (if you need reset them after you changed them temporarily).
|
// M501 - Read parameters from EEPROM (if you need reset them after you changed them temporarily).
|
||||||
// M502 - reverts to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
|
// M502 - Revert to the default "factory settings". You still need to store them in EEPROM afterwards if you want to.
|
||||||
// M503 - print the current settings (from memory not from EEPROM). Use S0 to leave off headings.
|
// M503 - Print the current settings (from memory not from EEPROM). Use S0 to leave off headings.
|
||||||
// M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
|
// M540 - Use S[0|1] to enable or disable the stop SD card print on endstop hit (requires ABORT_ON_ENDSTOP_HIT_FEATURE_ENABLED)
|
||||||
// M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
|
// M600 - Pause for filament change X[pos] Y[pos] Z[relative lift] E[initial retract] L[later retract distance for removal]
|
||||||
// M665 - set delta configurations
|
// M665 - Set delta configurations
|
||||||
// M666 - set delta endstop adjustment
|
// M666 - Set delta endstop adjustment
|
||||||
// M605 - Set dual x-carriage movement mode: S<mode> [ X<duplication x-offset> R<duplication temp offset> ]
|
// M605 - Set dual x-carriage movement mode: S<mode> [ X<duplication x-offset> R<duplication temp offset> ]
|
||||||
// M907 - Set digital trimpot motor current using axis codes.
|
// M907 - Set digital trimpot motor current using axis codes.
|
||||||
// M908 - Control digital trimpot directly.
|
// M908 - Control digital trimpot directly.
|
||||||
@ -187,25 +187,16 @@
|
|||||||
// M928 - Start SD logging (M928 filename.g) - ended by M29
|
// M928 - Start SD logging (M928 filename.g) - ended by M29
|
||||||
// M999 - Restart after being stopped by error
|
// M999 - Restart after being stopped by error
|
||||||
|
|
||||||
//Stepper Movement Variables
|
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
//=============================imported variables============================
|
|
||||||
//===========================================================================
|
|
||||||
|
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
//=============================public variables=============================
|
|
||||||
//===========================================================================
|
|
||||||
#ifdef SDSUPPORT
|
#ifdef SDSUPPORT
|
||||||
CardReader card;
|
CardReader card;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float homing_feedrate[] = HOMING_FEEDRATE;
|
float homing_feedrate[] = HOMING_FEEDRATE;
|
||||||
bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
|
bool axis_relative_modes[] = AXIS_RELATIVE_MODES;
|
||||||
int feedmultiply=100; //100->1 200->2
|
int feedmultiply = 100; //100->1 200->2
|
||||||
int saved_feedmultiply;
|
int saved_feedmultiply;
|
||||||
int extrudemultiply=100; //100->1 200->2
|
int extrudemultiply = 100; //100->1 200->2
|
||||||
int extruder_multiply[EXTRUDERS] = {100
|
int extruder_multiply[EXTRUDERS] = { 100
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
, 100
|
, 100
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
@ -240,14 +231,14 @@ float volumetric_multiplier[EXTRUDERS] = {1.0
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0 };
|
float current_position[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0 };
|
||||||
float add_homing[3]={0,0,0};
|
float add_homing[3] = { 0, 0, 0 };
|
||||||
#ifdef DELTA
|
#ifdef DELTA
|
||||||
float endstop_adj[3]={0,0,0};
|
float endstop_adj[3] = { 0, 0, 0 };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS };
|
float min_pos[3] = { X_MIN_POS, Y_MIN_POS, Z_MIN_POS };
|
||||||
float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };
|
float max_pos[3] = { X_MAX_POS, Y_MAX_POS, Z_MAX_POS };
|
||||||
bool axis_known_position[3] = {false, false, false};
|
bool axis_known_position[3] = { false, false, false };
|
||||||
float zprobe_zoffset;
|
float zprobe_zoffset;
|
||||||
|
|
||||||
// Extruder offset
|
// Extruder offset
|
||||||
@ -258,25 +249,36 @@ float zprobe_zoffset;
|
|||||||
#define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
|
#define NUM_EXTRUDER_OFFSETS 3 // supports offsets in XYZ plane
|
||||||
#endif
|
#endif
|
||||||
float extruder_offset[NUM_EXTRUDER_OFFSETS][EXTRUDERS] = {
|
float extruder_offset[NUM_EXTRUDER_OFFSETS][EXTRUDERS] = {
|
||||||
#if defined(EXTRUDER_OFFSET_X) && defined(EXTRUDER_OFFSET_Y)
|
#if defined(EXTRUDER_OFFSET_X)
|
||||||
EXTRUDER_OFFSET_X, EXTRUDER_OFFSET_Y
|
EXTRUDER_OFFSET_X
|
||||||
#endif
|
#else
|
||||||
|
0
|
||||||
|
#endif
|
||||||
|
#if defined(EXTRUDER_OFFSET_Y)
|
||||||
|
EXTRUDER_OFFSET_Y
|
||||||
|
#else
|
||||||
|
0
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uint8_t active_extruder = 0;
|
uint8_t active_extruder = 0;
|
||||||
int fanSpeed=0;
|
int fanSpeed = 0;
|
||||||
|
|
||||||
#ifdef SERVO_ENDSTOPS
|
#ifdef SERVO_ENDSTOPS
|
||||||
int servo_endstops[] = SERVO_ENDSTOPS;
|
int servo_endstops[] = SERVO_ENDSTOPS;
|
||||||
int servo_endstop_angles[] = SERVO_ENDSTOP_ANGLES;
|
int servo_endstop_angles[] = SERVO_ENDSTOP_ANGLES;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef BARICUDA
|
#ifdef BARICUDA
|
||||||
int ValvePressure=0;
|
int ValvePressure = 0;
|
||||||
int EtoPPressure=0;
|
int EtoPPressure = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FWRETRACT
|
#ifdef FWRETRACT
|
||||||
bool autoretract_enabled=false;
|
|
||||||
bool retracted[EXTRUDERS]={false
|
bool autoretract_enabled = false;
|
||||||
|
bool retracted[EXTRUDERS] = { false
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
, false
|
, false
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
@ -287,7 +289,7 @@ int EtoPPressure=0;
|
|||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
bool retracted_swap[EXTRUDERS]={false
|
bool retracted_swap[EXTRUDERS] = { false
|
||||||
#if EXTRUDERS > 1
|
#if EXTRUDERS > 1
|
||||||
, false
|
, false
|
||||||
#if EXTRUDERS > 2
|
#if EXTRUDERS > 2
|
||||||
@ -306,38 +308,41 @@ int EtoPPressure=0;
|
|||||||
float retract_recover_length = RETRACT_RECOVER_LENGTH;
|
float retract_recover_length = RETRACT_RECOVER_LENGTH;
|
||||||
float retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
|
float retract_recover_length_swap = RETRACT_RECOVER_LENGTH_SWAP;
|
||||||
float retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE;
|
float retract_recover_feedrate = RETRACT_RECOVER_FEEDRATE;
|
||||||
|
|
||||||
#endif // FWRETRACT
|
#endif // FWRETRACT
|
||||||
|
|
||||||
#ifdef ULTIPANEL
|
#ifdef ULTIPANEL
|
||||||
#ifdef PS_DEFAULT_OFF
|
bool powersupply =
|
||||||
bool powersupply = false;
|
#ifdef PS_DEFAULT_OFF
|
||||||
#else
|
false
|
||||||
bool powersupply = true;
|
#else
|
||||||
#endif
|
true
|
||||||
|
#endif
|
||||||
|
;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef DELTA
|
#ifdef DELTA
|
||||||
float delta[3] = {0.0, 0.0, 0.0};
|
float delta[3] = { 0, 0, 0 };
|
||||||
#define SIN_60 0.8660254037844386
|
#define SIN_60 0.8660254037844386
|
||||||
#define COS_60 0.5
|
#define COS_60 0.5
|
||||||
// these are the default values, can be overriden with M665
|
// these are the default values, can be overriden with M665
|
||||||
float delta_radius= DELTA_RADIUS;
|
float delta_radius = DELTA_RADIUS;
|
||||||
float delta_tower1_x= -SIN_60*delta_radius; // front left tower
|
float delta_tower1_x = -SIN_60 * delta_radius; // front left tower
|
||||||
float delta_tower1_y= -COS_60*delta_radius;
|
float delta_tower1_y = -COS_60 * delta_radius;
|
||||||
float delta_tower2_x= SIN_60*delta_radius; // front right tower
|
float delta_tower2_x = SIN_60 * delta_radius; // front right tower
|
||||||
float delta_tower2_y= -COS_60*delta_radius;
|
float delta_tower2_y = -COS_60 * delta_radius;
|
||||||
float delta_tower3_x= 0.0; // back middle tower
|
float delta_tower3_x = 0; // back middle tower
|
||||||
float delta_tower3_y= delta_radius;
|
float delta_tower3_y = delta_radius;
|
||||||
float delta_diagonal_rod= DELTA_DIAGONAL_ROD;
|
float delta_diagonal_rod = DELTA_DIAGONAL_ROD;
|
||||||
float delta_diagonal_rod_2= sq(delta_diagonal_rod);
|
float delta_diagonal_rod_2 = sq(delta_diagonal_rod);
|
||||||
float delta_segments_per_second= DELTA_SEGMENTS_PER_SECOND;
|
float delta_segments_per_second = DELTA_SEGMENTS_PER_SECOND;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef SCARA // Build size scaling
|
#ifdef SCARA
|
||||||
float axis_scaling[3]={1,1,1}; // Build size scaling, default to 1
|
float axis_scaling[3] = { 1, 1, 1 }; // Build size scaling, default to 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool cancel_heatup = false ;
|
bool cancel_heatup = false;
|
||||||
|
|
||||||
#ifdef FILAMENT_SENSOR
|
#ifdef FILAMENT_SENSOR
|
||||||
//Variables for Filament Sensor input
|
//Variables for Filament Sensor input
|
||||||
@ -354,17 +359,14 @@ bool cancel_heatup = false ;
|
|||||||
const char errormagic[] PROGMEM = "Error:";
|
const char errormagic[] PROGMEM = "Error:";
|
||||||
const char echomagic[] PROGMEM = "echo:";
|
const char echomagic[] PROGMEM = "echo:";
|
||||||
|
|
||||||
//===========================================================================
|
|
||||||
//=============================Private Variables=============================
|
|
||||||
//===========================================================================
|
|
||||||
const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'};
|
const char axis_codes[NUM_AXIS] = {'X', 'Y', 'Z', 'E'};
|
||||||
static float destination[NUM_AXIS] = { 0.0, 0.0, 0.0, 0.0};
|
static float destination[NUM_AXIS] = { 0, 0, 0, 0 };
|
||||||
|
|
||||||
#ifndef DELTA
|
#ifndef DELTA
|
||||||
static float delta[3] = {0.0, 0.0, 0.0};
|
static float delta[3] = { 0, 0, 0 };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static float offset[3] = {0.0, 0.0, 0.0};
|
static float offset[3] = { 0, 0, 0 };
|
||||||
static bool home_all_axis = true;
|
static bool home_all_axis = true;
|
||||||
static float feedrate = 1500.0, next_feedrate, saved_feedrate;
|
static float feedrate = 1500.0, next_feedrate, saved_feedrate;
|
||||||
static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0;
|
static long gcode_N, gcode_LastN, Stopped_gcode_LastN = 0;
|
||||||
@ -376,29 +378,26 @@ static bool fromsd[BUFSIZE];
|
|||||||
static int bufindr = 0;
|
static int bufindr = 0;
|
||||||
static int bufindw = 0;
|
static int bufindw = 0;
|
||||||
static int buflen = 0;
|
static int buflen = 0;
|
||||||
//static int i = 0;
|
|
||||||
static char serial_char;
|
static char serial_char;
|
||||||
static int serial_count = 0;
|
static int serial_count = 0;
|
||||||
static boolean comment_mode = false;
|
static boolean comment_mode = false;
|
||||||
static char *strchr_pointer; // just a pointer to find chars in the command string like X, Y, Z, E, etc
|
static char *strchr_pointer; ///< A pointer to find chars in the command string (X, Y, Z, E, etc.)
|
||||||
|
|
||||||
const int sensitive_pins[] = SENSITIVE_PINS; // Sensitive pin list for M42
|
const int sensitive_pins[] = SENSITIVE_PINS; ///< Sensitive pin list for M42
|
||||||
|
|
||||||
//static float tt = 0;
|
// Inactivity shutdown
|
||||||
//static float bt = 0;
|
|
||||||
|
|
||||||
//Inactivity shutdown variables
|
|
||||||
static unsigned long previous_millis_cmd = 0;
|
static unsigned long previous_millis_cmd = 0;
|
||||||
static unsigned long max_inactive_time = 0;
|
static unsigned long max_inactive_time = 0;
|
||||||
static unsigned long stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME*1000l;
|
static unsigned long stepper_inactive_time = DEFAULT_STEPPER_DEACTIVE_TIME*1000l;
|
||||||
|
|
||||||
unsigned long starttime=0;
|
unsigned long starttime = 0; ///< Print job start time
|
||||||
unsigned long stoptime=0;
|
unsigned long stoptime = 0; ///< Print job stop time
|
||||||
|
|
||||||
static uint8_t tmp_extruder;
|
static uint8_t tmp_extruder;
|
||||||
|
|
||||||
|
|
||||||
bool Stopped=false;
|
bool Stopped = false;
|
||||||
|
|
||||||
#if NUM_SERVOS > 0
|
#if NUM_SERVOS > 0
|
||||||
Servo servos[NUM_SERVOS];
|
Servo servos[NUM_SERVOS];
|
||||||
@ -407,10 +406,9 @@ bool Stopped=false;
|
|||||||
bool CooldownNoWait = true;
|
bool CooldownNoWait = true;
|
||||||
bool target_direction;
|
bool target_direction;
|
||||||
|
|
||||||
//Insert variables if CHDK is defined
|
|
||||||
#ifdef CHDK
|
#ifdef CHDK
|
||||||
unsigned long chdkHigh = 0;
|
unsigned long chdkHigh = 0;
|
||||||
boolean chdkActive = false;
|
boolean chdkActive = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//===========================================================================
|
//===========================================================================
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#define BOARD_ELEFU_3 21 // Elefu Ra Board (v3)
|
#define BOARD_ELEFU_3 21 // Elefu Ra Board (v3)
|
||||||
#define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board
|
#define BOARD_5DPRINT 88 // 5DPrint D8 Driver Board
|
||||||
#define BOARD_LEAPFROG 999 // Leapfrog
|
#define BOARD_LEAPFROG 999 // Leapfrog
|
||||||
#define BOARD_WITBOX 41 // bq WITBOX
|
#define BOARD_WITBOX 41 // bq WITBOX
|
||||||
|
|
||||||
#define BOARD_99 99 // This is in pins.h but...?
|
#define BOARD_99 99 // This is in pins.h but...?
|
||||||
|
|
||||||
|
@ -164,7 +164,7 @@
|
|||||||
|
|
||||||
// LCD Menu Messages
|
// LCD Menu Messages
|
||||||
|
|
||||||
#define STR_Ae "Ae" // no charset we know now. Will be overruled when we know.
|
#define STR_Ae "Ae" // No charset known now. Default will be overruled when we know.
|
||||||
#define STR_ae "ae"
|
#define STR_ae "ae"
|
||||||
#define STR_Oe "Oe"
|
#define STR_Oe "Oe"
|
||||||
#define STR_oe "oe"
|
#define STR_oe "oe"
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ifndef ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H
|
#ifndef ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H
|
||||||
#define ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H
|
#define ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of the LCD display routines for a Hitachi HD44780 display. These are common LCD character displays.
|
* Implementation of the LCD display routines for a Hitachi HD44780 display. These are common LCD character displays.
|
||||||
@ -7,9 +7,9 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
#ifndef REPRAPWORLD_KEYPAD
|
#ifndef REPRAPWORLD_KEYPAD
|
||||||
extern volatile uint8_t buttons; //the last checked buttons in a bit array.
|
extern volatile uint8_t buttons; //the last checked buttons in a bit array.
|
||||||
#else
|
#else
|
||||||
extern volatile uint16_t buttons; //an extended version of the last checked buttons in a bit array.
|
extern volatile uint16_t buttons; //an extended version of the last checked buttons in a bit array.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
////////////////////////////////////
|
////////////////////////////////////
|
||||||
@ -903,4 +903,4 @@ static uint8_t lcd_implementation_read_slow_buttons()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif//ULTRA_LCD_IMPLEMENTATION_HITACHI_HD44780_H
|
#endif //__ULTRALCD_IMPLEMENTATION_HITACHI_HD44780_H
|
||||||
|
Loading…
Reference in New Issue
Block a user