serial.h 873 B

123456789101112131415161718192021222324252627
  1. #ifndef SOFT_SERIAL_H
  2. #define SOFT_SERIAL_H
  3. #include <stdbool.h>
  4. // ////////////////////////////////////////////
  5. // Need Soft Serial defines in serial_config.h
  6. // ////////////////////////////////////////////
  7. // ex.
  8. // #define SERIAL_PIN_DDR DDRD
  9. // #define SERIAL_PIN_PORT PORTD
  10. // #define SERIAL_PIN_INPUT PIND
  11. // #define SERIAL_PIN_MASK _BV(PD?) ?=0,2
  12. // #define SERIAL_PIN_INTERRUPT INT?_vect ?=0,2
  13. // #define SERIAL_SLAVE_BUFFER_LENGTH MATRIX_ROWS/2
  14. // #define SERIAL_MASTER_BUFFER_LENGTH MATRIX_ROWS/2
  15. // Buffers for master - slave communication
  16. extern volatile uint8_t serial_slave_buffer[SERIAL_SLAVE_BUFFER_LENGTH];
  17. extern volatile uint8_t serial_master_buffer[SERIAL_MASTER_BUFFER_LENGTH];
  18. void serial_master_init(void);
  19. void serial_slave_init(void);
  20. int serial_update_buffers(void);
  21. bool serial_slave_data_corrupt(void);
  22. #endif /* SOFT_SERIAL_H */