lololololol
Dependencies: mbed QEI HIDScope biquadFilter MODSERIAL FastPWM
main.cpp@12:6aabdca32aee, 2019-09-20 (annotated)
- Committer:
- Hendrikvg
- Date:
- Fri Sep 20 09:43:53 2019 +0000
- Revision:
- 12:6aabdca32aee
- Parent:
- 11:008c8060e640
- Child:
- 13:6c9e9d2cf9cd
L3: Assignment 2
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Hendrikvg | 9:12b9865e7373 | 1 | #include "mbed.h" |
Hendrikvg | 10:3a3d6373b41c | 2 | #include "HIDScope.h" |
Hendrikvg | 9:12b9865e7373 | 3 | |
Hendrikvg | 9:12b9865e7373 | 4 | Serial pc(USBTX,USBRX); |
Hendrikvg | 11:008c8060e640 | 5 | HIDScope scope(4); |
Hendrikvg | 10:3a3d6373b41c | 6 | Ticker AInTicker; |
Hendrikvg | 9:12b9865e7373 | 7 | InterruptIn BUT1(D1); |
Hendrikvg | 9:12b9865e7373 | 8 | PwmOut lichtje(D3); |
Hendrikvg | 9:12b9865e7373 | 9 | AnalogIn ain(A0); |
Hendrikvg | 11:008c8060e640 | 10 | AnalogIn bin(A1); |
RobertoO | 0:67c50348f842 | 11 | |
Hendrikvg | 9:12b9865e7373 | 12 | float getal; |
Hendrikvg | 9:12b9865e7373 | 13 | int n=5; |
Hendrikvg | 2:d9b0ebf3fcca | 14 | |
Hendrikvg | 10:3a3d6373b41c | 15 | volatile float x; |
Hendrikvg | 10:3a3d6373b41c | 16 | volatile float x_prev=0; |
Hendrikvg | 10:3a3d6373b41c | 17 | volatile float y; |
Hendrikvg | 11:008c8060e640 | 18 | volatile float xb; |
Hendrikvg | 11:008c8060e640 | 19 | volatile float xb_prev=0; |
Hendrikvg | 11:008c8060e640 | 20 | volatile float yb; |
Hendrikvg | 10:3a3d6373b41c | 21 | |
Hendrikvg | 10:3a3d6373b41c | 22 | void ReadAnalogInAndFilter() |
Hendrikvg | 10:3a3d6373b41c | 23 | { |
Hendrikvg | 10:3a3d6373b41c | 24 | x = ain; // Capture data |
Hendrikvg | 10:3a3d6373b41c | 25 | scope.set(0, x); // store data in first element of scope memory |
Hendrikvg | 10:3a3d6373b41c | 26 | y = (x_prev+ x)/2.0; // averaging |
Hendrikvg | 10:3a3d6373b41c | 27 | scope.set(1, y);// store data in second element of scope memory filter |
Hendrikvg | 10:3a3d6373b41c | 28 | x_prev= x; // Prepare for next round |
Hendrikvg | 10:3a3d6373b41c | 29 | |
Hendrikvg | 11:008c8060e640 | 30 | xb = bin; // Capture data |
Hendrikvg | 11:008c8060e640 | 31 | scope.set(2, xb); // store data in first element of scope memory |
Hendrikvg | 11:008c8060e640 | 32 | yb= (xb_prev+ xb)/2.0; // averaging |
Hendrikvg | 11:008c8060e640 | 33 | scope.set(3, yb);// store data in second element of scope memory filter |
Hendrikvg | 11:008c8060e640 | 34 | xb_prev= xb; // Prepare for next round |
Hendrikvg | 11:008c8060e640 | 35 | |
Hendrikvg | 10:3a3d6373b41c | 36 | scope.send(); // send what's in scope memory to PC |
Hendrikvg | 10:3a3d6373b41c | 37 | } |
Hendrikvg | 10:3a3d6373b41c | 38 | |
Hendrikvg | 9:12b9865e7373 | 39 | void plus() |
Hendrikvg | 9:12b9865e7373 | 40 | { |
Hendrikvg | 9:12b9865e7373 | 41 | n++; // n=n+1 |
Hendrikvg | 10:3a3d6373b41c | 42 | if (n>10) { |
Hendrikvg | 9:12b9865e7373 | 43 | n=10; |
Hendrikvg | 9:12b9865e7373 | 44 | } |
Hendrikvg | 10:3a3d6373b41c | 45 | } |
Hendrikvg | 10:3a3d6373b41c | 46 | |
Hendrikvg | 9:12b9865e7373 | 47 | void min() |
Hendrikvg | 8:d1794f225fff | 48 | { |
Hendrikvg | 9:12b9865e7373 | 49 | n--; |
Hendrikvg | 10:3a3d6373b41c | 50 | if (n<0) { |
Hendrikvg | 9:12b9865e7373 | 51 | n=0; |
Hendrikvg | 7:d307e31f7391 | 52 | } |
Hendrikvg | 10:3a3d6373b41c | 53 | } |
Hendrikvg | 7:d307e31f7391 | 54 | |
Hendrikvg | 9:12b9865e7373 | 55 | int main() { |
RobertoO | 0:67c50348f842 | 56 | pc.baud(115200); |
Hendrikvg | 9:12b9865e7373 | 57 | lichtje=1; |
Hendrikvg | 12:6aabdca32aee | 58 | pc.printf("Maak me dood svp\n\r"); |
Hendrikvg | 10:3a3d6373b41c | 59 | AInTicker.attach(&ReadAnalogInAndFilter, 0.01); |
Hendrikvg | 12:6aabdca32aee | 60 | while(true) |
Hendrikvg | 9:12b9865e7373 | 61 | { |
Hendrikvg | 10:3a3d6373b41c | 62 | |
Hendrikvg | 9:12b9865e7373 | 63 | } |
Hendrikvg | 2:d9b0ebf3fcca | 64 | } |