serial.h 762 B

1234567891011121314151617181920212223242526
  1. #ifndef MY_SERIAL_H
  2. #define MY_SERIAL_H
  3. #include <stdbool.h>
  4. /* TODO: some defines for interrupt setup */
  5. #define SERIAL_PIN_DDR DDRD
  6. #define SERIAL_PIN_PORT PORTD
  7. #define SERIAL_PIN_INPUT PIND
  8. #define SERIAL_PIN_MASK _BV(PD3) //SErial pin goes here, D0-D3
  9. #define SERIAL_PIN_INTERRUPT INT3_vect //"INT#" of your serial pin
  10. #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
  11. #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
  12. // Buffers for master - slave communication
  13. extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
  14. extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
  15. void serial_master_init(void);
  16. void serial_slave_init(void);
  17. int serial_update_buffers(void);
  18. bool serial_slave_data_corrupt(void);
  19. #endif