]> git.donarmstrong.com Git - kiibohd-controller.git/blobdiff - Scan/MatrixARM/matrix_scan.c
Merge branch 'master' of github.com:kiibohd/controller
[kiibohd-controller.git] / Scan / MatrixARM / matrix_scan.c
index 669314329efff3079c93dc065e45800b54cae004..bbce1dfae458632a99e4731439b33df510fba990 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2014-2015 by Jacob Alexander
+/* Copyright (C) 2014-2016 by Jacob Alexander
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -452,7 +452,7 @@ void Matrix_scan( uint16_t scanNum )
 
 
        // Matrix ghosting check and elimination
-       // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
+       // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 #ifdef GHOSTING_MATRIX
        // strobe = column, sense = row
 
@@ -489,7 +489,7 @@ void Matrix_scan( uint16_t scanNum )
                row_use[row] = used;
                row_ghost[row] = 0;  // clear
        }
-       
+
        // Check if matrix has ghost
        // Happens when key is pressed and some other key is pressed in same row and another in same column
        //print("  G ");
@@ -518,10 +518,10 @@ void Matrix_scan( uint16_t scanNum )
                        uint8_t key = Matrix_colsNum * row + col;
                        KeyState *state = &Matrix_scanArray[ key ];
                        KeyGhost *st = &Matrix_ghostArray[ key ];
-                       
+
                        // col or row is ghosting (crossed)
                        uint8_t ghost = (col_ghost[col] > 0 || row_ghost[row] > 0) ? 1 : 0;
-                       
+
                        st->prev = st->cur;  // previous
                        // save state if no ghost or outside ghosted area
                        if ( ghost == 0 )
@@ -529,16 +529,16 @@ void Matrix_scan( uint16_t scanNum )
                        // final
                        // use saved state if ghosting, or current if not
                        st->cur = ghost > 0 ? st->saved : state->curState;
-                       
+
                        //  Send keystate to macro module
-                       KeyPosition k = !st->cur 
+                       KeyPosition k = !st->cur
                                ? (!st->prev ? KeyState_Off : KeyState_Release)
                                : ( st->prev ? KeyState_Hold : KeyState_Press);
                        Macro_keyState( key, k );
                }
        }
 #endif
-       // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 
+       // . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 
 
        // State Table Output Debug
@@ -587,6 +587,15 @@ void Matrix_scan( uint16_t scanNum )
 }
 
 
+// Called by parent scan module whenever the available current changes
+// current - mA
+void Matrix_currentChange( unsigned int current )
+{
+       // TODO - Any potential power savings?
+}
+
+
+
 // ----- CLI Command Functions -----
 
 void cliFunc_matrixDebug ( char* args )