Anycubic followup
This commit is contained in:
		
							parent
							
								
									2119e19bff
								
							
						
					
					
						commit
						1e5d73579c
					
				| @ -29,10 +29,10 @@ | |||||||
| 
 | 
 | ||||||
| #if ENABLED(ANYCUBIC_TFT_MODEL) | #if ENABLED(ANYCUBIC_TFT_MODEL) | ||||||
| 
 | 
 | ||||||
| #include "Arduino.h" | #include <Arduino.h> | ||||||
| 
 | 
 | ||||||
| // this next line disables the entire HardwareSerial.cpp,
 | // This next line disables the entire anycubic_serial.cpp,
 | ||||||
| // so I can support AtTiny series and other chips without a UART
 | // to support AtTiny series and other chips without a UART
 | ||||||
| #ifdef UBRR3H | #ifdef UBRR3H | ||||||
| 
 | 
 | ||||||
| #include "anycubic_serial.h" | #include "anycubic_serial.h" | ||||||
| @ -59,10 +59,8 @@ struct ring_buffer { | |||||||
|   volatile unsigned int tail; |   volatile unsigned int tail; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| #ifdef UBRR3H | ring_buffer rx_buffer_ajg  =  { { 0 }, 0, 0 }; | ||||||
|   ring_buffer rx_buffer_ajg  =  { { 0 }, 0, 0 }; | ring_buffer tx_buffer_ajg  =  { { 0 }, 0, 0 }; | ||||||
|   ring_buffer tx_buffer_ajg  =  { { 0 }, 0, 0 }; |  | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| inline void store_char(unsigned char c, ring_buffer *buffer) { | inline void store_char(unsigned char c, ring_buffer *buffer) { | ||||||
|   int i = (unsigned int)(buffer->head + 1) % SERIAL_BUFFER_SIZE; |   int i = (unsigned int)(buffer->head + 1) % SERIAL_BUFFER_SIZE; | ||||||
| @ -286,9 +284,7 @@ AnycubicSerialClass::operator bool() { | |||||||
| 
 | 
 | ||||||
| // Preinstantiate Objects //////////////////////////////////////////////////////
 | // Preinstantiate Objects //////////////////////////////////////////////////////
 | ||||||
| 
 | 
 | ||||||
| #ifdef UBRR3H | AnycubicSerialClass AnycubicSerial(&rx_buffer_ajg, &tx_buffer_ajg, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3); | ||||||
|   AnycubicSerialClass AnycubicSerial(&rx_buffer_ajg, &tx_buffer_ajg, &UBRR3H, &UBRR3L, &UCSR3A, &UCSR3B, &UCSR3C, &UDR3, RXEN3, TXEN3, RXCIE3, UDRIE3, U2X3); |  | ||||||
| #endif |  | ||||||
| 
 | 
 | ||||||
| #endif // UBRR3H
 | #endif // UBRR3H
 | ||||||
| #endif // ANYCUBIC_TFT_MODEL
 | #endif // ANYCUBIC_TFT_MODEL
 | ||||||
|  | |||||||
| @ -103,15 +103,15 @@ class AnycubicSerialClass : public Stream { | |||||||
| extern void serialEventRun(void) __attribute__((weak)); | extern void serialEventRun(void) __attribute__((weak)); | ||||||
| 
 | 
 | ||||||
| #define ANYCUBIC_SERIAL_PROTOCOL(x) (AnycubicSerial.print(x)) | #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_PROTOCOLPGM(x) (AnycubicSerialprintPGM(PSTR(x))) | ||||||
| #define ANYCUBIC_SERIAL_(x) (AnycubicSerial.print(x),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_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_PROTOCOLLNPGM(x) (AnycubicSerialprintPGM(PSTR(x)), AnycubicSerial.write('\r'), AnycubicSerial.write('\n')) | ||||||
| 
 | 
 | ||||||
| #define ANYCUBIC_SERIAL_START() (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_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_ENTER() (AnycubicSerial.write('\r'), AnycubicSerial.write('\n')) | ||||||
| #define ANYCUBIC_SERIAL_SPACE() (AnycubicSerial.write(' ')) | #define ANYCUBIC_SERIAL_SPACE() (AnycubicSerial.write(' ')) | ||||||
| 
 | 
 | ||||||
| const char newErr[] PROGMEM = "ERR "; | const char newErr[] PROGMEM = "ERR "; | ||||||
| @ -130,14 +130,16 @@ const char newSucc[] PROGMEM = "OK"; | |||||||
| #define ANYCUBIC_SERIAL_ECHOPGM(x) ANYCUBIC_SERIAL_PROTOCOLPGM(x) | #define ANYCUBIC_SERIAL_ECHOPGM(x) ANYCUBIC_SERIAL_PROTOCOLPGM(x) | ||||||
| #define ANYCUBIC_SERIAL_ECHO(x) ANYCUBIC_SERIAL_PROTOCOL(x) | #define ANYCUBIC_SERIAL_ECHO(x) ANYCUBIC_SERIAL_PROTOCOL(x) | ||||||
| 
 | 
 | ||||||
| FORCE_INLINE void AnycubicSerialprintPGM(const char *str) { | #ifdef UBRR3H | ||||||
|  | 
 | ||||||
|  |   extern AnycubicSerialClass AnycubicSerial; | ||||||
|  | 
 | ||||||
|  |   FORCE_INLINE void AnycubicSerialprintPGM(const char *str) { | ||||||
|     char ch = pgm_read_byte(str); |     char ch = pgm_read_byte(str); | ||||||
|     while (ch) { |     while (ch) { | ||||||
|     AnycubicSerialClass::write(ch); |       AnycubicSerial.write(ch); | ||||||
|       ch = pgm_read_byte(++str); |       ch = pgm_read_byte(++str); | ||||||
|     } |     } | ||||||
| } |   } | ||||||
| 
 | 
 | ||||||
| #ifdef UBRR3H |  | ||||||
|   extern AnycubicSerialClass AnycubicSerial; |  | ||||||
| #endif | #endif | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user