code for typinglove

Dependencies:   PinDetect_KL25Z mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "PinDetect.h"
00003 
00004 // D9 is dead lol
00005 PinDetect  L_p_pin( D8  );
00006 PinDetect  L_r_pin( D10 );
00007 PinDetect  L_m_pin( D11 );
00008 PinDetect  L_i_pin( D12 );
00009 PinDetect  L_t_pin( D13 );
00010 PinDetect  R_p_pin( D3  );
00011 PinDetect  R_r_pin( D4  );
00012 PinDetect  R_m_pin( D5  );
00013 PinDetect  R_i_pin( D6  );
00014 PinDetect  R_t_pin( D7  );
00015 DigitalOut led1( LED1 );
00016 Serial mac( USBTX, USBRX );
00017 
00018 void L_p_Pressed( void ) { mac.printf("5\r\n"); }
00019 void L_r_Pressed( void ) { mac.printf("4\r\n"); }
00020 void L_m_Pressed( void ) { mac.printf("3\r\n"); }
00021 void L_i_Pressed( void ) { mac.printf("2\r\n"); }
00022 void L_t_Pressed( void ) { mac.printf("1\r\n"); }
00023 
00024 void L_p_Released( void ) { mac.printf("5u\r\n"); }
00025 void L_r_Released( void ) { mac.printf("4u\r\n"); }
00026 void L_m_Released( void ) { mac.printf("3u\r\n"); }
00027 void L_i_Released( void ) { mac.printf("2u\r\n"); }
00028 void L_t_Released( void ) { mac.printf("1u\r\n"); }
00029 
00030 void R_p_Pressed( void ) { mac.printf("10\r\n"); }
00031 void R_r_Pressed( void ) { mac.printf("9\r\n"); }
00032 void R_m_Pressed( void ) { mac.printf("8\r\n"); }
00033 void R_i_Pressed( void ) { mac.printf("7\r\n"); }
00034 void R_t_Pressed( void ) { mac.printf("6\r\n"); }
00035 
00036 void R_p_Released( void ) { mac.printf("10u\r\n"); }
00037 void R_r_Released( void ) { mac.printf("9u\r\n"); }
00038 void R_m_Released( void ) { mac.printf("8u\r\n"); }
00039 void R_i_Released( void ) { mac.printf("7u\r\n"); }
00040 void R_t_Released( void ) { mac.printf("6u\r\n"); }
00041 
00042 void keyReleased( void )
00043 {
00044     led1 = 0;
00045 }
00046 
00047 void keyPressedHeld( void )
00048 {
00049 
00050 }
00051 
00052 void keyReleasedHeld( void )
00053 {
00054 
00055 }
00056 
00057 int main()
00058 {
00059     L_p_pin.mode( PullUp );
00060     L_r_pin.mode( PullUp );
00061     L_m_pin.mode( PullUp );
00062     L_i_pin.mode( PullUp );
00063     L_t_pin.mode( PullUp );
00064     L_p_pin.attach_asserted( &L_p_Pressed );
00065     L_r_pin.attach_asserted( &L_r_Pressed );
00066     L_m_pin.attach_asserted( &L_m_Pressed );
00067     L_i_pin.attach_asserted( &L_i_Pressed );
00068     L_t_pin.attach_asserted( &L_t_Pressed );
00069     L_p_pin.attach_deasserted( &L_p_Released );
00070     L_r_pin.attach_deasserted( &L_r_Released );
00071     L_m_pin.attach_deasserted( &L_m_Released );
00072     L_i_pin.attach_deasserted( &L_i_Released );
00073     L_t_pin.attach_deasserted( &L_t_Released );
00074     R_p_pin.mode( PullUp );
00075     R_r_pin.mode( PullUp );
00076     R_m_pin.mode( PullUp );
00077     R_i_pin.mode( PullUp );
00078     R_t_pin.mode( PullUp );
00079     R_p_pin.attach_asserted( &R_p_Pressed );
00080     R_r_pin.attach_asserted( &R_r_Pressed );
00081     R_m_pin.attach_asserted( &R_m_Pressed );
00082     R_i_pin.attach_asserted( &R_i_Pressed );
00083     R_t_pin.attach_asserted( &R_t_Pressed );
00084     R_p_pin.attach_deasserted( &R_p_Released );
00085     R_r_pin.attach_deasserted( &R_r_Released );
00086     R_m_pin.attach_deasserted( &R_m_Released );
00087     R_i_pin.attach_deasserted( &R_i_Released );
00088     R_t_pin.attach_deasserted( &R_t_Released );
00089     
00090     //pin.attach_asserted_held( &keyPressedHeld );
00091     //pin.attach_deasserted_held( &keyReleasedHeld );
00092 
00093     L_p_pin.setSampleFrequency(); // Defaults to 20ms.
00094     L_r_pin.setSampleFrequency();
00095     L_m_pin.setSampleFrequency();
00096     L_i_pin.setSampleFrequency();
00097     L_t_pin.setSampleFrequency();
00098     R_p_pin.setSampleFrequency();
00099     R_r_pin.setSampleFrequency();
00100     R_m_pin.setSampleFrequency();
00101     R_i_pin.setSampleFrequency();
00102     R_t_pin.setSampleFrequency();
00103 
00104     while( 1 ) {
00105         led1 = !led1;
00106         wait( 0.2 );
00107     }
00108 }