From d8a9c63c265869822a77ad5c5cb7c8dfa4ff1f6c Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo
Date: Wed, 1 Feb 2017 05:07:05 +0700
Subject: Implement runtime selectable output (USB or BT)
---
tmk_core/protocol/lufa/outputselect.c | 56 +++++++++++++++++++++++++++++++++++
1 file changed, 56 insertions(+)
create mode 100644 tmk_core/protocol/lufa/outputselect.c
(limited to 'tmk_core/protocol/lufa/outputselect.c')
diff --git a/tmk_core/protocol/lufa/outputselect.c b/tmk_core/protocol/lufa/outputselect.c
new file mode 100644
index 0000000000..5d2457bfff
--- /dev/null
+++ b/tmk_core/protocol/lufa/outputselect.c
@@ -0,0 +1,56 @@
+/*
+Copyright 2017 Priyadi Iman Nurcahyo
+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 .
+*/
+
+#include "lufa.h"
+#include "outputselect.h"
+#ifdef ADAFRUIT_BLE_ENABLE
+ #include "adafruit_ble.h"
+#endif
+
+uint8_t desired_output = OUTPUT_DEFAULT;
+
+void set_output(uint8_t output) {
+ set_output_user(output);
+ desired_output = output;
+}
+
+__attribute__((weak))
+void set_output_user(uint8_t output) {
+}
+
+uint8_t auto_detect_output(void) {
+ if (USB_DeviceState == DEVICE_STATE_Configured) {
+ return OUTPUT_USB;
+ }
+
+#ifdef ADAFRUIT_BLE_ENABLE
+ if (adafruit_ble_is_connected()) {
+ return OUTPUT_ADAFRUIT_BLE;
+ }
+#endif
+
+#ifdef BLUETOOTH_ENABLE
+ return OUTPUT_BLUETOOTH; // should check if BT is connected here
+#endif
+
+ return OUTPUT_NONE;
+}
+
+uint8_t where_to_send(void) {
+ if (desired_output == OUTPUT_AUTO) {
+ return auto_detect_output();
+ }
+ return desired_output;
+}
+
--
cgit v1.2.3
From 72e95809a1d3da869942441a2ad7107c7a55d688 Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo
Date: Wed, 1 Feb 2017 17:55:13 +0700
Subject: Move outputselect to parent dir to satisfy non LUFA keyboards
---
tmk_core/protocol/lufa/outputselect.c | 56 -----------------------------------
tmk_core/protocol/lufa/outputselect.h | 41 -------------------------
tmk_core/protocol/outputselect.c | 56 +++++++++++++++++++++++++++++++++++
tmk_core/protocol/outputselect.h | 41 +++++++++++++++++++++++++
4 files changed, 97 insertions(+), 97 deletions(-)
delete mode 100644 tmk_core/protocol/lufa/outputselect.c
delete mode 100644 tmk_core/protocol/lufa/outputselect.h
create mode 100644 tmk_core/protocol/outputselect.c
create mode 100644 tmk_core/protocol/outputselect.h
(limited to 'tmk_core/protocol/lufa/outputselect.c')
diff --git a/tmk_core/protocol/lufa/outputselect.c b/tmk_core/protocol/lufa/outputselect.c
deleted file mode 100644
index 5d2457bfff..0000000000
--- a/tmk_core/protocol/lufa/outputselect.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2017 Priyadi Iman Nurcahyo
-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 .
-*/
-
-#include "lufa.h"
-#include "outputselect.h"
-#ifdef ADAFRUIT_BLE_ENABLE
- #include "adafruit_ble.h"
-#endif
-
-uint8_t desired_output = OUTPUT_DEFAULT;
-
-void set_output(uint8_t output) {
- set_output_user(output);
- desired_output = output;
-}
-
-__attribute__((weak))
-void set_output_user(uint8_t output) {
-}
-
-uint8_t auto_detect_output(void) {
- if (USB_DeviceState == DEVICE_STATE_Configured) {
- return OUTPUT_USB;
- }
-
-#ifdef ADAFRUIT_BLE_ENABLE
- if (adafruit_ble_is_connected()) {
- return OUTPUT_ADAFRUIT_BLE;
- }
-#endif
-
-#ifdef BLUETOOTH_ENABLE
- return OUTPUT_BLUETOOTH; // should check if BT is connected here
-#endif
-
- return OUTPUT_NONE;
-}
-
-uint8_t where_to_send(void) {
- if (desired_output == OUTPUT_AUTO) {
- return auto_detect_output();
- }
- return desired_output;
-}
-
diff --git a/tmk_core/protocol/lufa/outputselect.h b/tmk_core/protocol/lufa/outputselect.h
deleted file mode 100644
index 79b4dd35dd..0000000000
--- a/tmk_core/protocol/lufa/outputselect.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2017 Priyadi Iman Nurcahyo
-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 .
-*/
-
-enum outputs {
- OUTPUT_AUTO,
-
- OUTPUT_NONE,
- OUTPUT_USB,
- OUTPUT_BLUETOOTH,
- OUTPUT_ADAFRUIT_BLE,
-
- // backward compatibility
- OUTPUT_USB_AND_BT
-};
-
-/**
- * backward compatibility for BLUETOOTH_ENABLE, send to BT and USB by default
- */
-#ifndef OUTPUT_DEFAULT
- #ifdef BLUETOOTH_ENABLE
- #define OUTPUT_DEFAULT OUTPUT_USB_AND_BT
- #else
- #define OUTPUT_DEFAULT OUTPUT_AUTO
- #endif
-#endif
-
-void set_output(uint8_t output);
-void set_output_user(uint8_t output);
-uint8_t auto_detect_output(void);
-uint8_t where_to_send(void);
\ No newline at end of file
diff --git a/tmk_core/protocol/outputselect.c b/tmk_core/protocol/outputselect.c
new file mode 100644
index 0000000000..5d2457bfff
--- /dev/null
+++ b/tmk_core/protocol/outputselect.c
@@ -0,0 +1,56 @@
+/*
+Copyright 2017 Priyadi Iman Nurcahyo
+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 .
+*/
+
+#include "lufa.h"
+#include "outputselect.h"
+#ifdef ADAFRUIT_BLE_ENABLE
+ #include "adafruit_ble.h"
+#endif
+
+uint8_t desired_output = OUTPUT_DEFAULT;
+
+void set_output(uint8_t output) {
+ set_output_user(output);
+ desired_output = output;
+}
+
+__attribute__((weak))
+void set_output_user(uint8_t output) {
+}
+
+uint8_t auto_detect_output(void) {
+ if (USB_DeviceState == DEVICE_STATE_Configured) {
+ return OUTPUT_USB;
+ }
+
+#ifdef ADAFRUIT_BLE_ENABLE
+ if (adafruit_ble_is_connected()) {
+ return OUTPUT_ADAFRUIT_BLE;
+ }
+#endif
+
+#ifdef BLUETOOTH_ENABLE
+ return OUTPUT_BLUETOOTH; // should check if BT is connected here
+#endif
+
+ return OUTPUT_NONE;
+}
+
+uint8_t where_to_send(void) {
+ if (desired_output == OUTPUT_AUTO) {
+ return auto_detect_output();
+ }
+ return desired_output;
+}
+
diff --git a/tmk_core/protocol/outputselect.h b/tmk_core/protocol/outputselect.h
new file mode 100644
index 0000000000..79b4dd35dd
--- /dev/null
+++ b/tmk_core/protocol/outputselect.h
@@ -0,0 +1,41 @@
+/*
+Copyright 2017 Priyadi Iman Nurcahyo
+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 .
+*/
+
+enum outputs {
+ OUTPUT_AUTO,
+
+ OUTPUT_NONE,
+ OUTPUT_USB,
+ OUTPUT_BLUETOOTH,
+ OUTPUT_ADAFRUIT_BLE,
+
+ // backward compatibility
+ OUTPUT_USB_AND_BT
+};
+
+/**
+ * backward compatibility for BLUETOOTH_ENABLE, send to BT and USB by default
+ */
+#ifndef OUTPUT_DEFAULT
+ #ifdef BLUETOOTH_ENABLE
+ #define OUTPUT_DEFAULT OUTPUT_USB_AND_BT
+ #else
+ #define OUTPUT_DEFAULT OUTPUT_AUTO
+ #endif
+#endif
+
+void set_output(uint8_t output);
+void set_output_user(uint8_t output);
+uint8_t auto_detect_output(void);
+uint8_t where_to_send(void);
\ No newline at end of file
--
cgit v1.2.3
From 2bef8b5b88547ce28fb056559b058e35109278b3 Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo
Date: Wed, 1 Feb 2017 19:37:52 +0700
Subject: Limit outputselect to AVR only for now
---
quantum/quantum.c | 4 +++
quantum/quantum.h | 1 -
tmk_core/protocol/lufa.mk | 2 +-
tmk_core/protocol/lufa/outputselect.c | 56 +++++++++++++++++++++++++++++++++++
tmk_core/protocol/lufa/outputselect.h | 41 +++++++++++++++++++++++++
tmk_core/protocol/outputselect.c | 56 -----------------------------------
tmk_core/protocol/outputselect.h | 41 -------------------------
7 files changed, 102 insertions(+), 99 deletions(-)
create mode 100644 tmk_core/protocol/lufa/outputselect.c
create mode 100644 tmk_core/protocol/lufa/outputselect.h
delete mode 100644 tmk_core/protocol/outputselect.c
delete mode 100644 tmk_core/protocol/outputselect.h
(limited to 'tmk_core/protocol/lufa/outputselect.c')
diff --git a/quantum/quantum.c b/quantum/quantum.c
index 1d1a691e24..585692d4a3 100644
--- a/quantum/quantum.c
+++ b/quantum/quantum.c
@@ -1,5 +1,7 @@
#include "quantum.h"
+#if defined(__AVR__)
#include "outputselect.h"
+#endif
#ifndef TAPPING_TERM
#define TAPPING_TERM 200
@@ -213,6 +215,7 @@ bool process_record_quantum(keyrecord_t *record) {
return false;
break;
#endif
+ #if defined(__AVR__)
case OUT_AUTO:
if (record->event.pressed) {
set_output(OUTPUT_AUTO);
@@ -241,6 +244,7 @@ bool process_record_quantum(keyrecord_t *record) {
return false;
break;
#endif
+ #endif
case MAGIC_SWAP_CONTROL_CAPSLOCK ... MAGIC_TOGGLE_NKRO:
if (record->event.pressed) {
// MAGIC actions (BOOTMAGIC without the boot)
diff --git a/quantum/quantum.h b/quantum/quantum.h
index e6adf974ab..810e9e4bb7 100644
--- a/quantum/quantum.h
+++ b/quantum/quantum.h
@@ -15,7 +15,6 @@
#ifdef RGBLIGHT_ENABLE
#include "rgblight.h"
#endif
-
#include "action_layer.h"
#include "eeconfig.h"
#include
diff --git a/tmk_core/protocol/lufa.mk b/tmk_core/protocol/lufa.mk
index 26337cb946..de0cc795f6 100644
--- a/tmk_core/protocol/lufa.mk
+++ b/tmk_core/protocol/lufa.mk
@@ -8,7 +8,7 @@ LUFA_PATH ?= $(LUFA_DIR)/LUFA-git
ifneq (, $(wildcard $(TMK_PATH)/$(LUFA_PATH)/LUFA/Build/lufa_sources.mk))
# New build system from 20120730
LUFA_ROOT_PATH = $(LUFA_PATH)/LUFA
- include $(TMK_PATH)/$(LUFA_PATH)/LUFA/Build/lufa_sources.mk
+ include $(TMK_PATH)/$(LUFA_PATH)/LUFA/Build/lufa_sources.mk
else
include $(TMK_PATH)/$(LUFA_PATH)/LUFA/makefile
endif
diff --git a/tmk_core/protocol/lufa/outputselect.c b/tmk_core/protocol/lufa/outputselect.c
new file mode 100644
index 0000000000..0110928ded
--- /dev/null
+++ b/tmk_core/protocol/lufa/outputselect.c
@@ -0,0 +1,56 @@
+/*
+Copyright 2017 Priyadi Iman Nurcahyo
+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 .
+*/
+
+#include "quantum.h"
+#include "outputselect.h"
+#ifdef ADAFRUIT_BLE_ENABLE
+ #include "adafruit_ble.h"
+#endif
+
+uint8_t desired_output = OUTPUT_DEFAULT;
+
+void set_output(uint8_t output) {
+ set_output_user(output);
+ desired_output = output;
+}
+
+__attribute__((weak))
+void set_output_user(uint8_t output) {
+}
+
+uint8_t auto_detect_output(void) {
+ if (USB_DeviceState == DEVICE_STATE_Configured) {
+ return OUTPUT_USB;
+ }
+
+#ifdef ADAFRUIT_BLE_ENABLE
+ if (adafruit_ble_is_connected()) {
+ return OUTPUT_ADAFRUIT_BLE;
+ }
+#endif
+
+#ifdef BLUETOOTH_ENABLE
+ return OUTPUT_BLUETOOTH; // should check if BT is connected here
+#endif
+
+ return OUTPUT_NONE;
+}
+
+uint8_t where_to_send(void) {
+ if (desired_output == OUTPUT_AUTO) {
+ return auto_detect_output();
+ }
+ return desired_output;
+}
+
diff --git a/tmk_core/protocol/lufa/outputselect.h b/tmk_core/protocol/lufa/outputselect.h
new file mode 100644
index 0000000000..79b4dd35dd
--- /dev/null
+++ b/tmk_core/protocol/lufa/outputselect.h
@@ -0,0 +1,41 @@
+/*
+Copyright 2017 Priyadi Iman Nurcahyo
+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 .
+*/
+
+enum outputs {
+ OUTPUT_AUTO,
+
+ OUTPUT_NONE,
+ OUTPUT_USB,
+ OUTPUT_BLUETOOTH,
+ OUTPUT_ADAFRUIT_BLE,
+
+ // backward compatibility
+ OUTPUT_USB_AND_BT
+};
+
+/**
+ * backward compatibility for BLUETOOTH_ENABLE, send to BT and USB by default
+ */
+#ifndef OUTPUT_DEFAULT
+ #ifdef BLUETOOTH_ENABLE
+ #define OUTPUT_DEFAULT OUTPUT_USB_AND_BT
+ #else
+ #define OUTPUT_DEFAULT OUTPUT_AUTO
+ #endif
+#endif
+
+void set_output(uint8_t output);
+void set_output_user(uint8_t output);
+uint8_t auto_detect_output(void);
+uint8_t where_to_send(void);
\ No newline at end of file
diff --git a/tmk_core/protocol/outputselect.c b/tmk_core/protocol/outputselect.c
deleted file mode 100644
index 5d2457bfff..0000000000
--- a/tmk_core/protocol/outputselect.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2017 Priyadi Iman Nurcahyo
-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 .
-*/
-
-#include "lufa.h"
-#include "outputselect.h"
-#ifdef ADAFRUIT_BLE_ENABLE
- #include "adafruit_ble.h"
-#endif
-
-uint8_t desired_output = OUTPUT_DEFAULT;
-
-void set_output(uint8_t output) {
- set_output_user(output);
- desired_output = output;
-}
-
-__attribute__((weak))
-void set_output_user(uint8_t output) {
-}
-
-uint8_t auto_detect_output(void) {
- if (USB_DeviceState == DEVICE_STATE_Configured) {
- return OUTPUT_USB;
- }
-
-#ifdef ADAFRUIT_BLE_ENABLE
- if (adafruit_ble_is_connected()) {
- return OUTPUT_ADAFRUIT_BLE;
- }
-#endif
-
-#ifdef BLUETOOTH_ENABLE
- return OUTPUT_BLUETOOTH; // should check if BT is connected here
-#endif
-
- return OUTPUT_NONE;
-}
-
-uint8_t where_to_send(void) {
- if (desired_output == OUTPUT_AUTO) {
- return auto_detect_output();
- }
- return desired_output;
-}
-
diff --git a/tmk_core/protocol/outputselect.h b/tmk_core/protocol/outputselect.h
deleted file mode 100644
index 79b4dd35dd..0000000000
--- a/tmk_core/protocol/outputselect.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2017 Priyadi Iman Nurcahyo
-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 .
-*/
-
-enum outputs {
- OUTPUT_AUTO,
-
- OUTPUT_NONE,
- OUTPUT_USB,
- OUTPUT_BLUETOOTH,
- OUTPUT_ADAFRUIT_BLE,
-
- // backward compatibility
- OUTPUT_USB_AND_BT
-};
-
-/**
- * backward compatibility for BLUETOOTH_ENABLE, send to BT and USB by default
- */
-#ifndef OUTPUT_DEFAULT
- #ifdef BLUETOOTH_ENABLE
- #define OUTPUT_DEFAULT OUTPUT_USB_AND_BT
- #else
- #define OUTPUT_DEFAULT OUTPUT_AUTO
- #endif
-#endif
-
-void set_output(uint8_t output);
-void set_output_user(uint8_t output);
-uint8_t auto_detect_output(void);
-uint8_t where_to_send(void);
\ No newline at end of file
--
cgit v1.2.3
From 98f9a2e6dfe302ad12844a8ed140bb34ed2c592f Mon Sep 17 00:00:00 2001
From: Priyadi Iman Nurcahyo
Date: Wed, 1 Feb 2017 20:18:52 +0700
Subject: Fix wrong include
---
tmk_core/protocol/lufa/outputselect.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'tmk_core/protocol/lufa/outputselect.c')
diff --git a/tmk_core/protocol/lufa/outputselect.c b/tmk_core/protocol/lufa/outputselect.c
index 0110928ded..5d2457bfff 100644
--- a/tmk_core/protocol/lufa/outputselect.c
+++ b/tmk_core/protocol/lufa/outputselect.c
@@ -12,7 +12,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
-#include "quantum.h"
+#include "lufa.h"
#include "outputselect.h"
#ifdef ADAFRUIT_BLE_ENABLE
#include "adafruit_ble.h"
--
cgit v1.2.3