]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/lets_split/uno_slave/keyboard-i2c-slave.c
images, docks, clean-up [skip ci]
[qmk_firmware.git] / keyboards / lets_split / uno_slave / keyboard-i2c-slave.c
1 #include "../i2c-slave.h"
2 #include "../serial.h"
3 #include "uno-matrix.h"
4
5 #include <avr/io.h>
6 #include <avr/interrupt.h>
7 #include <util/delay.h>
8
9 void setup(void) {
10   // give some time for noise to clear
11   _delay_us(1000);
12
13   // turn off arduino uno's led on pin 13
14   DDRB |= (1 << 5);
15   PORTB &= ~(1 << 5);
16
17   matrix_init();
18   /* i2c_slave_init(0x32); */
19   serial_slave_init();
20
21   /* serial_slave_buffer[0] = 0xa1; */
22   /* serial_slave_buffer[1] = 0x52; */
23   /* serial_slave_buffer[2] = 0xa2; */
24   /* serial_slave_buffer[3] = 0x67; */
25
26   // need interrupts for i2c slave code to work
27   sei();
28 }
29
30 void loop(void) {
31   matrix_scan();
32   for(int i=0; i<MATRIX_ROWS; ++i) {
33     slaveBuffer[i] = matrix_get_row(i);
34     serial_slave_buffer[i] = slaveBuffer[i];
35   }
36 }
37
38 int main(int argc, char *argv[]) {
39   setup();
40   while (1)
41     loop();
42 }