You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					28 lines
				
				873 B
			
		
		
			
		
	
	
					28 lines
				
				873 B
			|   
											7 years ago
										 | #ifndef SOFT_SERIAL_H
 | ||
|  | #define SOFT_SERIAL_H
 | ||
|  | 
 | ||
|  | #include <stdbool.h>
 | ||
|  | 
 | ||
|  | // ////////////////////////////////////////////
 | ||
|  | // Need Soft Serial defines in serial_config.h
 | ||
|  | // ////////////////////////////////////////////
 | ||
|  | // ex.
 | ||
|  | //  #define SERIAL_PIN_DDR DDRD
 | ||
|  | //  #define SERIAL_PIN_PORT PORTD
 | ||
|  | //  #define SERIAL_PIN_INPUT PIND
 | ||
|  | //  #define SERIAL_PIN_MASK _BV(PD?)   ?=0,2
 | ||
|  | //  #define SERIAL_PIN_INTERRUPT INT?_vect  ?=0,2
 | ||
|  | //  #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
 | ||
|  | //  #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
 | ||
|  | 
 | ||
|  | // Buffers for master - slave communication
 | ||
|  | extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH]; | ||
|  | extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH]; | ||
|  | 
 | ||
|  | void serial_master_init(void); | ||
|  | void serial_slave_init(void); | ||
|  | int serial_update_buffers(void); | ||
|  | bool serial_slave_data_corrupt(void); | ||
|  | 
 | ||
|  | #endif /* SOFT_SERIAL_H */
 |