Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor Lily58 to use split_common #6260

Merged
merged 29 commits into from
May 4, 2020
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
073b9ef
Refactor core keyboard files to use split_common
yyc Jul 5, 2019
0808bfa
Refactor OLED libs for compatibility with split_common
yyc Jul 5, 2019
43207e9
Override default glcd font to get lily58 logo
yyc Jul 5, 2019
3d6ae58
Switch to OLED library, clean up references to SSD1306OLED, and updat…
yyc Jul 5, 2019
651463b
Remove duplicated #define tapping_term
yyc Jul 5, 2019
279b482
Add in logo_reader that was accidentally deleted
yyc Jul 5, 2019
4c154e2
fix yuchi keymap as well to get CI passing
yyc Jul 5, 2019
ee19c87
remove serial_config
yyc Jul 6, 2019
8627e43
Merge branch 'master' into lily58_refactor
drashna Aug 8, 2019
761afad
keyboards/lily58/lib/layer_state_reader.c
yyc Sep 22, 2019
a037c2e
incorporate layer changes
yyc Sep 22, 2019
4243763
add my own lily58 keymap
yyc Sep 22, 2019
20abc71
Merge branch 'lily58_refactor' of github.com:yyc/qmk_firmware into li…
yyc Sep 22, 2019
5c8404a
incorporate suggestions and fix CI warnings
yyc Sep 22, 2019
a75158d
Merge branch 'master' of github.com:qmk/qmk_firmware into lily58_refa…
yyc Sep 22, 2019
a815bbb
Remove reference to SSD1306OLED in @ninjonas' build
yyc Sep 22, 2019
b6c1a0f
Merge branch 'master' into lily58_refactor
yyc Oct 21, 2019
e3c1f54
Update ninjonas.c
yyc Oct 21, 2019
9fa6a46
Merge branch 'master' of github.com:qmk/qmk_firmware into lily58_refa…
yyc Nov 4, 2019
8647d94
fix build/import issues
yyc Nov 4, 2019
24d5a56
update km
yyc Jan 31, 2020
a100f39
update debounce
yyc Apr 21, 2020
2173803
Merge branch 'master' of github.com:qmk/qmk_firmware into lily58_refa…
yyc Apr 21, 2020
d1060ba
update DIODE_DIRECTION
yyc Apr 21, 2020
27ae28b
address comments
yyc Apr 21, 2020
ff4e47b
Merge branch 'future' of github.com:qmk/qmk_firmware into lily58_refa…
yyc May 3, 2020
4ac3106
address comments
yyc May 3, 2020
ba60bfb
add Changelog
yyc May 3, 2020
45a8c23
Apply suggestions
yyc May 3, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 4 additions & 3 deletions keyboards/lily58/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "config_common.h"
#include <serial_config.h>
drashna marked this conversation as resolved.
Show resolved Hide resolved

#define USE_I2C
#define USE_SERIAL

#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

// Use the lily version to get the Lily58 logo instead of the qmk logo
#define OLED_FONT_H "lib/glcdfont_lily.c"

162 changes: 0 additions & 162 deletions keyboards/lily58/i2c.c

This file was deleted.

46 changes: 0 additions & 46 deletions keyboards/lily58/i2c.h

This file was deleted.

4 changes: 1 addition & 3 deletions keyboards/lily58/keymaps/default/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
// #define MASTER_RIGHT
// #define EE_HANDS

#define SSD1306OLED

#define USE_SERIAL_PD2

#define TAPPING_FORCE_HOLD
Expand All @@ -49,4 +47,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define RGBLED_NUM 14 // Number of LEDs
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_SLEEP
*/
*/
56 changes: 20 additions & 36 deletions keyboards/lily58/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -136,16 +136,18 @@ void matrix_init_user(void) {
#ifdef RGBLIGHT_ENABLE
RGB_current_mode = rgblight_config.mode;
#endif
//SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h
#ifdef SSD1306OLED
iota_gfx_init(!has_usb()); // turns on the display
#endif
}

//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
#ifdef SSD1306OLED
//SSD1306 OLED update loop, make sure to enable OLED_DRIVER_ENABLE=yes in rules.mk
#ifdef OLED_DRIVER_ENABLE

oled_rotation_t oled_init_user(oled_rotation_t rotation) {
if (!is_keyboard_master())
return OLED_ROTATION_180; // flips the display 180 degrees if offhand
return rotation;
}

// When add source files to SRC in rules.mk, you can use functions.
// When you add source files to SRC in rules.mk, you can use functions.
const char *read_layer_state(void);
const char *read_logo(void);
void set_keylog(uint16_t keycode, keyrecord_t *record);
Expand All @@ -157,42 +159,24 @@ const char *read_keylogs(void);
// void set_timelog(void);
// const char *read_timelog(void);

void matrix_scan_user(void) {
iota_gfx_task();
}

void matrix_render_user(struct CharacterMatrix *matrix) {
if (is_master) {
void oled_task_user(void) {
if (is_keyboard_master()) {
// If you want to change the display of OLED, you need to change here
matrix_write_ln(matrix, read_layer_state());
matrix_write_ln(matrix, read_keylog());
matrix_write_ln(matrix, read_keylogs());
//matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui));
//matrix_write_ln(matrix, read_host_led_state());
//matrix_write_ln(matrix, read_timelog());
oled_write_ln(read_layer_state(), false);
oled_write_ln(read_keylog(), false);
oled_write_ln(read_keylogs(), false);
//oled_write_ln(read_mode_icon(keymap_config.swap_lalt_lgui), false);
//oled_write_ln(read_host_led_state(), false);
//oled_write_ln(read_timelog(), false);
} else {
matrix_write(matrix, read_logo());
oled_write(read_logo(), false);
}
}

void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) {
if (memcmp(dest->display, source->display, sizeof(dest->display))) {
memcpy(dest->display, source->display, sizeof(dest->display));
dest->dirty = true;
}
}

void iota_gfx_task_user(void) {
struct CharacterMatrix matrix;
matrix_clear(&matrix);
matrix_render_user(&matrix);
matrix_update(&display, &matrix);
}
#endif//SSD1306OLED
#endif // OLED_DRIVER_ENABLE

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
#ifdef SSD1306OLED
#ifdef OLED_DRIVER_ENABLE
set_keylog(keycode, record);
#endif
// set_timelog();
Expand Down
4 changes: 2 additions & 2 deletions keyboards/lily58/keymaps/default/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight.
SWAP_HANDS_ENABLE = no # Enable one-hand typing
OLED_DRIVER_ENABLE= yes # OLED display

# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend

# If you want to change the display of OLED, you need to change here
SRC += ./lib/glcdfont.c \
./lib/rgb_state_reader.c \
SRC += ./lib/rgb_state_reader.c \
./lib/layer_state_reader.c \
./lib/logo_reader.c \
./lib/keylogger.c \
Expand Down