Predictive typing glove with mappings from finger sequences to 230,000 words
Dependencies: PinDetect_KL25Z mbed
Fork of idd_hw2_kevinlee_typinglove by
main.cpp@0:2368b90b9c85, 2015-09-14 (annotated)
- Committer:
- phorust
- Date:
- Mon Sep 14 06:58:08 2015 +0000
- Revision:
- 0:2368b90b9c85
publish
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
phorust | 0:2368b90b9c85 | 1 | #include "mbed.h" |
phorust | 0:2368b90b9c85 | 2 | #include "PinDetect.h" |
phorust | 0:2368b90b9c85 | 3 | |
phorust | 0:2368b90b9c85 | 4 | // D9 is dead lol |
phorust | 0:2368b90b9c85 | 5 | PinDetect L_p_pin( D8 ); |
phorust | 0:2368b90b9c85 | 6 | PinDetect L_r_pin( D10 ); |
phorust | 0:2368b90b9c85 | 7 | PinDetect L_m_pin( D11 ); |
phorust | 0:2368b90b9c85 | 8 | PinDetect L_i_pin( D12 ); |
phorust | 0:2368b90b9c85 | 9 | PinDetect L_t_pin( D13 ); |
phorust | 0:2368b90b9c85 | 10 | PinDetect R_p_pin( D3 ); |
phorust | 0:2368b90b9c85 | 11 | PinDetect R_r_pin( D4 ); |
phorust | 0:2368b90b9c85 | 12 | PinDetect R_m_pin( D5 ); |
phorust | 0:2368b90b9c85 | 13 | PinDetect R_i_pin( D6 ); |
phorust | 0:2368b90b9c85 | 14 | PinDetect R_t_pin( D7 ); |
phorust | 0:2368b90b9c85 | 15 | DigitalOut led1( LED1 ); |
phorust | 0:2368b90b9c85 | 16 | Serial mac( USBTX, USBRX ); |
phorust | 0:2368b90b9c85 | 17 | |
phorust | 0:2368b90b9c85 | 18 | void L_p_Pressed( void ) { mac.printf("5\r\n"); } |
phorust | 0:2368b90b9c85 | 19 | void L_r_Pressed( void ) { mac.printf("4\r\n"); } |
phorust | 0:2368b90b9c85 | 20 | void L_m_Pressed( void ) { mac.printf("3\r\n"); } |
phorust | 0:2368b90b9c85 | 21 | void L_i_Pressed( void ) { mac.printf("2\r\n"); } |
phorust | 0:2368b90b9c85 | 22 | void L_t_Pressed( void ) { mac.printf("1\r\n"); } |
phorust | 0:2368b90b9c85 | 23 | |
phorust | 0:2368b90b9c85 | 24 | void L_p_Released( void ) { mac.printf("5u\r\n"); } |
phorust | 0:2368b90b9c85 | 25 | void L_r_Released( void ) { mac.printf("4u\r\n"); } |
phorust | 0:2368b90b9c85 | 26 | void L_m_Released( void ) { mac.printf("3u\r\n"); } |
phorust | 0:2368b90b9c85 | 27 | void L_i_Released( void ) { mac.printf("2u\r\n"); } |
phorust | 0:2368b90b9c85 | 28 | void L_t_Released( void ) { mac.printf("1u\r\n"); } |
phorust | 0:2368b90b9c85 | 29 | |
phorust | 0:2368b90b9c85 | 30 | void R_p_Pressed( void ) { mac.printf("10\r\n"); } |
phorust | 0:2368b90b9c85 | 31 | void R_r_Pressed( void ) { mac.printf("9\r\n"); } |
phorust | 0:2368b90b9c85 | 32 | void R_m_Pressed( void ) { mac.printf("8\r\n"); } |
phorust | 0:2368b90b9c85 | 33 | void R_i_Pressed( void ) { mac.printf("7\r\n"); } |
phorust | 0:2368b90b9c85 | 34 | void R_t_Pressed( void ) { mac.printf("6\r\n"); } |
phorust | 0:2368b90b9c85 | 35 | |
phorust | 0:2368b90b9c85 | 36 | void R_p_Released( void ) { mac.printf("10u\r\n"); } |
phorust | 0:2368b90b9c85 | 37 | void R_r_Released( void ) { mac.printf("9u\r\n"); } |
phorust | 0:2368b90b9c85 | 38 | void R_m_Released( void ) { mac.printf("8u\r\n"); } |
phorust | 0:2368b90b9c85 | 39 | void R_i_Released( void ) { mac.printf("7u\r\n"); } |
phorust | 0:2368b90b9c85 | 40 | void R_t_Released( void ) { mac.printf("6u\r\n"); } |
phorust | 0:2368b90b9c85 | 41 | |
phorust | 0:2368b90b9c85 | 42 | void keyReleased( void ) |
phorust | 0:2368b90b9c85 | 43 | { |
phorust | 0:2368b90b9c85 | 44 | led1 = 0; |
phorust | 0:2368b90b9c85 | 45 | } |
phorust | 0:2368b90b9c85 | 46 | |
phorust | 0:2368b90b9c85 | 47 | void keyPressedHeld( void ) |
phorust | 0:2368b90b9c85 | 48 | { |
phorust | 0:2368b90b9c85 | 49 | |
phorust | 0:2368b90b9c85 | 50 | } |
phorust | 0:2368b90b9c85 | 51 | |
phorust | 0:2368b90b9c85 | 52 | void keyReleasedHeld( void ) |
phorust | 0:2368b90b9c85 | 53 | { |
phorust | 0:2368b90b9c85 | 54 | |
phorust | 0:2368b90b9c85 | 55 | } |
phorust | 0:2368b90b9c85 | 56 | |
phorust | 0:2368b90b9c85 | 57 | int main() |
phorust | 0:2368b90b9c85 | 58 | { |
phorust | 0:2368b90b9c85 | 59 | L_p_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 60 | L_r_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 61 | L_m_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 62 | L_i_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 63 | L_t_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 64 | L_p_pin.attach_asserted( &L_p_Pressed ); |
phorust | 0:2368b90b9c85 | 65 | L_r_pin.attach_asserted( &L_r_Pressed ); |
phorust | 0:2368b90b9c85 | 66 | L_m_pin.attach_asserted( &L_m_Pressed ); |
phorust | 0:2368b90b9c85 | 67 | L_i_pin.attach_asserted( &L_i_Pressed ); |
phorust | 0:2368b90b9c85 | 68 | L_t_pin.attach_asserted( &L_t_Pressed ); |
phorust | 0:2368b90b9c85 | 69 | L_p_pin.attach_deasserted( &L_p_Released ); |
phorust | 0:2368b90b9c85 | 70 | L_r_pin.attach_deasserted( &L_r_Released ); |
phorust | 0:2368b90b9c85 | 71 | L_m_pin.attach_deasserted( &L_m_Released ); |
phorust | 0:2368b90b9c85 | 72 | L_i_pin.attach_deasserted( &L_i_Released ); |
phorust | 0:2368b90b9c85 | 73 | L_t_pin.attach_deasserted( &L_t_Released ); |
phorust | 0:2368b90b9c85 | 74 | R_p_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 75 | R_r_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 76 | R_m_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 77 | R_i_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 78 | R_t_pin.mode( PullUp ); |
phorust | 0:2368b90b9c85 | 79 | R_p_pin.attach_asserted( &R_p_Pressed ); |
phorust | 0:2368b90b9c85 | 80 | R_r_pin.attach_asserted( &R_r_Pressed ); |
phorust | 0:2368b90b9c85 | 81 | R_m_pin.attach_asserted( &R_m_Pressed ); |
phorust | 0:2368b90b9c85 | 82 | R_i_pin.attach_asserted( &R_i_Pressed ); |
phorust | 0:2368b90b9c85 | 83 | R_t_pin.attach_asserted( &R_t_Pressed ); |
phorust | 0:2368b90b9c85 | 84 | R_p_pin.attach_deasserted( &R_p_Released ); |
phorust | 0:2368b90b9c85 | 85 | R_r_pin.attach_deasserted( &R_r_Released ); |
phorust | 0:2368b90b9c85 | 86 | R_m_pin.attach_deasserted( &R_m_Released ); |
phorust | 0:2368b90b9c85 | 87 | R_i_pin.attach_deasserted( &R_i_Released ); |
phorust | 0:2368b90b9c85 | 88 | R_t_pin.attach_deasserted( &R_t_Released ); |
phorust | 0:2368b90b9c85 | 89 | |
phorust | 0:2368b90b9c85 | 90 | //pin.attach_asserted_held( &keyPressedHeld ); |
phorust | 0:2368b90b9c85 | 91 | //pin.attach_deasserted_held( &keyReleasedHeld ); |
phorust | 0:2368b90b9c85 | 92 | |
phorust | 0:2368b90b9c85 | 93 | L_p_pin.setSampleFrequency(); // Defaults to 20ms. |
phorust | 0:2368b90b9c85 | 94 | L_r_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 95 | L_m_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 96 | L_i_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 97 | L_t_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 98 | R_p_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 99 | R_r_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 100 | R_m_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 101 | R_i_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 102 | R_t_pin.setSampleFrequency(); |
phorust | 0:2368b90b9c85 | 103 | |
phorust | 0:2368b90b9c85 | 104 | while( 1 ) { |
phorust | 0:2368b90b9c85 | 105 | led1 = !led1; |
phorust | 0:2368b90b9c85 | 106 | wait( 0.2 ); |
phorust | 0:2368b90b9c85 | 107 | } |
phorust | 0:2368b90b9c85 | 108 | } |