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.
Fork of Biquad_Hidscope by
main.cpp@1:15de82403661, 2015-10-15 (annotated)
- Committer:
- margotr
- Date:
- Thu Oct 15 10:29:40 2015 +0000
- Revision:
- 1:15de82403661
- Parent:
- 0:17b00659dfd2
Filter 3 levert een 0 signaal op. Filter 1 en 2 leveren een aardig chill signaal op.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
margotr | 0:17b00659dfd2 | 1 | |
margotr | 0:17b00659dfd2 | 2 | #include "mbed.h" |
margotr | 0:17b00659dfd2 | 3 | #include "HIDScope.h" |
margotr | 0:17b00659dfd2 | 4 | |
margotr | 0:17b00659dfd2 | 5 | |
margotr | 0:17b00659dfd2 | 6 | Serial pc(USBTX, USBRX); |
margotr | 0:17b00659dfd2 | 7 | |
margotr | 0:17b00659dfd2 | 8 | HIDScope scope(1); |
margotr | 0:17b00659dfd2 | 9 | Ticker scopeTimer; |
margotr | 0:17b00659dfd2 | 10 | |
margotr | 0:17b00659dfd2 | 11 | // Read the analog input |
margotr | 0:17b00659dfd2 | 12 | AnalogIn ain(A0); |
margotr | 0:17b00659dfd2 | 13 | |
margotr | 0:17b00659dfd2 | 14 | |
margotr | 0:17b00659dfd2 | 15 | double v1, v2; |
margotr | 0:17b00659dfd2 | 16 | |
margotr | 0:17b00659dfd2 | 17 | |
margotr | 0:17b00659dfd2 | 18 | |
margotr | 1:15de82403661 | 19 | |
margotr | 1:15de82403661 | 20 | double biquadFilter1() { |
margotr | 0:17b00659dfd2 | 21 | |
margotr | 1:15de82403661 | 22 | double v = ain.read() - -1.50873319442*v1 - 0.87912966448*v2; |
margotr | 1:15de82403661 | 23 | double y = 0.939565*v + -1.508733463805113*v1 + 0.939565*v2; |
margotr | 0:17b00659dfd2 | 24 | v2 = v1; |
margotr | 0:17b00659dfd2 | 25 | v1 = v; |
margotr | 0:17b00659dfd2 | 26 | return y; |
margotr | 0:17b00659dfd2 | 27 | |
margotr | 0:17b00659dfd2 | 28 | }; |
margotr | 0:17b00659dfd2 | 29 | |
margotr | 1:15de82403661 | 30 | double biquadFilter2() { |
margotr | 1:15de82403661 | 31 | |
margotr | 1:15de82403661 | 32 | double v = biquadFilter1() - -1.48309573229*v1 - 0.93337603426*v2; |
margotr | 1:15de82403661 | 33 | double y = 0.947499*v + -1.521473712007025*v1 + 0.947499*v2; |
margotr | 1:15de82403661 | 34 | v2 = v1; |
margotr | 1:15de82403661 | 35 | v1 = v; |
margotr | 1:15de82403661 | 36 | return y; |
margotr | 1:15de82403661 | 37 | |
margotr | 1:15de82403661 | 38 | }; |
margotr | 1:15de82403661 | 39 | |
margotr | 1:15de82403661 | 40 | /*double biquadFilter3() { |
margotr | 1:15de82403661 | 41 | |
margotr | 1:15de82403661 | 42 | double v = biquadFilter2() - -1.61935587231*v1 - 0.94238300217*v2; |
margotr | 1:15de82403661 | 43 | double y = 0.987787*v + -1.586167324252884*v1 + 0.987787*v2; |
margotr | 1:15de82403661 | 44 | v2 = v1; |
margotr | 1:15de82403661 | 45 | v1 = v; |
margotr | 1:15de82403661 | 46 | return y; |
margotr | 1:15de82403661 | 47 | |
margotr | 1:15de82403661 | 48 | }; */ |
margotr | 1:15de82403661 | 49 | |
margotr | 0:17b00659dfd2 | 50 | void scopeSend() |
margotr | 0:17b00659dfd2 | 51 | { |
margotr | 1:15de82403661 | 52 | scope.set(0,biquadFilter3b()); |
margotr | 0:17b00659dfd2 | 53 | scope.send(); |
margotr | 0:17b00659dfd2 | 54 | |
margotr | 0:17b00659dfd2 | 55 | } |
margotr | 0:17b00659dfd2 | 56 | |
margotr | 0:17b00659dfd2 | 57 | int main() |
margotr | 0:17b00659dfd2 | 58 | { |
margotr | 0:17b00659dfd2 | 59 | |
margotr | 0:17b00659dfd2 | 60 | // Attach the data read and send function at 100 Hz |
margotr | 0:17b00659dfd2 | 61 | scopeTimer.attach_us(&scopeSend, 1e4); |
margotr | 0:17b00659dfd2 | 62 | pc.printf("foo!\n"); |
margotr | 0:17b00659dfd2 | 63 | |
margotr | 0:17b00659dfd2 | 64 | while(1) { } |
margotr | 0:17b00659dfd2 | 65 | } |