suu pen / Mbed 2 deprecated SwAnalogInputLibraryExampleProgram

Dependencies:   SwAnalog_LPC1768 mbed

Fork of SwAnalogInputLibraryExampleProgram by suu pen

main.cpp

Committer:
suupen
Date:
2012-02-12
Revision:
0:7ce3de2c24c3
Child:
1:c4d2d6df69ce

File content as of revision 0:7ce3de2c24c3:

//********************************************************************
// SwAnalogInput Library example program
//  mbed no analog port de 3hon no sw wo ninsiki suru.
//  6hon no analog port (p15 - p20) de 6 * 3 = 18 ko no sw ninsiki ga dekiru.
//
// <schematic>
//   -.- mbed VOUT(+3.3[V])
//    |                                               |--------------------> mbed p20(ADinput)
//    |   ---------       ---------       ---------   |   ---------
//    .---| Rsw2  |---.---| Rsw1  |---.---| Rsw0  |---.---| Rout  |----|
//    |   ---------   |   ---------   |   ---------   |   ---------    |
//    |     ----      |     -----     |     -----     |                |
//    |-----o  o------.-----o  o------.-----o  o------|              -----
//           SW2            SW1              SW0                      mbed GND(0[V])
// 
//  Rsw2 : 8.2[kohm], Rsw1 = 3.9[kohm], Rsw0 = 2.0[kohm], Rout = 1.0[kohm] (R no seido ha +-1[%])
//
// <program no naiyo>
//  mbed LED1 : sw0 no level de tento  sw Off = led Off, sw On = led On
//  mbed LED2 : sw1 no level de tento  sw Off = led Off, sw On = led On
//  mbed LED3 : sw2 no level de tento  sw Off = led Off, sw On = led On
//  mbed LED4 : sw0,sw1,sw2 no Off kara On henka de led tento jotai wo hanten.
//
// 
// <rireki>
// 2012/02/12 : syohan
// *********************************************************************

#include "mbed.h"
#include "SwAnalog.h"

DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);

SwAnalog sw(p20);  // p20(adinput) :sw0,sw1,sw2
                   
int main() {
    while(1) {
        // sw level and edge data refresh
        sw.refreshEdgeData();
        
        // tact action (sw0 level = on : led1 = on)
        led1 = sw.checkLevel(0);
        
        // tact action (sw1 level = off : led2 = on)
        led2 = sw.checkLevel(1);
        
        // tact action (sw2 level = off : led3 = on)
        led3 = sw.checkLevel(2);
        
        // toggle action (sw0 to sw3 level Off to On : led4 invert )
        if((sw.checkEdgeOn(0) == 1)     // sw0
        || (sw.checkEdgeOn(1) == 1)     // sw1
        || (sw.checkEdgeOn(2) == 1)     // sw2
        ){
             led4 = !led4;
        }
    }
}