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.
Dependencies: mbed-dsp
Fork of mbed-os-example-blinky by
main.cpp@50:8ce5ed8e208b, 2017-04-05 (annotated)
- Committer:
- deeza
- Date:
- Wed Apr 05 12:46:01 2017 +0000
- Revision:
- 50:8ce5ed8e208b
- Parent:
- 49:2632e3e89576
- Child:
- 51:837137ab83ed
fft library added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan Austin |
0:2757d7abb7d9 | 1 | #include "mbed.h" |
deeza | 50:8ce5ed8e208b | 2 | #include "complex.h" |
deeza | 50:8ce5ed8e208b | 3 | #include "fft.h" |
Jonathan Austin |
0:2757d7abb7d9 | 4 | |
Jonathan Austin |
0:2757d7abb7d9 | 5 | DigitalOut led1(LED1); |
Jonathan Austin |
0:2757d7abb7d9 | 6 | |
deeza | 44:7f2c1e8d0761 | 7 | // State machine |
deeza | 44:7f2c1e8d0761 | 8 | int STATE; |
deeza | 47:b9abb45fde85 | 9 | //const int NONE = -1; |
deeza | 48:d147eba868c8 | 10 | const int IDLE = 0; |
deeza | 48:d147eba868c8 | 11 | const int LISTEN = 1; |
deeza | 48:d147eba868c8 | 12 | const int CALC = 2; |
deeza | 48:d147eba868c8 | 13 | const int SEND = 3; |
deeza | 49:2632e3e89576 | 14 | const int CALC_ERROR = 4; |
deeza | 47:b9abb45fde85 | 15 | //const int WAIT = 9; |
deeza | 44:7f2c1e8d0761 | 16 | |
Jonathan Austin |
1:846c97078558 | 17 | // main() runs in its own thread in the OS |
Jonathan Austin |
0:2757d7abb7d9 | 18 | int main() { |
deeza | 50:8ce5ed8e208b | 19 | |
deeza | 50:8ce5ed8e208b | 20 | /* |
deeza | 48:d147eba868c8 | 21 | STATE = IDLE; |
Jonathan Austin |
0:2757d7abb7d9 | 22 | while (true) { |
deeza | 44:7f2c1e8d0761 | 23 | switch (STATE) { |
deeza | 44:7f2c1e8d0761 | 24 | |
deeza | 48:d147eba868c8 | 25 | case IDLE: |
deeza | 46:5ad0d78d045e | 26 | //code here |
deeza | 48:d147eba868c8 | 27 | STATE = LISTEN; //next state |
deeza | 44:7f2c1e8d0761 | 28 | break; |
deeza | 44:7f2c1e8d0761 | 29 | |
deeza | 48:d147eba868c8 | 30 | case LISTEN: |
deeza | 48:d147eba868c8 | 31 | //code here |
deeza | 48:d147eba868c8 | 32 | break; |
deeza | 48:d147eba868c8 | 33 | |
deeza | 48:d147eba868c8 | 34 | case CALC: |
deeza | 44:7f2c1e8d0761 | 35 | //code here |
deeza | 44:7f2c1e8d0761 | 36 | break; |
deeza | 46:5ad0d78d045e | 37 | |
deeza | 49:2632e3e89576 | 38 | case CALC_ERROR: |
deeza | 46:5ad0d78d045e | 39 | //code here |
deeza | 46:5ad0d78d045e | 40 | break; |
deeza | 44:7f2c1e8d0761 | 41 | |
deeza | 46:5ad0d78d045e | 42 | case SEND: |
deeza | 46:5ad0d78d045e | 43 | // code here |
deeza | 50:8ce5ed8e208b | 44 | break; |
deeza | 44:7f2c1e8d0761 | 45 | } |
deeza | 50:8ce5ed8e208b | 46 | }*/ |
deeza | 50:8ce5ed8e208b | 47 | |
deeza | 50:8ce5ed8e208b | 48 | //testar complexa tal addering, verkar funka. |
deeza | 50:8ce5ed8e208b | 49 | complex c1 = complex(1,2); |
deeza | 50:8ce5ed8e208b | 50 | complex c2 = complex(2,3); |
deeza | 50:8ce5ed8e208b | 51 | complex c3 = c1 + c2; |
deeza | 50:8ce5ed8e208b | 52 | // printf(c3); |
Jonathan Austin |
0:2757d7abb7d9 | 53 | } |
deeza | 50:8ce5ed8e208b | 54 | |
deeza | 50:8ce5ed8e208b | 55 | |
KlaraBengtsson | 39:c92c150c0dd2 | 56 | //Calculating distanse between sound and camera |
KlaraBengtsson | 37:3bc968f47d9b | 57 | double calcDis(double t, double v){ |
KlaraBengtsson | 37:3bc968f47d9b | 58 | double s = t*v; |
KlaraBengtsson | 37:3bc968f47d9b | 59 | return s; |
KlaraBengtsson | 37:3bc968f47d9b | 60 | |
KlaraBengtsson | 37:3bc968f47d9b | 61 | } |
KlaraBengtsson | 39:c92c150c0dd2 | 62 | //Calculating angle in radians, D distanse between mic1 and mic2 |
KlaraBengtsson | 37:3bc968f47d9b | 63 | double calcAng(double s, double D){ |
KlaraBengtsson | 37:3bc968f47d9b | 64 | double ang = asin(s/D); |
KlaraBengtsson | 37:3bc968f47d9b | 65 | return ang; |
KlaraBengtsson | 37:3bc968f47d9b | 66 | } |
KlaraBengtsson | 37:3bc968f47d9b | 67 | |
NicklasNp | 38:0eceb5feddc4 | 68 | //Presuming the input value is temp as a nuber and humidity as procent |
NicklasNp | 38:0eceb5feddc4 | 69 | double speedofsound(double temp, double hum){ |
NicklasNp | 38:0eceb5feddc4 | 70 | //Calculations done in Matlab |
NicklasNp | 43:d3f8e93d85f0 | 71 | |
NicklasNp | 41:b34a65881a45 | 72 | double speed = 331.1190 + 0.6016*temp + 0.0126*hum; |
NicklasNp | 43:d3f8e93d85f0 | 73 | |
NicklasNp | 38:0eceb5feddc4 | 74 | return speed; |
NicklasNp | 38:0eceb5feddc4 | 75 | } |