delayMicroseconds 30 to 700 in matrix_scan

This commit is contained in:
cuu 2021-07-11 12:29:55 +08:00
parent 84a8f9499c
commit 0485bd26b9
2 changed files with 1 additions and 95 deletions

View File

@ -83,7 +83,7 @@ uint8_t matrix_scan(void) {
digitalWrite(matrix_cols[col],HIGH);
#endif
delayMicroseconds(30);
delayMicroseconds(700);
data =(
( read_kbd_io(matrix_rows[0]) << 0 ) |
@ -162,60 +162,6 @@ void matrix_release(DEVTERM*dv,uint8_t row,uint8_t col) {
}
}
/*
void keyboard_task(DEVTERM*dv)
{
static int8_t jack_idx=-1;
static uint16_t jack_time = 0;
uint8_t matrix_row = 0;
uint8_t matrix_change = 0;
matrix_scan();
for (uint8_t r = 0; r < MATRIX_ROWS; r++) {
matrix_row = matrix_get_row(r);
uint8_t col_mask =1;
for(uint8_t c=0;c < MATRIX_COLS;c++,col_mask <<=1){
if( ( (matrix_prev[r] & col_mask) == 0) && ( (matrix_row & col_mask) > 0) ) {
matrix_press(dv,r,c);
}
if( ( (matrix_prev[r] & col_mask) > 0) && ( (matrix_row & col_mask) == 0) ) {
matrix_release(dv,r,c);
}
if( ( (matrix_prev[r] & col_mask) > 0) && ( (matrix_row & col_mask) > 0) ) {//same key
if( jack_idx == -1){
jack_idx = r*MATRIX_ROWS+c;
}else{
if(jack_idx != r*MATRIX_ROWS+c) {
jack_time = 0;
jack_idx = r*MATRIX_ROWS+c;
}else{
jack_time +=1;
if( jack_time % (DEBOUNCE*KEY_LATENCY) == 0){
if(jack_idx > 1){//skip select,start button
matrix_press(dv,r,c);
}
}
}
}
}
}
matrix_prev[r] = matrix_row;
}
}
*/
void keyboard_task(DEVTERM*dv)
{

View File

@ -64,47 +64,7 @@ void print_keys(DEVTERM*dv) {
}
/*
void keys_task(DEVTERM*dv){
static int8_t keys_jack_idx=-1;
static uint16_t keys_jack_time = 0;
scan_keys();
uint16_t _mask =1;
for(uint8_t c=0;c < KEYS_NUM;c++,_mask <<=1){
if( (keys_prev & _mask) == 0 && (keys & _mask) > 0){
keypad_action(dv,c,KEY_PRESSED);
}
if( (keys_prev & _mask) > 0 && (keys & _mask) == 0){
keypad_action(dv,c,KEY_RELEASED);
}
if( (keys_prev & _mask) > 0 && (keys & _mask) > 0) { ////same key
if( c >= 0 && c < 4) {// only allow B1-B4
if( keys_jack_idx == -1){
keys_jack_idx = c;
}else{
if(keys_jack_idx != c) {
keys_jack_time = 0;
keys_jack_idx = c;
}else{
keys_jack_time +=1;
if( keys_jack_time % (KEY_DEBOUNCE*KEY_LATENCY) == 0){
keypad_action(dv,c,KEY_PRESSED);
}
}
}
}
}
}
keys_prev = keys;
}
*/
void keys_task(DEVTERM*dv){
scan_keys();