Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Marlin/Configuration.h
Original file line number Diff line number Diff line change
Expand Up @@ -1595,6 +1595,10 @@

// Enable for a purge/clean station that's always at the gantry height (thus no Z move)
//#define NOZZLE_CLEAN_NO_Z

// Explicit wipe G-code script applies to a G12 with no arguments.
//#define WIPE_SEQUENCE_COMMANDS "G1 X-17 Y25 Z10 F4000\nG1 Z1\nM114\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 X-17 Y25\nG1 X-17 Y95\nG1 Z15\nM400\nG0 X-10.0 Y-9.0"

#endif

/**
Expand Down
7 changes: 7 additions & 0 deletions Marlin/src/gcode/feature/clean/G12.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,13 @@ void GcodeSuite::G12() {
// Don't allow nozzle cleaning without homing first
if (axis_unhomed_error()) return;

#ifdef WIPE_SEQUENCE_COMMANDS
if (!parser.seen_any()) {
gcode.process_subcommands_now_P(PSTR(WIPE_SEQUENCE_COMMANDS));
return;
}
#endif

const uint8_t pattern = parser.ushortval('P', 0),
strokes = parser.ushortval('S', NOZZLE_CLEAN_STROKES),
objects = parser.ushortval('T', NOZZLE_CLEAN_TRIANGLES);
Expand Down
2 changes: 1 addition & 1 deletion Marlin/src/inc/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
* version was tagged.
*/
#ifndef STRING_DISTRIBUTION_DATE
#define STRING_DISTRIBUTION_DATE "2020-07-21"
#define STRING_DISTRIBUTION_DATE "2020-07-22"
#endif

/**
Expand Down
16 changes: 6 additions & 10 deletions Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@

#if ENABLED(ANYCUBIC_TFT_MODEL)

#include "Arduino.h"
#include <Arduino.h>

// this next line disables the entire HardwareSerial.cpp,
// so I can support AtTiny series and other chips without a UART
// This next line disables the entire anycubic_serial.cpp,
// to support AtTiny series and other chips without a UART
#ifdef UBRR3H

#include "anycubic_serial.h"
Expand All @@ -59,10 +59,8 @@ struct ring_buffer {
volatile unsigned int tail;
};

#ifdef UBRR3H
ring_buffer rx_buffer_ajg = { { 0 }, 0, 0 };
ring_buffer tx_buffer_ajg = { { 0 }, 0, 0 };
#endif
ring_buffer rx_buffer_ajg = { { 0 }, 0, 0 };
ring_buffer tx_buffer_ajg = { { 0 }, 0, 0 };

inline void store_char(unsigned char c, ring_buffer *buffer) {
int i = (unsigned int)(buffer->head + 1) % SERIAL_BUFFER_SIZE;
Expand Down Expand Up @@ -286,9 +284,7 @@ AnycubicSerialClass::operator bool() {

// Preinstantiate Objects //////////////////////////////////////////////////////

#ifdef UBRR3H
AnycubicSerialClass AnycubicSerial(&rx_buffer_ajg, &tx_buffer_ajg, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3);
#endif
AnycubicSerialClass AnycubicSerial(&rx_buffer_ajg, &tx_buffer_ajg, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3);

#endif // UBRR3H
#endif // ANYCUBIC_TFT_MODEL
32 changes: 17 additions & 15 deletions Marlin/src/lcd/extui/lib/anycubic/anycubic_serial.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,15 +103,15 @@ class AnycubicSerialClass : public Stream {
extern void serialEventRun(void) __attribute__((weak));

#define ANYCUBIC_SERIAL_PROTOCOL(x) (AnycubicSerial.print(x))
#define ANYCUBIC_SERIAL_PROTOCOL_F(x,y) (AnycubicSerial.print(x,y))
#define ANYCUBIC_SERIAL_PROTOCOL_F(x,y) (AnycubicSerial.print(x, y))
#define ANYCUBIC_SERIAL_PROTOCOLPGM(x) (AnycubicSerialprintPGM(PSTR(x)))
#define ANYCUBIC_SERIAL_(x) (AnycubicSerial.print(x),AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_PROTOCOLLN(x) (AnycubicSerial.print(x),AnycubicSerial.write('\r'),AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_PROTOCOLLNPGM(x) (AnycubicSerialprintPGM(PSTR(x)),AnycubicSerial.write('\r'),AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_(x) (AnycubicSerial.print(x), AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_PROTOCOLLN(x) (AnycubicSerial.print(x), AnycubicSerial.write('\r'), AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_PROTOCOLLNPGM(x) (AnycubicSerialprintPGM(PSTR(x)), AnycubicSerial.write('\r'), AnycubicSerial.write('\n'))

#define ANYCUBIC_SERIAL_START() (AnycubicSerial.write('\r'),AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_CMD_SEND(x) (AnycubicSerialprintPGM(PSTR(x)),AnycubicSerial.write('\r'),AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_ENTER() (AnycubicSerial.write('\r'),AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_START() (AnycubicSerial.write('\r'), AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_CMD_SEND(x) (AnycubicSerialprintPGM(PSTR(x)), AnycubicSerial.write('\r'), AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_ENTER() (AnycubicSerial.write('\r'), AnycubicSerial.write('\n'))
#define ANYCUBIC_SERIAL_SPACE() (AnycubicSerial.write(' '))

const char newErr[] PROGMEM = "ERR ";
Expand All @@ -130,14 +130,16 @@ const char newSucc[] PROGMEM = "OK";
#define ANYCUBIC_SERIAL_ECHOPGM(x) ANYCUBIC_SERIAL_PROTOCOLPGM(x)
#define ANYCUBIC_SERIAL_ECHO(x) ANYCUBIC_SERIAL_PROTOCOL(x)

FORCE_INLINE void AnycubicSerialprintPGM(const char *str) {
char ch = pgm_read_byte(str);
while (ch) {
AnycubicSerialClass::write(ch);
ch = pgm_read_byte(++str);
}
}

#ifdef UBRR3H

extern AnycubicSerialClass AnycubicSerial;

FORCE_INLINE void AnycubicSerialprintPGM(const char *str) {
char ch = pgm_read_byte(str);
while (ch) {
AnycubicSerial.write(ch);
ch = pgm_read_byte(++str);
}
}

#endif
28 changes: 14 additions & 14 deletions Marlin/src/lcd/language/language_es.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,21 +70,21 @@ namespace Language_es {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Desfase aplicada");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Establecer origen");
#if PREHEAT_COUNT
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Precal. $");
PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Precal. $ ~");
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Precal. $ Fusor");
PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Precal. $ Fusor ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Precal. $ Todo");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Precal. $ Cama");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Precal. $ Ajuste");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Precal. ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Precal. ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Fusor");
PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Fusor ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Todo");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Cama");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Ajuste");

PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Precal. ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Precal. ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Fusor");
PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Fusor ~");
PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Todo");
PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Cama");
PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Ajuste");
PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Precal. $");
PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Precal. $ ~");
PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Precal. $ Fusor");
PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Precal. $ Fusor ~");
PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Precal. $ Todo");
PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Precal. $ Cama");
PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Precal. $ Ajuste");
#endif
PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Precal. manual");
PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Enfriar");
Expand Down
3 changes: 2 additions & 1 deletion platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,8 @@ build_unflags = -std=gnu++11
src_filter = ${common.default_src_filter} +<src/HAL/SAMD51>
lib_deps = ${common.lib_deps}
SoftwareSerialM
Adafruit_SPIFlash=https://github.com/adafruit/Adafruit_SPIFlash/archive/master.zip
Adafruit SPIFlash
SdFat - Adafruit Fork
debug_tool = jlink

#################################
Expand Down