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.
sensors/sensors.cpp@21:14133581387b, 2019-05-03 (annotated)
- Committer:
- shimizuta
- Date:
- Fri May 03 02:21:47 2019 +0000
- Revision:
- 21:14133581387b
- Child:
- 22:0ed9de464f40
filter weight change
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| shimizuta | 21:14133581387b | 1 | #include "sensors.h" |
| shimizuta | 21:14133581387b | 2 | //filter [0]:forward, [1]: back |
| shimizuta | 21:14133581387b | 3 | const float kOldWeight = 0.5; |
| shimizuta | 21:14133581387b | 4 | const float kOutVal = 500; //<0.1が返ってきたときに返す値 |
| shimizuta | 21:14133581387b | 5 | LowPassFilter lowpassfilter[2] = {LowPassFilter(kOldWeight),LowPassFilter(kOldWeight),}; |
| shimizuta | 21:14133581387b | 6 | |
| shimizuta | 21:14133581387b | 7 | HCSR04 sensor_forward(p11,p12); |
| shimizuta | 21:14133581387b | 8 | HCSR04 sensor_back(p17, p18); |
| shimizuta | 21:14133581387b | 9 | |
| shimizuta | 21:14133581387b | 10 | float GetFilteredDist_cm(HCSR04 & sensor, LowPassFilter & filter) |
| shimizuta | 21:14133581387b | 11 | { |
| shimizuta | 21:14133581387b | 12 | sensor.start(); |
| shimizuta | 21:14133581387b | 13 | float raw_data = sensor.get_dist_cm(); |
| shimizuta | 21:14133581387b | 14 | if(raw_data < 0.1)//0.1以下なら前回の値を返す |
| shimizuta | 21:14133581387b | 15 | return kOutVal; |
| shimizuta | 21:14133581387b | 16 | filter.SetData(raw_data); |
| shimizuta | 21:14133581387b | 17 | float dist = filter.GetData(); |
| shimizuta | 21:14133581387b | 18 | // DEBUG("raw %.3f, filter %.3f\r\n", raw_data,dist); |
| shimizuta | 21:14133581387b | 19 | return dist; |
| shimizuta | 21:14133581387b | 20 | } |
| shimizuta | 21:14133581387b | 21 | |
| shimizuta | 21:14133581387b | 22 | double get_dist_forward() |
| shimizuta | 21:14133581387b | 23 | { |
| shimizuta | 21:14133581387b | 24 | return GetFilteredDist_cm(sensor_forward,lowpassfilter[0]); |
| shimizuta | 21:14133581387b | 25 | } |
| shimizuta | 21:14133581387b | 26 | double get_dist_back() |
| shimizuta | 21:14133581387b | 27 | { |
| shimizuta | 21:14133581387b | 28 | return GetFilteredDist_cm(sensor_back,lowpassfilter[1]); |
| shimizuta | 21:14133581387b | 29 | } |