Demonstrates the usage of the ButtonEventM0-Class

Dependencies:   mbed

Dependents:   LedshifterMask

Committer:
hollegha2
Date:
Wed Feb 01 07:20:51 2017 +0000
Revision:
10:6495a89d66ed
Parent:
6:cc64c2ff26b0
c45

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hollegha2 0:35d70ff5c12e 1
hollegha2 0:35d70ff5c12e 2 #include "mbed.h"
hollegha2 0:35d70ff5c12e 3 #include "BtnEventM0.h"
hollegha2 0:35d70ff5c12e 4
hollegha2 10:6495a89d66ed 5 // V4.0
hollegha2 10:6495a89d66ed 6
hollegha2 0:35d70ff5c12e 7 // LSB MSB
hollegha2 0:35d70ff5c12e 8 BusOut lb(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1);
hollegha2 0:35d70ff5c12e 9
hollegha2 0:35d70ff5c12e 10 BtnEventM0 sw4(P1_16), sw2(P0_15), sw1(P0_10), sw3(P0_23);
hollegha2 0:35d70ff5c12e 11
hollegha2 0:35d70ff5c12e 12 Timer t1;
hollegha2 0:35d70ff5c12e 13 void OneLeftStep();
hollegha2 0:35d70ff5c12e 14 void OneRightStep();
hollegha2 0:35d70ff5c12e 15 void ExecuteAutoButtons();
hollegha2 0:35d70ff5c12e 16
hollegha2 0:35d70ff5c12e 17 int main(void)
hollegha2 0:35d70ff5c12e 18 {
hollegha2 0:35d70ff5c12e 19 lb = 1;
hollegha2 0:35d70ff5c12e 20 sw4.Init();
hollegha2 0:35d70ff5c12e 21 sw2.Init();
hollegha2 0:35d70ff5c12e 22 sw1.Init();
hollegha2 0:35d70ff5c12e 23 sw3.Init();
hollegha2 0:35d70ff5c12e 24 t1.start();
hollegha2 0:35d70ff5c12e 25
hollegha2 0:35d70ff5c12e 26 while(1) {
hollegha2 0:35d70ff5c12e 27 if( sw4.CheckFlag() )
hollegha2 0:35d70ff5c12e 28 OneRightStep();
hollegha2 0:35d70ff5c12e 29 if( sw3.CheckFlag() )
hollegha2 0:35d70ff5c12e 30 OneLeftStep();
hollegha2 0:35d70ff5c12e 31 if( sw1.CheckFlag() )
hollegha2 0:35d70ff5c12e 32 OneRightStep();
hollegha2 0:35d70ff5c12e 33 if( sw2.CheckFlag() )
hollegha2 0:35d70ff5c12e 34 OneLeftStep();
hollegha2 0:35d70ff5c12e 35 ExecuteAutoButtons();
hollegha2 0:35d70ff5c12e 36 }
hollegha2 0:35d70ff5c12e 37 }
hollegha2 0:35d70ff5c12e 38
hollegha2 0:35d70ff5c12e 39 void ExecuteAutoButtons()
hollegha2 0:35d70ff5c12e 40 {
hollegha2 0:35d70ff5c12e 41 /* sw1.CheckButton();
hollegha2 0:35d70ff5c12e 42 sw2.CheckButton();
hollegha2 0:35d70ff5c12e 43 sw3.CheckButton();
hollegha2 0:35d70ff5c12e 44 sw4.CheckButton(); */
hollegha2 0:35d70ff5c12e 45 }
hollegha2 0:35d70ff5c12e 46
hollegha2 0:35d70ff5c12e 47 void OneLeftStep()
hollegha2 0:35d70ff5c12e 48 {
hollegha2 0:35d70ff5c12e 49 if( lb==2048 ) {
hollegha2 0:35d70ff5c12e 50 lb = 1;
hollegha2 0:35d70ff5c12e 51 return;
hollegha2 0:35d70ff5c12e 52 }
hollegha2 0:35d70ff5c12e 53 lb = lb << 1;
hollegha2 0:35d70ff5c12e 54 }
hollegha2 0:35d70ff5c12e 55
hollegha2 0:35d70ff5c12e 56 void OneRightStep()
hollegha2 0:35d70ff5c12e 57 {
hollegha2 0:35d70ff5c12e 58 if( lb==1 ) {
hollegha2 0:35d70ff5c12e 59 lb = 2048;
hollegha2 0:35d70ff5c12e 60 return;
hollegha2 0:35d70ff5c12e 61 }
hollegha2 0:35d70ff5c12e 62 lb = lb >> 1;
hollegha2 0:35d70ff5c12e 63 }
hollegha2 0:35d70ff5c12e 64
hollegha2 0:35d70ff5c12e 65
hollegha2 2:e4e11d95b4cd 66
hollegha2 6:cc64c2ff26b0 67