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

@@ -60,58 +60,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
get_mods() == (MOD_BIT(KC_LGUI) | MOD_BIT(KC_RGUI)) || \
get_mods() == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
/* Serial(USART) configuration
* asynchronous, negative logic, 9600baud, no flow control
* 1-start bit, 8-data bit, non parity, 1-stop bit
*/
#define SERIAL_SOFT_BAUD 9600
#define SERIAL_SOFT_PARITY_NONE
#define SERIAL_SOFT_BIT_ORDER_LSB
#if (HANDSPRING == 0)
#define SERIAL_SOFT_LOGIC_NEGATIVE //RS232 logic
#endif
/* RXD Port */
#define SERIAL_SOFT_RXD_ENABLE
// we are using Pro micro pin 3 / D0 as serial
#define SERIAL_SOFT_RXD_DDR DDRD
#define SERIAL_SOFT_RXD_PORT PORTD
#define SERIAL_SOFT_RXD_PIN PIND
#define SERIAL_SOFT_RXD_BIT 0
#define SERIAL_SOFT_RXD_VECT INT0_vect
/* RXD Interupt */
#define SERIAL_SOFT_RXD_INIT() do { \
/* pin configuration: input with pull-up */ \
SERIAL_SOFT_RXD_DDR &= ~(1<<SERIAL_SOFT_RXD_BIT); \
SERIAL_SOFT_RXD_PORT |= (1<<SERIAL_SOFT_RXD_BIT); \
/* enable interrupt: INT0(rising edge) */ \
EICRA |= ((1<<ISC01)|(1<<ISC00)); \
EIMSK |= (1<<INT0); \
sei(); \
} while (0)
#define SERIAL_SOFT_RXD_INT_ENTER()
#define SERIAL_SOFT_RXD_INT_EXIT() do { \
/* clear interrupt flag */ \
EIFR = (1<<INTF0); \
} while (0)
#define SERIAL_SOFT_RXD_READ() (SERIAL_SOFT_RXD_PIN&(1<<SERIAL_SOFT_RXD_BIT))
/* TXD Port */
#define SERIAL_SOFT_TXD_ENABLE
#define SERIAL_SOFT_TXD_DDR DDRD
#define SERIAL_SOFT_TXD_PORT PORTD
#define SERIAL_SOFT_TXD_PIN PIND
#define SERIAL_SOFT_TXD_BIT 3
#define SERIAL_SOFT_TXD_HI() do { SERIAL_SOFT_TXD_PORT |= (1<<SERIAL_SOFT_TXD_BIT); } while (0)
#define SERIAL_SOFT_TXD_LO() do { SERIAL_SOFT_TXD_PORT &= ~(1<<SERIAL_SOFT_TXD_BIT); } while (0)
#define SERIAL_SOFT_TXD_INIT() do { \
/* pin configuration: output */ \
SERIAL_SOFT_TXD_DDR |= (1<<SERIAL_SOFT_TXD_BIT); \
/* idle */ \
SERIAL_SOFT_TXD_ON(); \
} while (0)

View File

@@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H
#include "protocol/serial.h"
#include "uart.h"
#include "timer.h"
@@ -164,7 +164,7 @@ uint8_t rts_reset(void) {
uint8_t get_serial_byte(void) {
static uint8_t code;
while(1) {
code = serial_recv();
code = uart_read();
if (code) {
debug_hex(code); debug(" ");
return code;
@@ -240,7 +240,7 @@ void matrix_init(void)
debug_enable = true;
//debug_matrix =true;
serial_init(); // arguments all #defined
uart_init(9600); // arguments all #defined
#if (HANDSPRING == 0)
pins_init(); // set all inputs and outputs.
@@ -290,7 +290,7 @@ void matrix_init(void)
uint8_t matrix_scan(void)
{
uint8_t code;
code = serial_recv();
code = uart_read();
if (!code) {
/*
disconnect_counter ++;

View File

@@ -1,7 +0,0 @@
ifdef HARDWARE_SERIAL
# Untested with palm_usb
SRC += protocol/serial_uart.c
OPT_DEFS += -DHARDWARE_SERIAL
else
SRC += protocol/serial_soft.c
endif

View File

@@ -20,5 +20,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
CUSTOM_MATRIX = yes
SRC += matrix.c
QUANTUM_LIB_SRC += uart.c
DEFAULT_FOLDER = converter/palm_usb/stowaway