summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/arm_atsam
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/protocol/arm_atsam')
-rw-r--r--tmk_core/protocol/arm_atsam/arm_atsam.mk31
-rw-r--r--tmk_core/protocol/arm_atsam/main_arm_atsam.c2
-rw-r--r--tmk_core/protocol/arm_atsam/md_rgb_matrix.c16
-rw-r--r--tmk_core/protocol/arm_atsam/md_rgb_matrix.h8
-rw-r--r--tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c1
-rw-r--r--tmk_core/protocol/arm_atsam/spi_master.h2
6 files changed, 46 insertions, 14 deletions
diff --git a/tmk_core/protocol/arm_atsam/arm_atsam.mk b/tmk_core/protocol/arm_atsam/arm_atsam.mk
new file mode 100644
index 0000000000..ffd1fa9f50
--- /dev/null
+++ b/tmk_core/protocol/arm_atsam/arm_atsam.mk
@@ -0,0 +1,31 @@
+ARM_ATSAM_DIR = protocol/arm_atsam
+
+SRC += $(ARM_ATSAM_DIR)/adc.c
+SRC += $(ARM_ATSAM_DIR)/clks.c
+SRC += $(ARM_ATSAM_DIR)/d51_util.c
+SRC += $(ARM_ATSAM_DIR)/i2c_master.c
+ifeq ($(RGB_MATRIX_DRIVER),custom)
+ SRC += $(ARM_ATSAM_DIR)/md_rgb_matrix_programs.c
+ SRC += $(ARM_ATSAM_DIR)/md_rgb_matrix.c
+endif
+SRC += $(ARM_ATSAM_DIR)/main_arm_atsam.c
+SRC += $(ARM_ATSAM_DIR)/shift_register.c
+SRC += $(ARM_ATSAM_DIR)/spi_master.c
+SRC += $(ARM_ATSAM_DIR)/startup.c
+
+SRC += $(ARM_ATSAM_DIR)/usb/main_usb.c
+SRC += $(ARM_ATSAM_DIR)/usb/udc.c
+SRC += $(ARM_ATSAM_DIR)/usb/udi_cdc.c
+SRC += $(ARM_ATSAM_DIR)/usb/udi_hid.c
+SRC += $(ARM_ATSAM_DIR)/usb/udi_hid_kbd.c
+SRC += $(ARM_ATSAM_DIR)/usb/udi_hid_kbd_desc.c
+SRC += $(ARM_ATSAM_DIR)/usb/ui.c
+SRC += $(ARM_ATSAM_DIR)/usb/usb.c
+SRC += $(ARM_ATSAM_DIR)/usb/usb_device_udd.c
+SRC += $(ARM_ATSAM_DIR)/usb/usb_hub.c
+SRC += $(ARM_ATSAM_DIR)/usb/usb_util.c
+
+SRC += $(DRIVER_PATH)/usb2422.c
+
+# Search Path
+VPATH += $(TMK_DIR)/$(ARM_ATSAM_DIR)
diff --git a/tmk_core/protocol/arm_atsam/main_arm_atsam.c b/tmk_core/protocol/arm_atsam/main_arm_atsam.c
index 1ccfbfb54a..30817c17b6 100644
--- a/tmk_core/protocol/arm_atsam/main_arm_atsam.c
+++ b/tmk_core/protocol/arm_atsam/main_arm_atsam.c
@@ -21,9 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "report.h"
#include "host.h"
#include "host_driver.h"
+#include "suspend.h"
#include "keycode_config.h"
#include <string.h>
-#include "quantum.h"
// From protocol directory
#include "arm_atsam_protocol.h"
diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c
index 52fe86d297..0f316b256c 100644
--- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.c
+++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.c
@@ -23,6 +23,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# include "arm_atsam_protocol.h"
# include "led.h"
# include "rgb_matrix.h"
+# include "eeprom.h"
+# include "host.h"
# include <string.h>
# include <math.h>
@@ -347,24 +349,24 @@ static void flush(void) {
}
void md_rgb_matrix_indicators_advanced(uint8_t led_min, uint8_t led_max) {
- uint8_t kbled = keyboard_leds();
- if (kbled && rgb_matrix_config.enable) {
+ led_t led_state = host_keyboard_led_state();
+ if (led_state.raw && rgb_matrix_config.enable) {
for (uint8_t i = led_min; i < led_max; i++) {
if (
# if USB_LED_NUM_LOCK_SCANCODE != 255
- (led_map[i].scan == USB_LED_NUM_LOCK_SCANCODE && (kbled & (1 << USB_LED_NUM_LOCK))) ||
+ (led_map[i].scan == USB_LED_NUM_LOCK_SCANCODE && led_state.num_lock) ||
# endif // NUM LOCK
# if USB_LED_CAPS_LOCK_SCANCODE != 255
- (led_map[i].scan == USB_LED_CAPS_LOCK_SCANCODE && (kbled & (1 << USB_LED_CAPS_LOCK))) ||
+ (led_map[i].scan == USB_LED_CAPS_LOCK_SCANCODE && led_state.caps_lock) ||
# endif // CAPS LOCK
# if USB_LED_SCROLL_LOCK_SCANCODE != 255
- (led_map[i].scan == USB_LED_SCROLL_LOCK_SCANCODE && (kbled & (1 << USB_LED_SCROLL_LOCK))) ||
+ (led_map[i].scan == USB_LED_SCROLL_LOCK_SCANCODE && led_state.scroll_lock) ||
# endif // SCROLL LOCK
# if USB_LED_COMPOSE_SCANCODE != 255
- (led_map[i].scan == USB_LED_COMPOSE_SCANCODE && (kbled & (1 << USB_LED_COMPOSE))) ||
+ (led_map[i].scan == USB_LED_COMPOSE_SCANCODE && led_state.compose) ||
# endif // COMPOSE
# if USB_LED_KANA_SCANCODE != 255
- (led_map[i].scan == USB_LED_KANA_SCANCODE && (kbled & (1 << USB_LED_KANA))) ||
+ (led_map[i].scan == USB_LED_KANA_SCANCODE && led_state.kana) ||
# endif // KANA
(0)) {
if (rgb_matrix_get_flags() & LED_FLAG_INDICATOR) {
diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix.h b/tmk_core/protocol/arm_atsam/md_rgb_matrix.h
index f27da028a0..bb3312e8e7 100644
--- a/tmk_core/protocol/arm_atsam/md_rgb_matrix.h
+++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix.h
@@ -15,11 +15,9 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef _LED_MATRIX_H_
-#define _LED_MATRIX_H_
+#pragma once
-#include "quantum.h"
-#include "eeprom.h"
+#include <stdint.h>
// From keyboard
#include "config_led.h"
@@ -200,5 +198,3 @@ void md_led_changed(void);
#else
extern uint8_t gcr_desired;
#endif // USE_MASSDROP_CONFIGURATOR
-
-#endif //_LED_MATRIX_H_
diff --git a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c
index 58fc4efd9c..476b605297 100644
--- a/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c
+++ b/tmk_core/protocol/arm_atsam/md_rgb_matrix_programs.c
@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
# ifdef USE_MASSDROP_CONFIGURATOR
# include "md_rgb_matrix.h"
+# include "util.h"
// Teal <-> Salmon
led_setup_t leds_teal_salmon[] = {
diff --git a/tmk_core/protocol/arm_atsam/spi_master.h b/tmk_core/protocol/arm_atsam/spi_master.h
index 26c55128be..80678a5707 100644
--- a/tmk_core/protocol/arm_atsam/spi_master.h
+++ b/tmk_core/protocol/arm_atsam/spi_master.h
@@ -16,7 +16,9 @@
#pragma once
+#include <stdint.h>
#include <stdbool.h>
+#include "gpio.h"
typedef int16_t spi_status_t;