diff options
Diffstat (limited to 'keyboards/telophase/matrix.c')
| -rw-r--r-- | keyboards/telophase/matrix.c | 11 | 
1 files changed, 9 insertions, 2 deletions
diff --git a/keyboards/telophase/matrix.c b/keyboards/telophase/matrix.c index 44b7e4c9e9..a18a2b20ed 100644 --- a/keyboards/telophase/matrix.c +++ b/keyboards/telophase/matrix.c @@ -20,6 +20,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  #include "matrix.h"  #include "uart.h" +#define UART_MATRIX_RESPONSE_TIMEOUT 10000 +  void matrix_init_custom(void) {      uart_init(1000000);  } @@ -41,11 +43,16 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {          //harm to leave it in here          while (!uart_available()) {              timeout++; -            if (timeout > 10000) { +            if (timeout > UART_MATRIX_RESPONSE_TIMEOUT) {                  break;              }          } -        uart_data[i] = uart_read(); + +        if (timeout < UART_MATRIX_RESPONSE_TIMEOUT) { +            uart_data[i] = uart_read(); +        } else { +            uart_data[i] = 0x00; +        }      }      //check for the end packet, the key state bytes use the LSBs, so 0xE0  | 
