-5us after setting colA-C
-colA _~~~~~~~~~~~~~~~~~~
-prev _~~~~_____ 20us if previous key state is low
-colD ~~~__~~~~~ 10us column enabled
-key ~~~____~~~ 22us hold state of the key
-
-prev ____~~~~__________ 20us(JP)/17us(Pro2)
-key ~~~~~~_____~~~~~~~ 22us
-colD ~~~~~~__~~~~~~~~~~ 10us(LS175)
-
-colC ____~~~~____~~~~ 550/410us(JP)
-colB __~~__~~__~~__~~ 200/210us(JP)
-colA _~_~_~_~_~_~_~_~ 100/110us(JP) 200/210us(Pro2)
- 0123456701234567 selected column
-
-rowC ____~~~~____~~~~ 3.8/3.8ms(JP) S2 of HC4051
-rowB __~~__~~__~~__~~ 1.9/1.9ms(JP) S1 of HC4051
-rowA _~_~_~_~_~_~_~_~ 1.0/1.0ms(JP) S0 of HC4051
- 0123456701234567 selected row(Pro/Pro2)
- 0123456789ABCDEF selected row(JP)
-rowEn0 ________~~~~~~~~ 7.7/7.7ms ~Enable of Z2 HC4051(JP only)
-rowEn1 ~~~~~~~~________ 7.7/7.7ms ~Enable of Z3 HC4051(JP only)
-
-NOTE: JP scans twice fast as Pro2 does. So Pro2 scan 8x8 matrix in 15.4ms while JP can 16x8 in that time.
-
-
-
-
-Matrix scan pseudo code
------------------------
- for (row: 0-7) {
- SELECT_ROW(row); // set HC4051(A,B,C)
-
- for (col: 0-7) {
- SELECT_COL(col); // set LS145(A,B,C)
-
- _delay_us(40);
-
- if (prev_key_state(row, col)) {
- KEY_PREV_ON;
- }
-
- _delay_us(7);