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, double v);
void serial_echopair_P(const char *s_P, unsigned long 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. //Things to write to serial from Program memory. Saves 400 to 2k of RAM.
FORCE_INLINE void serialprintPGM(const char *str) FORCE_INLINE void serialprintPGM(const char *str)

View File

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

View File

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

View File

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