From 0f89d7efed117a3e4f8f205d88a6e7c48dd96db4 Mon Sep 17 00:00:00 2001 From: Jack Humbert Date: Sat, 9 Jun 2018 17:57:15 -0400 Subject: [PATCH] try sound feedback --- drivers/arm/twi2c.c | 4 ++-- drivers/qwiic/qwiic_keyboard.c | 18 ++++++++++++------ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/arm/twi2c.c b/drivers/arm/twi2c.c index a4268d87e4..61a04d3743 100644 --- a/drivers/arm/twi2c.c +++ b/drivers/arm/twi2c.c @@ -112,8 +112,8 @@ uint8_t twi2c_receive(uint8_t address, uint8_t * data, uint16_t length) { } -uint8_t twi2c_incoming_body[512]; -uint8_t twi2c_outgoing_body[512]; +uint8_t twi2c_incoming_body[50]; +uint8_t twi2c_outgoing_body[1024]; // Response to received messages I2CSlaveMsg twi2c_incoming_message = { diff --git a/drivers/qwiic/qwiic_keyboard.c b/drivers/qwiic/qwiic_keyboard.c index d6e2357c96..2b3324021d 100644 --- a/drivers/qwiic/qwiic_keyboard.c +++ b/drivers/qwiic/qwiic_keyboard.c @@ -60,6 +60,8 @@ void qwiic_keyboard_set_master(void) { qwiic_keyboard_master = true; } +uint8_t command[1] = { 0x00 }; + void qwiic_keyboard_task(void) { if (USB_DRIVER.state == USB_ACTIVE) qwiic_keyboard_master = true; @@ -68,8 +70,8 @@ void qwiic_keyboard_task(void) { if (qwiic_keyboard_master) { if (qwiic_keyboard_connected) { // send empty message, expecting matrix info - twi2c_transmit(qwiic_keyboard_listening_address, NULL, 0); - if (MSG_OK == twi2c_receive(qwiic_keyboard_listening_address, + if (MSG_OK == twi2c_transmit_receive(qwiic_keyboard_listening_address, + command, 1, qwiic_keyboard_matrix_message, QWIIC_KEYBOARD_MATRIX_MESSAGE_SIZE )) { // majority of this is pulled from keyboard.c:keyboard_task() @@ -113,10 +115,10 @@ void qwiic_keyboard_task(void) { // disconnect // qwiic_keyboard_connected = false; } - } else { + } else { // if not connected // send new address to listen on, expect back keymap - twi2c_transmit(QWIIC_KEYBOARD_HANDSHAKE_ADDRESS, &qwiic_keyboard_new_listening_address, 1); - if (MSG_OK == twi2c_receive(QWIIC_KEYBOARD_HANDSHAKE_ADDRESS, + if (MSG_OK == twi2c_transmit_receive(QWIIC_KEYBOARD_HANDSHAKE_ADDRESS, + &qwiic_keyboard_new_listening_address, 1, qwiic_keyboard_handshake_message, QWIIC_KEYBOARD_HANDSHAKE_MESSAGE_SIZE )) { qwiic_keyboard_connected = true; @@ -131,6 +133,8 @@ void qwiic_keyboard_task(void) { uint8_t qwiic_keyboard_reply[MATRIX_ROWS]; +float song_one_up[][2] = SONG(ONE_UP_SOUND); + void qwiic_keyboard_message_received(I2CDriver *i2cp, uint8_t * body, uint16_t size) { if (qwiic_keyboard_connected) { for (uint8_t row = 0; row < MATRIX_ROWS; row++) { @@ -146,6 +150,8 @@ void qwiic_keyboard_message_received(I2CDriver *i2cp, uint8_t * body, uint16_t s twi2c_stop(); twi2c_start(); twi2c_start_listening(qwiic_keyboard_listening_address, qwiic_keyboard_message_received_ptr); + stop_all_notes(); + PLAY_SONG(song_one_up); } } @@ -169,7 +175,7 @@ void qwiic_keyboard_read_keymap(uint8_t * pointer) { for (uint8_t row = 0; row < QWIIC_KEYBOARD_ROWS; row++) { for (uint8_t col = 0; col < QWIIC_KEYBOARD_COLS; col++) { uint16_t keycode = *pointer++; - keycode |= (*pointer++) << 8; + keycode |= ((*pointer++) << 8); qwiic_keyboard_keymap[layer][row][col] = keycode; } }