1
0

Compare commits

..

2 Commits

Author SHA1 Message Date
Joel Challis
7fb312ccd7 Fix use of ISSI driver config before init (#16493) 2022-03-03 22:35:51 +00:00
Takeshi ISHII
4a66bdf294 Fix helix/rev2 not working properly when using split_common. (#16512)
When helix/rev2 was using split_common, it didn't work properly and I couldn't type on the right hand side.

The cause is that the following code, added in 0.16.0 to `quantum/keyboard.c`, does not include `quantum/split_common/split_util.h` but instead includes `keyboards/helix/rev2/split_util.h`. Therefore, `split_pre_init()/split_post_init()` in `quantum/split_common/split_util.c` was not called.

```c
  #ifdef SPLIT_KEYBOARD
  #    include "split_util.h"
  #endif
```
2022-03-03 20:23:49 +00:00
9 changed files with 18 additions and 9 deletions

View File

@@ -1,5 +1,10 @@
#pragma once
#ifdef SPLIT_KEYBOARD
# error This is helix local split_util.h.
# error This header file is used only when SPLIT_KEYBOARD=no.
#endif
#include <stdbool.h>
#include "eeconfig.h"
@@ -14,7 +19,3 @@ void split_keyboard_setup(void);
bool is_helix_master(void);
void matrix_master_OLED_init (void);
// stubs as this is handled by legacy code
static inline void split_pre_init(void){}
static inline void split_post_init(void){}

View File

@@ -52,9 +52,10 @@ ifneq ($(strip $(SPLIT_KEYBOARD)), yes)
CUSTOM_MATRIX = yes
SRC += rev2/matrix.c
SRC += rev2/split_util.c
SRC += rev2/split_scomm.c
SRC += rev2/custom/matrix.c
SRC += rev2/custom/split_util.c
SRC += rev2/custom/split_scomm.c
KEYBOARD_PATHS += $(HELIX_TOP_DIR)/rev2/custom
endif
########

View File

@@ -297,6 +297,9 @@ uint8_t I2C3733_Init_Drivers(void) {
if (gcr_actual > LED_GCR_MAX) gcr_actual = LED_GCR_MAX;
gcr_desired = gcr_actual;
void issi3733_prepare_arrays(void);
issi3733_prepare_arrays();
// Set up master device
i2c_led_send_CRWL(0);
i2c_led_select_page(0, 3);

View File

@@ -300,8 +300,6 @@ int main(void) {
i2c1_init();
#endif // RGB_MATRIX_ENABLE
matrix_init();
USB_Hub_init();
DBGC(DC_MAIN_UDC_START_BEGIN);

View File

@@ -206,6 +206,12 @@ void gcr_compute(void) {
}
void issi3733_prepare_arrays(void) {
static bool s_init = false;
if (s_init) {
return;
}
s_init = true;
memset(issidrv, 0, sizeof(issi3733_driver_t) * ISSI3733_DRIVER_COUNT);
int i;