Doc Fixes & Custom Matrix Fix (#14526)
This commit is contained in:
		
							parent
							
								
									121ca7eca9
								
							
						
					
					
						commit
						4dbeeaa0d6
					
				
					 5 changed files with 41 additions and 26 deletions
				
			
		|  | @ -159,6 +159,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
|     } | ||||
| } | ||||
| 
 | ||||
| //#define MATRIX_SCAN_DEBUG
 | ||||
| #if !defined(MATRIX_SCAN_DEBUG) | ||||
| static void render_layer(void) { | ||||
|     // Host Keyboard Layer Status
 | ||||
|     oled_write_P(PSTR("Layer"), false); | ||||
|  | @ -190,8 +192,8 @@ static void render_touch(void) | |||
|     oled_write_P(!touch_encoder_toggled() ? PSTR("TOUCH")  : PSTR("     "), false); | ||||
|     oled_write_P(touch_encoder_calibrating() ? PSTR("CLBRT")  : PSTR("     "), false); | ||||
| } | ||||
| 
 | ||||
| /*static uint32_t scan_counter = 0;
 | ||||
| #else | ||||
| static uint32_t scan_counter = 0; | ||||
| static uint32_t scan_value = 0; | ||||
| static uint16_t scan_timer = 1000; | ||||
| 
 | ||||
|  | @ -218,27 +220,27 @@ void render_debug_scan(void) { | |||
|     static char buffer[6] = {0}; | ||||
|     snprintf(buffer, sizeof(buffer), "%5d", scan_value); | ||||
|     oled_write_ln_P(buffer, false); | ||||
| }*/ | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| void oled_task_user(void) { | ||||
| #if !defined(MATRIX_SCAN_DEBUG) | ||||
|     if (is_keyboard_left()) { | ||||
|         render_layer(); | ||||
|         oled_write_P(PSTR("     "), false); | ||||
|         render_leds(); | ||||
|         oled_write_P(PSTR("     "), false); | ||||
|         render_touch(); | ||||
|         //oled_write_P(PSTR("     "), false);
 | ||||
|         //render_debug_scan();
 | ||||
|         oled_set_cursor(0, 12); | ||||
|         render_icon(); | ||||
|     } | ||||
|     else { | ||||
|         render_rgb_menu(); | ||||
|         //oled_write_P(PSTR("     "), false);
 | ||||
|         //render_debug_scan();
 | ||||
|         oled_set_cursor(0, 12); | ||||
|         render_icon(); | ||||
|     } | ||||
| #else | ||||
|     oled_write_P(PSTR("     "), false); | ||||
|     render_debug_scan(); | ||||
| #endif | ||||
|     oled_set_cursor(0, 12); | ||||
|     render_icon(); | ||||
| } | ||||
| 
 | ||||
| oled_rotation_t oled_init_user(oled_rotation_t rotation) { | ||||
|  |  | |||
|  | @ -1,4 +1,3 @@ | |||
| MOUSEKEY_ENABLE = yes	# using for mouse wheel up and down, more granular than page up/down | ||||
| 
 | ||||
| OPT_DEFS += -DRGB_UNLIMITED_POWER | ||||
| #DEBOUNCE_TYPE = sym_eager_pk
 | ||||
| OPT_DEFS += -DRGB_UNLIMITED_POWER | ||||
|  | @ -11,7 +11,19 @@ | |||
| #include "atomic_util.h" | ||||
| #include "gpio.h" | ||||
| 
 | ||||
| static pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; | ||||
| #define ROWS_PER_HAND (MATRIX_ROWS / 2) | ||||
| static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS; | ||||
| static const pin_t col_pins[MATRIX_COLS]   = MATRIX_COL_PINS; | ||||
| 
 | ||||
| void matrix_init_pins(void) { | ||||
|     for (size_t i = 0; i < MATRIX_COLS; i++) { | ||||
|         setPinInputHigh(col_pins[i]); | ||||
|     } | ||||
|     for (size_t i = 0; i < ROWS_PER_HAND; i++) { | ||||
|         setPinOutput(row_pins[i]); | ||||
|         writePinHigh(row_pins[i]); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) { | ||||
|     /* Drive row pin low. */ | ||||
|  | @ -22,15 +34,17 @@ void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) | |||
|     uint16_t porta = palReadPort(GPIOA); | ||||
|     uint16_t portb = palReadPort(GPIOB); | ||||
| 
 | ||||
| // clang-format off
 | ||||
|     /* Order of pins on the mun is: A0, B11, B0, B10, B12, B2, A8
 | ||||
|         Pin is active low, therefore we have to invert the result. */ | ||||
|     matrix_row_t cols = ~(((porta & (0x1 << 0)) >> 0)      // A0 (0)
 | ||||
|                             | ((portb & (0x1 << 11)) >> 10)  // B11 (1)
 | ||||
|                             | ((portb & (0x1 << 0)) << 2)    // B0 (2)
 | ||||
|                             | ((portb & (0x1 << 10)) >> 7)   // B10 (3)
 | ||||
|                             | ((portb & (0x1 << 12)) >> 8)   // B12 (4)
 | ||||
|                             | ((portb & (0x1 << 2)) << 3)    // B2 (5)
 | ||||
|                             | ((porta & (0x1 << 8)) >> 2));  // A8 (6)
 | ||||
|     matrix_row_t cols = ~(((porta & (0x1 <<  0)) >>  0)   // A0  (0)
 | ||||
|                         | ((portb & (0x1 << 11)) >> 10)   // B11 (1)
 | ||||
|                         | ((portb & (0x1 <<  0)) <<  2)   // B0  (2)
 | ||||
|                         | ((portb & (0x1 << 10)) >>  7)   // B10 (3)
 | ||||
|                         | ((portb & (0x1 << 12)) >>  8)   // B12 (4)
 | ||||
|                         | ((portb & (0x1 <<  2)) <<  3)   // B2  (5)
 | ||||
|                         | ((porta & (0x1 <<  8)) >>  2)); // A8  (6)
 | ||||
| // clang-format on
 | ||||
| 
 | ||||
|     /* Reverse the order of columns for left hand as the board is flipped. */ | ||||
|     //         if (isLeftHand) {
 | ||||
|  | @ -50,7 +64,7 @@ void matrix_read_cols_on_row(matrix_row_t current_matrix[], uint8_t current_row) | |||
| 
 | ||||
|     /* Drive row pin high again. */ | ||||
|     ATOMIC_BLOCK_FORCEON { writePinHigh(row_pins[current_row]); } | ||||
|     matrix_output_unselect_delay(current_row, row_pins[current_row] != 0); | ||||
|     matrix_output_unselect_delay(current_row, cols != 0); | ||||
| } | ||||
| 
 | ||||
| #if defined(BUSY_WAIT) | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ OPT = 3 | |||
| OPT_DEFS += -DOLED_FONT_H=\"../common/glcdfont.c\" | ||||
| OPT_DEFS += -Ikeyboards/rgbkb/common | ||||
| 
 | ||||
| # matrix optimisations (broken, will fix later)
 | ||||
| #SRC += matrix.c
 | ||||
| # matrix optimisations
 | ||||
| SRC += matrix.c | ||||
| 
 | ||||
| DEFAULT_FOLDER = rgbkb/mun/rev1 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 XScorpion2
						XScorpion2