|  | @@ -90,14 +90,13 @@ class MarlinSerial //: public Stream
 | 
												
													
														
															|  |  {
 |  |  {
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |    public:
 |  |    public:
 | 
												
													
														
															|  | -    MarlinSerial();
 |  | 
 | 
												
													
														
															|  | -    void begin(long);
 |  | 
 | 
												
													
														
															|  | -    void end();
 |  | 
 | 
												
													
														
															|  | -    int peek(void);
 |  | 
 | 
												
													
														
															|  | -    int read(void);
 |  | 
 | 
												
													
														
															|  | -    void flush(void);
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static void begin(long);
 | 
												
													
														
															|  | 
 |  | +    static void end();
 | 
												
													
														
															|  | 
 |  | +    static int peek(void);
 | 
												
													
														
															|  | 
 |  | +    static int read(void);
 | 
												
													
														
															|  | 
 |  | +    static void flush(void);
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  | -    FORCE_INLINE int available(void)
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static FORCE_INLINE int available(void)
 | 
												
													
														
															|  |      {
 |  |      {
 | 
												
													
														
															|  |        return (unsigned int)(RX_BUFFER_SIZE + rx_buffer.head - rx_buffer.tail) % RX_BUFFER_SIZE;
 |  |        return (unsigned int)(RX_BUFFER_SIZE + rx_buffer.head - rx_buffer.tail) % RX_BUFFER_SIZE;
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
											
												
													
														
															|  | @@ -110,7 +109,7 @@ class MarlinSerial //: public Stream
 | 
												
													
														
															|  |        M_UDRx = c;
 |  |        M_UDRx = c;
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |      */
 |  |      */
 | 
												
													
														
															|  | -	void write(uint8_t c)
 |  | 
 | 
												
													
														
															|  | 
 |  | +	static void write(uint8_t c)
 | 
												
													
														
															|  |  	{
 |  |  	{
 | 
												
													
														
															|  |  		if (selectedSerialPort == 0)
 |  |  		if (selectedSerialPort == 0)
 | 
												
													
														
															|  |  		{
 |  |  		{
 | 
												
											
												
													
														
															|  | @@ -124,7 +123,7 @@ class MarlinSerial //: public Stream
 | 
												
													
														
															|  |  		}
 |  |  		}
 | 
												
													
														
															|  |  	}
 |  |  	}
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  | -    void checkRx(void)
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static void checkRx(void)
 | 
												
													
														
															|  |      {
 |  |      {
 | 
												
													
														
															|  |          if (selectedSerialPort == 0) {
 |  |          if (selectedSerialPort == 0) {
 | 
												
													
														
															|  |              if((M_UCSRxA & (1<<M_RXCx)) != 0) {
 |  |              if((M_UCSRxA & (1<<M_RXCx)) != 0) {
 | 
												
											
												
													
														
															|  | @@ -150,7 +149,7 @@ class MarlinSerial //: public Stream
 | 
												
													
														
															|  |  #endif //DEBUG_DUMP_TO_2ND_SERIAL
 |  |  #endif //DEBUG_DUMP_TO_2ND_SERIAL
 | 
												
													
														
															|  |                  }
 |  |                  }
 | 
												
													
														
															|  |              }
 |  |              }
 | 
												
													
														
															|  | -        } else if(selectedSerialPort == 1) {
 |  | 
 | 
												
													
														
															|  | 
 |  | +        } else { // if(selectedSerialPort == 1) {
 | 
												
													
														
															|  |              if((UCSR1A & (1<<RXC1)) != 0) {
 |  |              if((UCSR1A & (1<<RXC1)) != 0) {
 | 
												
													
														
															|  |                  // Test for a framing error.
 |  |                  // Test for a framing error.
 | 
												
													
														
															|  |                  if (UCSR1A & (1<<FE1)) {
 |  |                  if (UCSR1A & (1<<FE1)) {
 | 
												
											
												
													
														
															|  | @@ -179,54 +178,54 @@ class MarlinSerial //: public Stream
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  |      private:
 |  |      private:
 | 
												
													
														
															|  | -    void printNumber(unsigned long, uint8_t);
 |  | 
 | 
												
													
														
															|  | -    void printFloat(double, uint8_t);
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static void printNumber(unsigned long, uint8_t);
 | 
												
													
														
															|  | 
 |  | +    static void printFloat(double, uint8_t);
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  |    public:
 |  |    public:
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  | -    FORCE_INLINE void write(const char *str)
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static FORCE_INLINE void write(const char *str)
 | 
												
													
														
															|  |      {
 |  |      {
 | 
												
													
														
															|  |        while (*str)
 |  |        while (*str)
 | 
												
													
														
															|  |          write(*str++);
 |  |          write(*str++);
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -    FORCE_INLINE void write(const uint8_t *buffer, size_t size)
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static FORCE_INLINE void write(const uint8_t *buffer, size_t size)
 | 
												
													
														
															|  |      {
 |  |      {
 | 
												
													
														
															|  |        while (size--)
 |  |        while (size--)
 | 
												
													
														
															|  |          write(*buffer++);
 |  |          write(*buffer++);
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -    FORCE_INLINE void print(const String &s)
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static FORCE_INLINE void print(const String &s)
 | 
												
													
														
															|  |      {
 |  |      {
 | 
												
													
														
															|  |        for (int i = 0; i < (int)s.length(); i++) {
 |  |        for (int i = 0; i < (int)s.length(); i++) {
 | 
												
													
														
															|  |          write(s[i]);
 |  |          write(s[i]);
 | 
												
													
														
															|  |        }
 |  |        }
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  |      
 |  |      
 | 
												
													
														
															|  | -    FORCE_INLINE void print(const char *str)
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static FORCE_INLINE void print(const char *str)
 | 
												
													
														
															|  |      {
 |  |      {
 | 
												
													
														
															|  |        write(str);
 |  |        write(str);
 | 
												
													
														
															|  |      }
 |  |      }
 | 
												
													
														
															|  | -    void print(char, int = BYTE);
 |  | 
 | 
												
													
														
															|  | -    void print(unsigned char, int = BYTE);
 |  | 
 | 
												
													
														
															|  | -    void print(int, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void print(unsigned int, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void print(long, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void print(unsigned long, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void print(double, int = 2);
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  | -    void println(const String &s);
 |  | 
 | 
												
													
														
															|  | -    void println(const char[]);
 |  | 
 | 
												
													
														
															|  | -    void println(char, int = BYTE);
 |  | 
 | 
												
													
														
															|  | -    void println(unsigned char, int = BYTE);
 |  | 
 | 
												
													
														
															|  | -    void println(int, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void println(unsigned int, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void println(long, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void println(unsigned long, int = DEC);
 |  | 
 | 
												
													
														
															|  | -    void println(double, int = 2);
 |  | 
 | 
												
													
														
															|  | -    void println(void);
 |  | 
 | 
												
													
														
															|  | 
 |  | +    static void print(char, int = BYTE);
 | 
												
													
														
															|  | 
 |  | +    static void print(unsigned char, int = BYTE);
 | 
												
													
														
															|  | 
 |  | +    static void print(int, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void print(unsigned int, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void print(long, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void print(unsigned long, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void print(double, int = 2);
 | 
												
													
														
															|  | 
 |  | +
 | 
												
													
														
															|  | 
 |  | +    static void println(const String &s);
 | 
												
													
														
															|  | 
 |  | +    static void println(const char[]);
 | 
												
													
														
															|  | 
 |  | +    static void println(char, int = BYTE);
 | 
												
													
														
															|  | 
 |  | +    static void println(unsigned char, int = BYTE);
 | 
												
													
														
															|  | 
 |  | +    static void println(int, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void println(unsigned int, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void println(long, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void println(unsigned long, int = DEC);
 | 
												
													
														
															|  | 
 |  | +    static void println(double, int = 2);
 | 
												
													
														
															|  | 
 |  | +    static void println(void);
 | 
												
													
														
															|  |  };
 |  |  };
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |  extern MarlinSerial MSerial;
 |  |  extern MarlinSerial MSerial;
 |