Merge pull request #241 from PavelSindler/slow_printer_fix

slow menus and glitches fixed: setup second serial only in farm mode
This commit is contained in:
PavelSindler 2017-10-17 11:19:37 +02:00 committed by GitHub
commit 68f9dabdf2
4 changed files with 19 additions and 17 deletions

View File

@ -96,7 +96,7 @@ void serial_echopair_P(const char *s_P, float v);
void serial_echopair_P(const char *s_P, double v);
void serial_echopair_P(const char *s_P, unsigned long v);
extern int selectedSerialPort;
extern uint8_t selectedSerialPort;
//Things to write to serial from Program memory. Saves 400 to 2k of RAM.
FORCE_INLINE void serialprintPGM(const char *str)

View File

@ -124,22 +124,24 @@ void MarlinSerial::begin(long baud)
sbi(M_UCSRxB, M_RXCIEx);
#ifndef SNMM
// set up the second serial port
if (useU2X) {
UCSR2A = 1 << U2X2;
baud_setting = (F_CPU / 4 / baud - 1) / 2;
} else {
UCSR2A = 0;
baud_setting = (F_CPU / 8 / baud - 1) / 2;
}
// assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
UBRR2H = baud_setting >> 8;
UBRR2L = baud_setting;
if (selectedSerialPort == 1) { //set up also the second serial port
if (useU2X) {
UCSR2A = 1 << U2X2;
baud_setting = (F_CPU / 4 / baud - 1) / 2;
} else {
UCSR2A = 0;
baud_setting = (F_CPU / 8 / baud - 1) / 2;
}
sbi(UCSR2B, RXEN2);
sbi(UCSR2B, TXEN2);
sbi(UCSR2B, RXCIE2);
// assign the baud_setting, a.k.a. ubbr (USART Baud Rate Register)
UBRR2H = baud_setting >> 8;
UBRR2L = baud_setting;
sbi(UCSR2B, RXEN2);
sbi(UCSR2B, TXEN2);
sbi(UCSR2B, RXCIE2);
}
#endif
}

View File

@ -73,7 +73,7 @@
// is the index of the location from which to read.
#define RX_BUFFER_SIZE 128
extern int selectedSerialPort;
extern uint8_t selectedSerialPort;
struct ring_buffer
{

View File

@ -290,7 +290,7 @@ unsigned int custom_message_type;
unsigned int custom_message_state;
char snmm_filaments_used = 0;
int selectedSerialPort;
uint8_t selectedSerialPort;
float distance_from_min[3];