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.
SharpDigiDist100.cpp
00001 #include "SharpDigiDist100.h" 00002 00003 SharpDigiDist100::SharpDigiDist100(PinName pin):intin(pin),pinin(pin) 00004 { 00005 timer1.reset(); 00006 intin.rise(this,&SharpDigiDist100::onInt); 00007 intin.fall(this,&SharpDigiDist100::onInt); 00008 timer1.start(); 00009 //onInt(); 00010 current = Far; 00011 //last = NA; 00012 onChangeAttached = false; 00013 } 00014 00015 void SharpDigiDist100::onInt() 00016 { 00017 timer1.stop(); 00018 last = current; 00019 int timeFromLast = timer1.read_ms(); 00020 if (timeFromLast < 100) 00021 { 00022 current = Far; 00023 timeout.attach(this,&SharpDigiDist100::onInt, 0.3); 00024 } 00025 else 00026 { 00027 if(pinin) 00028 { 00029 current = Mid; 00030 } 00031 else 00032 { 00033 current = Near; 00034 } 00035 } 00036 if(current != last) 00037 { 00038 if(onChangeAttached) 00039 { 00040 onChange(); 00041 } 00042 } 00043 timer1.reset(); 00044 timer1.start(); 00045 } 00046 00047 int SharpDigiDist100::getDistance() 00048 { 00049 return current; 00050 } 00051 00052 void SharpDigiDist100::attachOnChange(void (*ptr) (void)) 00053 { 00054 onChange = ptr; 00055 onChangeAttached = true; 00056 }
Generated on Mon Jul 18 2022 20:36:53 by
