JapanDisplayInc / Mbed 2 deprecated MIP8f_FRDM_TransferMode_sample

Dependencies:   MIP8F_SPI_Ver50 MIP8f_FRDM_LineBuffer_sample mbed

Dependents:   MIP8f_FRDM_Animation_sample

TglSW/TglSW.cpp

Committer:
JDI_Mbed_Team
Date:
2018-09-04
Revision:
0:33fe30a2b785

File content as of revision 0:33fe30a2b785:

#include "TglSW.h"
#include "mbed.h"

TglSW::TglSW(PinName SWPin) : _SW(SWPin) {}

void TglSW::Enable(int NoiseCancel)  {  // _PRSCNT -- unit [times] 
    _REPEAT   = NoiseCancel;
    _PlessCounter.attach(this, &TglSW::_SeekPress, 0.05); // Ticker[s]
    _IfPless = 0;
}

bool  TglSW::State(void){
    return _IfPless;
}

void  TglSW::Clear(void){
    _IfPless = 0;
    _PressCount = 0;
}

void TglSW::_SeekPress(void)  {        // instead of InterruptIn  -- for against noise
    if(_SW != _preSW)  _PressCount++;
    else      _PressCount=0;
    if(_PressCount > _REPEAT ){
        if(_SW ==0){
            _IfPless = !_IfPless;
            _PressCount=0;
        }
        _preSW = _SW;
    }
}