M build_test.mk => build_test.mk +1 -1
@@ 63,7 63,7 @@ endif
$(TEST)_SRC += \
tests/test_common/main.c \
$(LIB_PATH)/printf/printf.c \
- $(COMMON_DIR)/printf.c
+ $(QUANTUM_PATH)/logging/print.c
$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
M common_features.mk => common_features.mk +9 -1
@@ 21,7 21,15 @@ QUANTUM_SRC += \
$(QUANTUM_DIR)/bitwise.c \
$(QUANTUM_DIR)/led.c \
$(QUANTUM_DIR)/keymap_common.c \
- $(QUANTUM_DIR)/keycode_config.c
+ $(QUANTUM_DIR)/keycode_config.c \
+ $(QUANTUM_DIR)/logging/debug.c \
+ $(QUANTUM_DIR)/logging/sendchar.c \
+
+VPATH += $(QUANTUM_DIR)/logging
+# Fall back to lib/printf if there is no platform provided print
+ifeq ("$(wildcard $(TMK_PATH)/common/$(PLATFORM_KEY)/printf.mk)","")
+ include $(QUANTUM_PATH)/logging/print.mk
+endif
ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), yes)
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
R tmk_core/common/debug.c => quantum/logging/debug.c +0 -0
R tmk_core/common/debug.h => quantum/logging/debug.h +1 -1
@@ 67,7 67,7 @@ extern debug_config_t debug_config;
do { \
if (debug_enable) xprintf(fmt, ##__VA_ARGS__); \
} while (0)
-# define dmsg(s) dprintf("%s at %s: %S\n", __FILE__, __LINE__, PSTR(s))
+# define dmsg(s) dprintf("%s at %d: %s\n", __FILE__, __LINE__, s)
/* Deprecated. DO NOT USE these anymore, use dprintf instead. */
# define debug(s) \
R tmk_core/common/nodebug.h => quantum/logging/nodebug.h +0 -0
R tmk_core/common/printf.c => quantum/logging/print.c +0 -0
R tmk_core/common/print.h => quantum/logging/print.h +0 -0
A quantum/logging/print.mk => quantum/logging/print.mk +9 -0
@@ 0,0 1,9 @@
+PRINTF_PATH = $(LIB_PATH)/printf
+
+VPATH += $(PRINTF_PATH)
+SRC += $(PRINTF_PATH)/printf.c
+QUANTUM_SRC +=$(QUANTUM_DIR)/logging/print.c
+OPT_DEFS += -DPRINTF_DISABLE_SUPPORT_FLOAT
+OPT_DEFS += -DPRINTF_DISABLE_SUPPORT_EXPONENTIAL
+OPT_DEFS += -DPRINTF_DISABLE_SUPPORT_LONG_LONG
+OPT_DEFS += -DPRINTF_DISABLE_SUPPORT_PTRDIFF_T
R tmk_core/common/sendchar_null.c => quantum/logging/sendchar.c +1 -0
@@ 16,4 16,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "sendchar.h"
+/* default noop "null" implementation */
__attribute__((weak)) int8_t sendchar(uint8_t c) { return 0; }
R tmk_core/common/sendchar.h => quantum/logging/sendchar.h +0 -0
M tmk_core/common.mk => tmk_core/common.mk +4 -9
@@ 8,22 8,16 @@ TMK_COMMON_SRC += $(COMMON_DIR)/host.c \
$(COMMON_DIR)/action_macro.c \
$(COMMON_DIR)/action_layer.c \
$(COMMON_DIR)/action_util.c \
- $(COMMON_DIR)/debug.c \
- $(COMMON_DIR)/sendchar_null.c \
$(COMMON_DIR)/eeconfig.c \
$(COMMON_DIR)/report.c \
+ $(COMMON_DIR)/sync_timer.c \
$(COMMON_DIR)/usb_util.c \
$(PLATFORM_COMMON_DIR)/suspend.c \
$(PLATFORM_COMMON_DIR)/timer.c \
- $(COMMON_DIR)/sync_timer.c \
$(PLATFORM_COMMON_DIR)/bootloader.c \
-# Use platform provided print - fall back to lib/printf
-ifneq ("$(wildcard $(TMK_PATH)/$(PLATFORM_COMMON_DIR)/printf.mk)","")
- include $(TMK_PATH)/$(PLATFORM_COMMON_DIR)/printf.mk
-else
- include $(TMK_PATH)/$(COMMON_DIR)/lib_printf.mk
-endif
+# Use platform provided print if it exists
+-include $(TMK_PATH)/$(PLATFORM_COMMON_DIR)/printf.mk
SHARED_EP_ENABLE = no
MOUSE_SHARED_EP ?= yes
@@ 55,6 49,7 @@ endif
ifeq ($(strip $(CONSOLE_ENABLE)), yes)
TMK_COMMON_DEFS += -DCONSOLE_ENABLE
else
+ # TODO: decouple this so other print backends can exist
TMK_COMMON_DEFS += -DNO_PRINT
TMK_COMMON_DEFS += -DNO_DEBUG
endif
D tmk_core/common/lib_printf.mk => tmk_core/common/lib_printf.mk +0 -9
@@ 1,9 0,0 @@
-PRINTF_PATH = $(LIB_PATH)/printf
-
-TMK_COMMON_SRC += $(PRINTF_PATH)/printf.c
-TMK_COMMON_SRC += $(COMMON_DIR)/printf.c
-TMK_COMMON_DEFS += -DPRINTF_DISABLE_SUPPORT_FLOAT
-TMK_COMMON_DEFS += -DPRINTF_DISABLE_SUPPORT_EXPONENTIAL
-TMK_COMMON_DEFS += -DPRINTF_DISABLE_SUPPORT_LONG_LONG
-TMK_COMMON_DEFS += -DPRINTF_DISABLE_SUPPORT_PTRDIFF_T
-VPATH += $(PRINTF_PATH)
D tmk_core/common/sendchar_uart.c => tmk_core/common/sendchar_uart.c +0 -23
@@ 1,23 0,0 @@
-/*
-Copyright 2011 Jun Wako <wakojun@gmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-#include "uart.h"
-#include "sendchar.h"
-
-int8_t sendchar(uint8_t c) {
- uart_putchar(c);
- return 0;
-}