summaryrefslogtreecommitdiffstats
path: root/keyboards/crkbd/keymaps/lib
diff options
context:
space:
mode:
authormarksard <38324387+marksard@users.noreply.github.com>2018-08-23 01:51:37 +0900
committerDrashna Jaelre <drashna@live.com>2018-08-22 09:51:37 -0700
commit6076ed85be111f0e88c7049aa3d2e69eed5005a1 (patch)
treeda704f8828a63245ea2333c883462b2f96591212 /keyboards/crkbd/keymaps/lib
parent9d27d5544365b988575ca3face308d30feb40c86 (diff)
Keyboard: Partial refactor of the crkbd code (#3600)
* Add display to LED-parameters function * Improvement of update timing for OLED display (Need TWI_Init)
Diffstat (limited to 'keyboards/crkbd/keymaps/lib')
-rw-r--r--keyboards/crkbd/keymaps/lib/host_led_state_reader.c16
-rw-r--r--keyboards/crkbd/keymaps/lib/keylogger.c46
-rw-r--r--keyboards/crkbd/keymaps/lib/layer_state_reader.c38
-rw-r--r--keyboards/crkbd/keymaps/lib/logo_reader.c13
-rw-r--r--keyboards/crkbd/keymaps/lib/mode_icon_reader.c12
-rw-r--r--keyboards/crkbd/keymaps/lib/rgb_state_reader.c15
-rw-r--r--keyboards/crkbd/keymaps/lib/timelogger.c13
7 files changed, 83 insertions, 70 deletions
diff --git a/keyboards/crkbd/keymaps/lib/host_led_state_reader.c b/keyboards/crkbd/keymaps/lib/host_led_state_reader.c
index c19af11f8a..41ac55dc2b 100644
--- a/keyboards/crkbd/keymaps/lib/host_led_state_reader.c
+++ b/keyboards/crkbd/keymaps/lib/host_led_state_reader.c
@@ -1,13 +1,15 @@
+#include <stdio.h>
#include "crkbd.h"
-char host_led_state[40];
+char host_led_state_str[24];
-char *read_host_led_state(void)
+const char *read_host_led_state(void)
{
- snprintf(host_led_state, sizeof(host_led_state), "\n%s %s %s",
- (host_keyboard_leds() & (1 << USB_LED_NUM_LOCK)) ? "NUMLOCK" : " ",
- (host_keyboard_leds() & (1 << USB_LED_CAPS_LOCK)) ? "CAPS" : " ",
- (host_keyboard_leds() & (1 << USB_LED_SCROLL_LOCK)) ? "SCLK" : " ");
+ uint8_t leds = host_keyboard_leds();
+ snprintf(host_led_state_str, sizeof(host_led_state_str), "NL:%s CL:%s SL:%s",
+ (leds & (1 << USB_LED_NUM_LOCK)) ? "on" : "- ",
+ (leds & (1 << USB_LED_CAPS_LOCK)) ? "on" : "- ",
+ (leds & (1 << USB_LED_SCROLL_LOCK)) ? "on" : "- ");
- return host_led_state;
+ return host_led_state_str;
}
diff --git a/keyboards/crkbd/keymaps/lib/keylogger.c b/keyboards/crkbd/keymaps/lib/keylogger.c
index ee14ff0335..8f2a8ce3cc 100644
--- a/keyboards/crkbd/keymaps/lib/keylogger.c
+++ b/keyboards/crkbd/keymaps/lib/keylogger.c
@@ -1,10 +1,11 @@
+#include <stdio.h>
#include "crkbd.h"
-char keylog[40] = {};
-char keylogs[21] = {};
-int keylogs_idx = 0;
+char keylog_str[24] = {};
+char keylogs_str[21] = {};
+int keylogs_str_idx = 0;
-char code_to_name[60] = {
+const char code_to_name[60] = {
' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
@@ -12,38 +13,33 @@ char code_to_name[60] = {
'R', 'E', 'B', 'T', ' ', ' ', ' ', ' ', ' ', ' ',
' ', ';', '\'', ' ', ',', '.', '/', ' ', ' ', ' '};
-void set_keylog(uint16_t keycode, keyrecord_t *record)
-{
+void set_keylog(uint16_t keycode, keyrecord_t *record) {
char name = ' ';
- if (keycode < 60)
- {
+ if (keycode < 60) {
name = code_to_name[keycode];
}
// update keylog
- snprintf(keylog, sizeof(keylog), "%dx%d, k%2d : %c",
- record->event.key.row,
- record->event.key.col,
- keycode,
- name);
+ snprintf(keylog_str, sizeof(keylog_str), "%dx%d, k%2d : %c",
+ record->event.key.row, record->event.key.col,
+ keycode, name);
// update keylogs
- if (keylogs_idx == sizeof(keylogs) - 1)
- {
- keylogs_idx = 0;
- for (int i = 0; i < sizeof(keylogs) - 1; i++)
- {
- keylogs[i] = ' ';
+ if (keylogs_str_idx == sizeof(keylogs_str) - 1) {
+ keylogs_str_idx = 0;
+ for (int i = 0; i < sizeof(keylogs_str) - 1; i++) {
+ keylogs_str[i] = ' ';
}
}
- keylogs[keylogs_idx] = name;
- keylogs_idx++;
+
+ keylogs_str[keylogs_str_idx] = name;
+ keylogs_str_idx++;
}
-char *read_keylog(void) {
- return keylog;
+const char *read_keylog(void) {
+ return keylog_str;
}
-char *read_keylogs(void) {
- return keylogs;
+const char *read_keylogs(void) {
+ return keylogs_str;
}
diff --git a/keyboards/crkbd/keymaps/lib/layer_state_reader.c b/keyboards/crkbd/keymaps/lib/layer_state_reader.c
index f79720d6f9..eddb71337e 100644
--- a/keyboards/crkbd/keymaps/lib/layer_state_reader.c
+++ b/keyboards/crkbd/keymaps/lib/layer_state_reader.c
@@ -1,3 +1,6 @@
+
+#include QMK_KEYBOARD_H
+#include <stdio.h>
#include "crkbd.h"
#define L_BASE 0
@@ -6,27 +9,26 @@
#define L_ADJUST 65536
#define L_ADJUST_TRI 65560
-char layer_state_str[40];
+char layer_state_str[24];
-char *read_layer_state(void)
-{
+const char *read_layer_state(void) {
switch (layer_state)
{
- case L_BASE:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default");
- break;
- case L_RAISE:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
- break;
- case L_LOWER:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower");
- break;
- case L_ADJUST:
- case L_ADJUST_TRI:
- snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
- break;
- default:
- snprintf(layer_state_str,sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
+ case L_BASE:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Default");
+ break;
+ case L_RAISE:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Raise");
+ break;
+ case L_LOWER:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Lower");
+ break;
+ case L_ADJUST:
+ case L_ADJUST_TRI:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Adjust");
+ break;
+ default:
+ snprintf(layer_state_str, sizeof(layer_state_str), "Layer: Undef-%ld", layer_state);
}
return layer_state_str;
diff --git a/keyboards/crkbd/keymaps/lib/logo_reader.c b/keyboards/crkbd/keymaps/lib/logo_reader.c
index 46de17bfe0..1bc1503a60 100644
--- a/keyboards/crkbd/keymaps/lib/logo_reader.c
+++ b/keyboards/crkbd/keymaps/lib/logo_reader.c
@@ -1,12 +1,11 @@
#include "crkbd.h"
-char *read_logo(void)
-{
- static char logo[]={
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
- 0};
+const char *read_logo(void) {
+ static char logo[] = {
+ 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
+ 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
+ 0};
return logo;
}
diff --git a/keyboards/crkbd/keymaps/lib/mode_icon_reader.c b/keyboards/crkbd/keymaps/lib/mode_icon_reader.c
index cb3d8adb12..04c226506a 100644
--- a/keyboards/crkbd/keymaps/lib/mode_icon_reader.c
+++ b/keyboards/crkbd/keymaps/lib/mode_icon_reader.c
@@ -1,13 +1,13 @@
+#include <stdio.h>
#include "crkbd.h"
-char mode_icon[40];
+char mode_icon[24];
-char *read_mode_icon(bool swap)
-{
- static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
- if(swap == false){
+const char *read_mode_icon(bool swap) {
+ static char logo[][2][3] = {{{0x95, 0x96, 0}, {0xb5, 0xb6, 0}}, {{0x97, 0x98, 0}, {0xb7, 0xb8, 0}}};
+ if (swap == false) {
snprintf(mode_icon, sizeof(mode_icon), "%s\n%s", logo[0][0], logo[0][1]);
- }else{
+ } else {
snprintf(mode_icon, sizeof(mode_icon), "%s\n%s", logo[1][0], logo[1][1]);
}
diff --git a/keyboards/crkbd/keymaps/lib/rgb_state_reader.c b/keyboards/crkbd/keymaps/lib/rgb_state_reader.c
new file mode 100644
index 0000000000..e0efe2e528
--- /dev/null
+++ b/keyboards/crkbd/keymaps/lib/rgb_state_reader.c
@@ -0,0 +1,15 @@
+#ifdef RGBLIGHT_ENABLE
+
+#include QMK_KEYBOARD_H
+#include <stdio.h>
+
+extern rgblight_config_t rgblight_config;
+char rbf_info_str[24];
+const char *read_rgb_info(void) {
+
+ snprintf(rbf_info_str, sizeof(rbf_info_str), "%s %2d h%3d s%3d v%3d",
+ rgblight_config.enable ? "on" : "- ", rgblight_config.mode,
+ rgblight_config.hue, rgblight_config.sat, rgblight_config.val);
+ return rbf_info_str;
+}
+#endif
diff --git a/keyboards/crkbd/keymaps/lib/timelogger.c b/keyboards/crkbd/keymaps/lib/timelogger.c
index 0e22bafe7f..69828a3a08 100644
--- a/keyboards/crkbd/keymaps/lib/timelogger.c
+++ b/keyboards/crkbd/keymaps/lib/timelogger.c
@@ -1,17 +1,16 @@
+#include <stdio.h>
#include "crkbd.h"
-char timelog[40] = {};
+char timelog_str[24] = {};
int last_time = 0;
int elapsed_time = 0;
-void set_timelog(void)
-{
+void set_timelog(void) {
elapsed_time = timer_elapsed(last_time);
last_time = timer_read();
- snprintf(timelog, sizeof(timelog), "lt:%5d, et:%5d", last_time, elapsed_time);
+ snprintf(timelog_str, sizeof(timelog_str), "lt:%5d, et:%5d", last_time, elapsed_time);
}
-char *read_timelog(void)
-{
- return timelog;
+const char *read_timelog(void) {
+ return timelog_str;
}