Predictive typing glove with mappings from finger sequences to 230,000 words

Dependencies:   PinDetect_KL25Z mbed

Fork of idd_hw2_kevinlee_typinglove by Kevin Lee

Committer:
phorust
Date:
Mon Sep 14 06:58:08 2015 +0000
Revision:
0:2368b90b9c85
publish

Who changed what in which revision?

UserRevisionLine numberNew 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 }