Migrate serial_uart usages to UART driver (#15479)

* Migrate Thermal Printer feature to UART driver

* Migrate 40percentclub UT47 to UART driver

* Migrate Centromere to UART driver

* Migrate Chimera Ergo to UART driver

* Migrate Chimera Let's Split to UART driver

* Migrate Chimera Ortho to UART driver

* Migrate Chimera Ortho Plus to UART driver

* Migrate Comet46 to UART driver

* Migrate Palm USB converter to UART driver

* Migrate Sun USB converter to UART driver

* Migrate Dichotomy to UART driver

* Migrate Honeycomb to UART driver

* Migrate Mitosis to UART driver

* Migrate Redox W to UART driver

* Migrate Uni660 to UART driver

* Migrate Telophase to UART driver
This commit is contained in:
Ryan
2021-12-15 22:00:39 +11:00
committed by GitHub
parent c0bb153151
commit c12268807d
63 changed files with 154 additions and 393 deletions

View File

@@ -72,12 +72,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* disable these deprecated features by default */
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
// UART settings for communication with the RF microcontroller
#define SERIAL_UART_BAUD 1000000
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
#define SERIAL_UART_INIT_CUSTOM \
/* enable TX and RX */ \
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
/* 8-bit data */ \
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);

View File

@@ -18,10 +18,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "quantum.h"
#include "matrix.h"
#include "protocol/serial.h"
#include "uart.h"
void matrix_init_custom(void) {
serial_init();
uart_init(1000000);
}
bool matrix_scan_custom(matrix_row_t current_matrix[]) {
@@ -29,7 +29,7 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {
bool changed = false;
//the s character requests the RF slave to send the matrix
SERIAL_UART_DATA = 's';
uart_write('s');
//trust the external keystates entirely, erase the last data
uint8_t uart_data[13] = {0};
@@ -39,13 +39,13 @@ bool matrix_scan_custom(matrix_row_t current_matrix[]) {
//wait for the serial data, timeout if it's been too long
//this only happened in testing with a loose wire, but does no
//harm to leave it in here
while (!SERIAL_UART_RXD_PRESENT) {
while (!uart_available()) {
timeout++;
if (timeout > 10000) {
break;
}
}
uart_data[i] = SERIAL_UART_DATA;
uart_data[i] = uart_read();
}
//check for the end packet, the key state bytes use the LSBs, so 0xE0

View File

@@ -19,7 +19,8 @@ AUDIO_ENABLE = no # Audio output
CUSTOM_MATRIX = lite
# project specific files
SRC += matrix.c serial_uart.c
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
# Disable unsupported hardware
RGBLIGHT_SUPPORTED = no