Hideto KIHARA
/
KeyMatrixAnalyzer
KeyMatrixAnalyzer for TrackPoint Keyboard USB English 0B47190
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 // KeyMatrixAnalyzer for TrackPoint Keyboard USB English 0B47190 00002 #include "mbed.h" 00003 00004 // R1 R7 R6 S9 R4 R5 S0 R2 R3 S5 S1 R0 S2 S4 S7 S8 S6 S3 S12 S13 S14 S11 S10 S15 M0 ML MM MR 00005 const int RPINLEN = 8; 00006 const int SPINLEN = 16; 00007 DigitalIn rpin[RPINLEN] = {p12, p20, p14, p22, p18, p15, p19, p17}; 00008 DigitalOut spin[SPINLEN] = {p21, p23, p24, p9, p11, p13, p26, p25, p10, p16, p29, p7, p27, p8, p28, p6}; 00009 00010 Serial pc(USBTX, USBRX); 00011 00012 int prevs = -1; 00013 int prevr = -1; 00014 00015 void loop() { 00016 for (int s = 0; s < SPINLEN; s++) { 00017 spin[s] = 0; 00018 wait_ms(5); 00019 for (int r = 0; r < RPINLEN; r++) { 00020 if (rpin[r] == 0) { 00021 if (prevs == s && prevr == r) { 00022 continue; 00023 } 00024 prevs = s; 00025 prevr = r; 00026 pc.printf(" %d %d\r\n", s, r); 00027 } 00028 } 00029 spin[s] = 1; 00030 } 00031 } 00032 00033 int main() { 00034 for (int r = 0; r < RPINLEN; r++) { 00035 rpin[r].mode(PullUp); 00036 } 00037 for (int s = 0; s < SPINLEN; s++) { 00038 spin[s] = 1; 00039 } 00040 00041 while (true) { 00042 loop(); 00043 } 00044 }
Generated on Sat Aug 13 2022 00:47:19 by 1.7.2