This program is a sample program for operation check of the library to perform the SW recognition.

Dependencies:   SwDigital mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 //============================================
00002 // SwDigital Library example program
00003 // 
00004 //  <schematic>
00005 //
00006 //  mbed
00007 //                sw1
00008 //                ---- 
00009 //    p10 --------o  o----------- GND
00010 //
00011 //                sw2
00012 //                ----
00013 //    p20 --------o  o------------GND
00014 //
00015 //=============================================
00016 
00017 #include "mbed.h"
00018 #include "SwDigital.h"
00019 
00020 SwDigital sw(p10,p20);  // p10 : sw1 control LED1,LED2
00021                         // p20 : sw2 control LED3,LED4
00022 enum{
00023         sw1,
00024         sw2
00025     };
00026 
00027 DigitalOut led1(LED1);
00028 DigitalOut led2(LED2);
00029 DigitalOut led3(LED3);
00030 DigitalOut led4(LED4);
00031 
00032 int main() {
00033     while(1) {
00034         //==============================================
00035         // sw1 - LED1,LED2 control
00036         //==============================================
00037         // sw level and edge data refresh
00038         sw.refreshEdgeData();
00039         
00040         // tact action (sw level = on : led1 = on)
00041         led1 = sw.checkLevel(sw1);
00042         
00043         // tact action (sw level = off : led2 = on)
00044         led2 = !sw.checkLevel(sw1);
00045         
00046         //==============================================
00047         // sw2 - LED3,LED4 control
00048         //==============================================
00049         // toggle action (level Off to On)
00050         if(sw.checkEdgeOn(sw2) == 1){
00051              led3 = !led3;
00052         }
00053 
00054         // toggle action (level On to Off)
00055         if(sw.checkEdgeOff(sw2) == 1){
00056              led4 = !led4;
00057         }
00058     }
00059 }