Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: BtnEventM0.h
- Revision:
- 0:f93bf3159778
diff -r 000000000000 -r f93bf3159778 BtnEventM0.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/BtnEventM0.h Mon Feb 01 17:15:40 2016 +0000
@@ -0,0 +1,146 @@
+
+
+class BtnEventM0
+{
+public:
+ int16_t pressed;
+
+ BtnEventM0(PinName pin) : _isr(pin) {
+ pressed=0;
+ }
+
+ // Ist eine steigende Flanke aufgetreten ?
+ int CheckFlag() {
+ if( pressed ) {
+ pressed=0;
+ return 1;
+ }
+ return 0;
+ }
+
+ // 1..Button is pressed else 0
+ int CheckButton() {
+ return _isr.read();
+ }
+
+ void Init() {
+ _isr.rise(this, &BtnEventM0::RisingISR);
+ }
+
+ void RisingISR() {
+ if( _isr.read() )
+ pressed = 1;
+ }
+protected:
+ InterruptIn _isr;
+};
+
+/*
+class BtnEventM02 : public BtnEventM0
+{
+public:
+ BtnEventM02(PinName pin) : BtnEventM0(pin) {
+ _tm.stop();
+ _tm.reset();
+ _state=1;
+ }
+
+ void Init() {
+ _isr.rise(this, &BtnEventM02::RisingISR);
+ }
+
+ void RisingISR() {
+ if( !_isr.read() )
+ return;
+ pressed = 1;
+ _tm.start();
+ _state = 2;
+ }
+
+ void CheckButton() {
+ if( _state==1 )
+ return;
+ if( _state==2 ) {
+ if( !_isr.read() ) {
+ _state = 1;
+ return;
+ }
+ if( _tm.read_ms()>500 ) {
+ _tm.reset();
+ _state = 3;
+ pressed = 1;
+ }
+ } else if( _state==3 ) {
+ if( !_isr.read() ) {
+ _state = 1;
+ return;
+ }
+ if( _tm.read_ms()>100 ) {
+ _tm.reset();
+ _state = 3;
+ pressed = 1;
+ }
+ }
+ }
+private:
+ int16_t _state;
+ Timer _tm;
+};
+*/
+
+class AnalogInHL : public AnalogIn
+{
+public:
+ AnalogInHL(PinName pin) : AnalogIn(pin) { }
+ int Read() {
+ return read_u16()>>6;
+ }
+};
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+