Serial refactor (#11521)
This commit is contained in:
parent
464eb7137d
commit
5ea92a9c1c
58 changed files with 162 additions and 562 deletions
|
@ -54,25 +54,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
/* Enable GNAP matrix serial output */
|
||||
#define GNAP_ENABLE
|
||||
|
||||
/* USART configuration */
|
||||
#ifdef __AVR_ATmega32U4__
|
||||
# define SERIAL_UART_BAUD 9600
|
||||
# define SERIAL_UART_DATA UDR1
|
||||
# define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
# define SERIAL_UART_RXD_VECT USART1_RX_vect
|
||||
# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
# define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX */ \
|
||||
UCSR1B = _BV(TXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
sei(); \
|
||||
} while(0)
|
||||
# else
|
||||
# error "USART configuration is needed."
|
||||
#endif
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "centromere.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
#if MCU == atmega32u2
|
||||
setPinOutput(C4); // Set red LED pin as output
|
||||
|
@ -32,7 +28,6 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
|
|
|
@ -59,17 +59,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 500000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -79,12 +80,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF remote slave to send the matrix information
|
||||
|
|
|
@ -31,14 +31,7 @@ MIDI_ENABLE = no # MIDI controls
|
|||
UNICODE_ENABLE = yes # Unicode
|
||||
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
# upload: build
|
||||
# $(CENTROMERE_UPLOAD_COMMAND)
|
||||
|
||||
OPT_DEFS += -DCENTROMERE_PROMICRO
|
||||
|
||||
# # project specific files
|
||||
SRC = matrix.c
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
||||
LAYOUTS = split_3x5_3 split_3x6_3
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "chimera_ergo.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
DDRD |= (1<<1);
|
||||
PORTD |= (1<<1);
|
||||
|
@ -16,16 +12,5 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
|
|
@ -60,19 +60,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -88,12 +89,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -28,12 +28,5 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
UNICODE_ENABLE = YES # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
|
||||
OPT_DEFS += -DCHIMERA_ERGO_PROMICRO
|
||||
CHIMERA_ERGO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
||||
|
||||
# # project specific files
|
||||
SRC = matrix.c
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "chimera_ls.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
DDRD |= (1<<1);
|
||||
PORTD |= (1<<1);
|
||||
|
@ -16,16 +12,5 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
|
|
@ -60,19 +60,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -92,12 +93,11 @@ uint8_t matrix_cols(void) {
|
|||
|
||||
void matrix_init(void) {
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -28,14 +28,8 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
UNICODE_ENABLE = YES # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
OPT_DEFS += -DCHIMERA_LS_PROMICRO
|
||||
CHIMERA_LS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
||||
|
||||
# project specific files
|
||||
SRC = matrix.c
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "chimera_ortho.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
DDRD |= (1<<1);
|
||||
PORTD |= (1<<1);
|
||||
|
@ -16,16 +12,5 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
|
|
@ -60,19 +60,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -78,12 +79,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -28,11 +28,5 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
UNICODE_ENABLE = YES # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
OPT_DEFS += -DCHIMERA_ORTHO_PROMICRO
|
||||
CHIMERA_ORTHO_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
||||
|
||||
# project specific files
|
||||
SRC = matrix.c
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "chimera_ortho_plus.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
setPinOutput(D1);
|
||||
setPinOutput(F4);
|
||||
|
@ -18,6 +14,5 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
|
|
@ -59,17 +59,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -78,12 +79,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -33,4 +33,4 @@ UNICODE_ENABLE = yes
|
|||
CUSTOM_MATRIX = yes
|
||||
|
||||
# project specific files
|
||||
SRC = matrix.c
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
|
|
@ -1,22 +1 @@
|
|||
#include "comet46.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void matrix_init_kb(void) {
|
||||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
|
|
@ -66,19 +66,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -78,12 +79,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -28,8 +28,8 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
UNICODE_ENABLE = YES # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
# project specific files
|
||||
SRC += matrix.c \
|
||||
i2c.c \
|
||||
ssd1306.c
|
||||
ssd1306.c \
|
||||
serial_uart.c
|
||||
|
|
|
@ -60,19 +60,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,12 +1,7 @@
|
|||
#include "dichotomy.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void pointing_device_task(void){
|
||||
/*report_mouse_t currentReport = {};
|
||||
SERIAL_UART_INIT();
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the m character requests the RF slave to send the mouse report
|
||||
|
@ -77,16 +72,5 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
|
|
@ -29,6 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "dichotomy.h"
|
||||
#include "pointing_device.h"
|
||||
#include "report.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -93,11 +94,11 @@ uint8_t matrix_cols(void) {
|
|||
|
||||
void matrix_init(void) {
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
//xprintf("\r\nTRYING TO SCAN");
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
|
|
@ -29,14 +29,5 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
UNICODE_ENABLE = YES # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
OPT_DEFS += -DDICHOTOMY_PROMICRO
|
||||
DICHOTOMY_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
||||
|
||||
# # project specific files
|
||||
SRC = matrix.c
|
||||
|
||||
#upload: build
|
||||
# $(DICHOTOMY_UPLOAD_COMMAND)
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
|
|
@ -52,27 +52,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define SUART_IN_PIN PIND
|
||||
#define SUART_IN_BIT 1
|
||||
|
||||
#ifdef __AVR_ATmega32U4__
|
||||
#define SERIAL_UART_BAUD 115200
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR ((F_CPU/(16.0*SERIAL_UART_BAUD)-1+0.5))
|
||||
#define SERIAL_UART_RXD_VECT USART1_RX_vect
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A&(1<<UDRE1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
UBRR1L = (uint8_t) SERIAL_UART_UBRR; /* baud rate */ \
|
||||
UBRR1H = ((uint16_t)SERIAL_UART_UBRR>>8); /* baud rate */ \
|
||||
UCSR1B |= (1<<RXCIE1) | (1<<RXEN1); /* RX interrupt, RX: enable */ \
|
||||
UCSR1B |= (0<<TXCIE1) | (1<<TXEN1); /* TX interrupt, TX: enable */ \
|
||||
UCSR1C |= (0<<UPM11) | (0<<UPM10); /* parity: none(00), even(01), odd(11) */ \
|
||||
UCSR1D |= (0<<RTSEN) | (0<<CTSEN); /* RTS, CTS(no flow control by hardware) */ \
|
||||
DDRD |= (1<<5); PORTD &= ~(1<<5); /* RTS for flow control by firmware */ \
|
||||
sei(); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_RTS_LO() do { PORTD &= ~(1<<5); } while (0)
|
||||
#define SERIAL_UART_RTS_HI() do { PORTD |= (1<<5); } while (0)
|
||||
#else
|
||||
#error "USART configuration is needed."
|
||||
#endif
|
||||
#define SERIAL_UART_BAUD 115200
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* RX interrupt, RX: enable */ \
|
||||
UCSR1B |= (1<<RXCIE1) | (1<<RXEN1); \
|
||||
/* TX interrupt, TX: enable */ \
|
||||
UCSR1B |= (0<<TXCIE1) | (1<<TXEN1); \
|
||||
/* parity: none(00), even(01), odd(11) */ \
|
||||
UCSR1C |= (0<<UPM11) | (0<<UPM10); \
|
||||
/* RTS, CTS(no flow control by hardware) */ \
|
||||
UCSR1D |= (0<<RTSEN) | (0<<CTSEN); \
|
||||
/* RTS for flow control by firmware */ \
|
||||
DDRD |= (1<<5); PORTD &= ~(1<<5);
|
||||
#define SERIAL_UART_RTS_LO() do { PORTD &= ~(1<<5); } while (0)
|
||||
#define SERIAL_UART_RTS_HI() do { PORTD |= (1<<5); } while (0)
|
||||
|
||||
/* power control of key switch board */
|
||||
#define HHKB_POWER_SAVING
|
||||
|
|
|
@ -52,27 +52,20 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#define SUART_IN_PIN PIND
|
||||
#define SUART_IN_BIT 1
|
||||
|
||||
#ifdef __AVR_ATmega32U4__
|
||||
#define SERIAL_UART_BAUD 115200
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR ((F_CPU/(16.0*SERIAL_UART_BAUD)-1+0.5))
|
||||
#define SERIAL_UART_RXD_VECT USART1_RX_vect
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A&(1<<UDRE1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
UBRR1L = (uint8_t) SERIAL_UART_UBRR; /* baud rate */ \
|
||||
UBRR1H = ((uint16_t)SERIAL_UART_UBRR>>8); /* baud rate */ \
|
||||
UCSR1B |= (1<<RXCIE1) | (1<<RXEN1); /* RX interrupt, RX: enable */ \
|
||||
UCSR1B |= (0<<TXCIE1) | (1<<TXEN1); /* TX interrupt, TX: enable */ \
|
||||
UCSR1C |= (0<<UPM11) | (0<<UPM10); /* parity: none(00), even(01), odd(11) */ \
|
||||
UCSR1D |= (0<<RTSEN) | (0<<CTSEN); /* RTS, CTS(no flow control by hardware) */ \
|
||||
DDRD |= (1<<5); PORTD &= ~(1<<5); /* RTS for flow control by firmware */ \
|
||||
sei(); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_RTS_LO() do { PORTD &= ~(1<<5); } while (0)
|
||||
#define SERIAL_UART_RTS_HI() do { PORTD |= (1<<5); } while (0)
|
||||
#else
|
||||
#error "USART configuration is needed."
|
||||
#endif
|
||||
#define SERIAL_UART_BAUD 115200
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* RX interrupt, RX: enable */ \
|
||||
UCSR1B |= (1<<RXCIE1) | (1<<RXEN1); \
|
||||
/* TX interrupt, TX: enable */ \
|
||||
UCSR1B |= (0<<TXCIE1) | (1<<TXEN1); \
|
||||
/* parity: none(00), even(01), odd(11) */ \
|
||||
UCSR1C |= (0<<UPM11) | (0<<UPM10); \
|
||||
/* RTS, CTS(no flow control by hardware) */ \
|
||||
UCSR1D |= (0<<RTSEN) | (0<<CTSEN); \
|
||||
/* RTS for flow control by firmware */ \
|
||||
DDRD |= (1<<5); PORTD &= ~(1<<5);
|
||||
#define SERIAL_UART_RTS_LO() do { PORTD &= ~(1<<5); } while (0)
|
||||
#define SERIAL_UART_RTS_HI() do { PORTD |= (1<<5); } while (0)
|
||||
|
||||
/* power control of key switch board */
|
||||
#define HHKB_POWER_SAVING
|
||||
|
|
|
@ -48,17 +48,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
|
|
@ -2,13 +2,8 @@
|
|||
#include "pointing_device.h"
|
||||
#include "report.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void pointing_device_task(void){
|
||||
/*report_mouse_t currentReport = {};
|
||||
SERIAL_UART_INIT();
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the m character requests the RF slave to send the mouse report
|
||||
|
@ -77,16 +72,5 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "honeycomb.h"
|
||||
#include "pointing_device.h"
|
||||
#include "report.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -94,12 +95,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
// The 's' character requests the RF slave to send the matrix
|
||||
|
|
|
@ -30,9 +30,4 @@ UNICODE_ENABLE = YES # Unicode
|
|||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
# # project specific files
|
||||
SRC += matrix.c
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
#upload: build
|
||||
# $(honeycomb_UPLOAD_COMMAND)
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
|
|
@ -60,19 +60,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -79,12 +80,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "mitosis.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
DDRD |= (1<<1); // Pin to green, set as output
|
||||
PORTD |= (1<<1); // Turn it off
|
||||
|
@ -15,7 +11,6 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
|
|
|
@ -28,14 +28,5 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
UNICODE_ENABLE = yes # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
# upload: build
|
||||
# $(MITOSIS_UPLOAD_COMMAND)
|
||||
|
||||
OPT_DEFS += -DMITOSIS_PROMICRO
|
||||
MITOSIS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
||||
|
||||
# # project specific files
|
||||
SRC = matrix.c
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
|
|
@ -3,22 +3,7 @@
|
|||
|
||||
#include "../../config.h"
|
||||
|
||||
# define SERIAL_UART_BAUD 19200
|
||||
# define SERIAL_UART_DATA UDR1
|
||||
# define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
# define SERIAL_UART_RXD_VECT USART1_RX_vect
|
||||
# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
# define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX */ \
|
||||
UCSR1B = _BV(TXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
sei(); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_BAUD 19200
|
||||
|
||||
/*
|
||||
* MIDI options
|
||||
|
|
|
@ -58,17 +58,9 @@
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -86,12 +87,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "redox_w.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
DDRD |= (1<<1);
|
||||
PORTD |= (1<<1);
|
||||
|
@ -16,20 +12,9 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
||||
#ifdef ONEHAND_ENABLE
|
||||
__attribute__ ((weak))
|
||||
const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
|
|
@ -28,14 +28,5 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
UNICODE_ENABLE = YES # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
OPT_DEFS += -DREDOX_W_PROMICRO
|
||||
INTERPHASE_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
||||
|
||||
# # project specific files
|
||||
SRC = matrix.c
|
||||
|
||||
# upload: build
|
||||
# $(REDOX_W_UPLOAD_COMMAND)
|
||||
SRC += matrix.c serial_uart.c
|
||||
|
|
|
@ -59,19 +59,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while (0)
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 4
|
||||
|
|
|
@ -27,6 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "debounce.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -80,14 +81,13 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
debounce_init(MATRIX_ROWS);
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
bool matrix_has_changed = false;
|
||||
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "rev1.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
setPinOutput(D1); // Pin to green, set as output
|
||||
writePinHigh(D1); // Turn it off
|
||||
|
@ -17,7 +13,6 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
|
|
|
@ -59,19 +59,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while (0)
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 4
|
||||
|
|
|
@ -59,19 +59,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while (0)
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#define DYNAMIC_KEYMAP_LAYER_COUNT 4
|
||||
|
|
|
@ -27,6 +27,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "debounce.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -80,14 +81,13 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
debounce_init(MATRIX_ROWS);
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
bool matrix_has_changed = false;
|
||||
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "rev2.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
setPinOutput(D1); // Pin to green, set as output
|
||||
writePinHigh(D1); // Turn it off
|
||||
|
@ -17,7 +13,6 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
|
|
|
@ -60,19 +60,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
//UART settings for communication with the RF microcontroller
|
||||
#define SERIAL_UART_BAUD 1000000
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_PRESENT (UCSR1A & _BV(RXC1))
|
||||
#define SERIAL_UART_INIT() do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
} while(0)
|
||||
#define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX and RX */ \
|
||||
UCSR1B = _BV(TXEN1) | _BV(RXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include "util.h"
|
||||
#include "matrix.h"
|
||||
#include "timer.h"
|
||||
#include "protocol/serial.h"
|
||||
|
||||
#if (MATRIX_COLS <= 8)
|
||||
# define print_matrix_header() print("\nr/c 01234567\n")
|
||||
|
@ -88,12 +89,11 @@ uint8_t matrix_cols(void) {
|
|||
void matrix_init(void) {
|
||||
|
||||
matrix_init_quantum();
|
||||
serial_init();
|
||||
}
|
||||
|
||||
uint8_t matrix_scan(void)
|
||||
{
|
||||
SERIAL_UART_INIT();
|
||||
|
||||
uint32_t timeout = 0;
|
||||
|
||||
//the s character requests the RF slave to send the matrix
|
||||
|
|
|
@ -27,20 +27,13 @@ NKRO_ENABLE = yes # USB Nkey Rollover - not yet supported in LUFA
|
|||
# MIDI_ENABLE = YES # MIDI controls
|
||||
UNICODE_ENABLE = YES # Unicode
|
||||
# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
|
||||
LAYOUTS = ortho_4x12
|
||||
USB = /dev/ttyACM0
|
||||
|
||||
# upload: build
|
||||
# $(MITOSIS_UPLOAD_COMMAND)
|
||||
|
||||
OPT_DEFS += -DMITOSIS_PROMICRO
|
||||
MITOSIS_UPLOAD_COMMAND = while [ ! -r $(USB) ]; do sleep 1; done; \
|
||||
avrdude -p $(MCU) -c avr109 -U flash:w:$(TARGET).hex -P $(USB)
|
||||
|
||||
# # project specific files
|
||||
SRC = matrix.c
|
||||
SRC = matrix.c serial_uart.c
|
||||
|
||||
# Disable unsupported hardware
|
||||
RGBLIGHT_SUPPORTED = no
|
||||
AUDIO_SUPPORTED = no
|
||||
BACKLIGHT_SUPPORTED = no
|
||||
|
||||
LAYOUTS = ortho_4x12
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
#include "telophase.h"
|
||||
|
||||
void uart_init(void) {
|
||||
SERIAL_UART_INIT();
|
||||
}
|
||||
|
||||
void led_init(void) {
|
||||
DDRD |= (1<<1);
|
||||
PORTD |= (1<<1);
|
||||
|
@ -16,20 +12,9 @@ void matrix_init_kb(void) {
|
|||
// put your keyboard start-up code here
|
||||
// runs once when the firmware starts up
|
||||
matrix_init_user();
|
||||
uart_init();
|
||||
led_init();
|
||||
}
|
||||
|
||||
void matrix_scan_kb(void) {
|
||||
// put your looping keyboard code here
|
||||
// runs every cycle (a lot)
|
||||
matrix_scan_user();
|
||||
}
|
||||
|
||||
void led_set_kb(uint8_t usb_led) {
|
||||
|
||||
}
|
||||
|
||||
#ifdef SWAP_HANDS_ENABLE
|
||||
__attribute__ ((weak))
|
||||
const keypos_t hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
|
|
|
@ -367,51 +367,6 @@
|
|||
# endif
|
||||
#endif
|
||||
|
||||
/* USART configuration */
|
||||
#ifdef BLUETOOTH_ENABLE
|
||||
# ifdef __AVR_ATmega32U4__
|
||||
# define SERIAL_UART_BAUD 9600
|
||||
# define SERIAL_UART_DATA UDR1
|
||||
# define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
# define SERIAL_UART_RXD_VECT USART1_RX_vect
|
||||
# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
# define SERIAL_UART_INIT() \
|
||||
do { \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX */ \
|
||||
UCSR1B = _BV(TXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
sei(); \
|
||||
} while (0)
|
||||
# elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB647__) || defined(__AVR_AT90USB1286__) || defined(__AVR_AT90USB1287__)
|
||||
# define SERIAL_UART_BAUD 115200
|
||||
# define SERIAL_UART_DATA UDR1
|
||||
/* UBRR should result in ~16 and set UCSR1A = _BV(U2X1) as per rn42 documentation. HC05 needs baudrate configured accordingly */
|
||||
# define SERIAL_UART_UBRR (F_CPU / (8UL * SERIAL_UART_BAUD) - 1)
|
||||
# define SERIAL_UART_RXD_VECT USART1_RX_vect
|
||||
# define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
# define SERIAL_UART_INIT() \
|
||||
do { \
|
||||
UCSR1A = _BV(U2X1); \
|
||||
/* baud rate */ \
|
||||
UBRR1L = SERIAL_UART_UBRR; \
|
||||
/* baud rate */ \
|
||||
UBRR1H = SERIAL_UART_UBRR >> 8; \
|
||||
/* enable TX */ \
|
||||
UCSR1B = _BV(TXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10); \
|
||||
sei(); \
|
||||
} while (0)
|
||||
# else
|
||||
# error "USART configuration is needed."
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define API_SYSEX_MAX_SIZE 32
|
||||
|
||||
#include "song_list.h"
|
||||
|
|
|
@ -37,6 +37,8 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||
|
||||
#pragma once
|
||||
|
||||
#define SERIAL_UART_DATA UDR1
|
||||
|
||||
/* host role */
|
||||
void serial_init(void);
|
||||
uint8_t serial_recv(void);
|
||||
|
|
|
@ -40,6 +40,22 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||
#include <avr/interrupt.h>
|
||||
#include "serial.h"
|
||||
|
||||
#ifndef SERIAL_UART_BAUD
|
||||
# define SERIAL_UART_BAUD 9600
|
||||
#endif
|
||||
|
||||
#define SERIAL_UART_UBRR (F_CPU / (16UL * SERIAL_UART_BAUD) - 1)
|
||||
#define SERIAL_UART_TXD_READY (UCSR1A & _BV(UDRE1))
|
||||
#define SERIAL_UART_RXD_VECT USART1_RX_vect
|
||||
|
||||
#ifndef SERIAL_UART_INIT_CUSTOM
|
||||
# define SERIAL_UART_INIT_CUSTOM \
|
||||
/* enable TX */ \
|
||||
UCSR1B = _BV(TXEN1); \
|
||||
/* 8-bit data */ \
|
||||
UCSR1C = _BV(UCSZ11) | _BV(UCSZ10);
|
||||
#endif
|
||||
|
||||
#if defined(SERIAL_UART_RTS_LO) && defined(SERIAL_UART_RTS_HI)
|
||||
// Buffer state
|
||||
// Empty: RBUF_SPACE == RBUF_SIZE(head==tail)
|
||||
|
@ -61,7 +77,14 @@ POSSIBILITY OF SUCH DAMAGE.
|
|||
# define rbuf_check_rts_hi()
|
||||
#endif
|
||||
|
||||
void serial_init(void) { SERIAL_UART_INIT(); }
|
||||
void serial_init(void) {
|
||||
do {
|
||||
// Set baud rate
|
||||
UBRR1L = SERIAL_UART_UBRR;
|
||||
UBRR1L = SERIAL_UART_UBRR >> 8;
|
||||
SERIAL_UART_INIT_CUSTOM;
|
||||
} while (0);
|
||||
}
|
||||
|
||||
// RX ring buffer
|
||||
#define RBUF_SIZE 256
|
||||
|
|
Loading…
Reference in a new issue