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@46:5ad0d78d045e, 2017-03-29 (annotated)
- Committer:
- deeza
- Date:
- Wed Mar 29 15:47:30 2017 +0000
- Revision:
- 46:5ad0d78d045e
- Parent:
- 45:b1b431753adc
- Child:
- 47:b9abb45fde85
tillst?nd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jonathan Austin |
0:2757d7abb7d9 | 1 | #include "mbed.h" |
Jonathan Austin |
0:2757d7abb7d9 | 2 | |
Jonathan Austin |
0:2757d7abb7d9 | 3 | DigitalOut led1(LED1); |
Jonathan Austin |
0:2757d7abb7d9 | 4 | |
deeza | 44:7f2c1e8d0761 | 5 | // State machine |
deeza | 44:7f2c1e8d0761 | 6 | int STATE; |
deeza | 44:7f2c1e8d0761 | 7 | const int NONE = -1; |
deeza | 46:5ad0d78d045e | 8 | const int IDLE_LISTEN = 0; |
deeza | 46:5ad0d78d045e | 9 | const int CALC_DELTA_T = 1; |
deeza | 46:5ad0d78d045e | 10 | const int CALC_DELTA_S = 2; |
deeza | 46:5ad0d78d045e | 11 | const int CALC_DELTA_PHI = 3; |
deeza | 46:5ad0d78d045e | 12 | const int SEND = 4; |
deeza | 44:7f2c1e8d0761 | 13 | const int WAIT = 9; |
deeza | 44:7f2c1e8d0761 | 14 | |
Jonathan Austin |
1:846c97078558 | 15 | // main() runs in its own thread in the OS |
Jonathan Austin |
0:2757d7abb7d9 | 16 | int main() { |
deeza | 46:5ad0d78d045e | 17 | STATE = IDLE_LISTEN; |
Jonathan Austin |
0:2757d7abb7d9 | 18 | while (true) { |
deeza | 44:7f2c1e8d0761 | 19 | switch (STATE) { |
deeza | 44:7f2c1e8d0761 | 20 | |
deeza | 46:5ad0d78d045e | 21 | case IDLE_LISTEN: |
deeza | 46:5ad0d78d045e | 22 | //code here |
deeza | 46:5ad0d78d045e | 23 | STATE = CALC_DELTA_T |
deeza | 44:7f2c1e8d0761 | 24 | break; |
deeza | 44:7f2c1e8d0761 | 25 | |
deeza | 46:5ad0d78d045e | 26 | case CALC_DELTA_T: |
deeza | 44:7f2c1e8d0761 | 27 | //code here |
deeza | 44:7f2c1e8d0761 | 28 | break; |
deeza | 46:5ad0d78d045e | 29 | |
deeza | 46:5ad0d78d045e | 30 | case CALC_DELTA_S: |
deeza | 46:5ad0d78d045e | 31 | //code here |
deeza | 46:5ad0d78d045e | 32 | break; |
deeza | 44:7f2c1e8d0761 | 33 | |
deeza | 46:5ad0d78d045e | 34 | case CALC_DELTA_PHI: |
deeza | 46:5ad0d78d045e | 35 | // code here |
deeza | 46:5ad0d78d045e | 36 | break; |
deeza | 46:5ad0d78d045e | 37 | |
deeza | 46:5ad0d78d045e | 38 | case SEND: |
deeza | 46:5ad0d78d045e | 39 | // code here |
deeza | 46:5ad0d78d045e | 40 | break; |
deeza | 46:5ad0d78d045e | 41 | |
deeza | 44:7f2c1e8d0761 | 42 | } |
Jonathan Austin |
0:2757d7abb7d9 | 43 | } |
Jonathan Austin |
0:2757d7abb7d9 | 44 | } |
KlaraBengtsson | 39:c92c150c0dd2 | 45 | //Calculating distanse between sound and camera |
KlaraBengtsson | 37:3bc968f47d9b | 46 | double calcDis(double t, double v){ |
KlaraBengtsson | 37:3bc968f47d9b | 47 | double s = t*v; |
KlaraBengtsson | 37:3bc968f47d9b | 48 | return s; |
KlaraBengtsson | 37:3bc968f47d9b | 49 | |
KlaraBengtsson | 37:3bc968f47d9b | 50 | } |
KlaraBengtsson | 39:c92c150c0dd2 | 51 | //Calculating angle in radians, D distanse between mic1 and mic2 |
KlaraBengtsson | 37:3bc968f47d9b | 52 | double calcAng(double s, double D){ |
KlaraBengtsson | 37:3bc968f47d9b | 53 | double ang = asin(s/D); |
KlaraBengtsson | 37:3bc968f47d9b | 54 | return ang; |
KlaraBengtsson | 37:3bc968f47d9b | 55 | } |
KlaraBengtsson | 37:3bc968f47d9b | 56 | |
NicklasNp | 38:0eceb5feddc4 | 57 | //Presuming the input value is temp as a nuber and humidity as procent |
NicklasNp | 38:0eceb5feddc4 | 58 | double speedofsound(double temp, double hum){ |
NicklasNp | 38:0eceb5feddc4 | 59 | //Calculations done in Matlab |
NicklasNp | 43:d3f8e93d85f0 | 60 | |
NicklasNp | 41:b34a65881a45 | 61 | double speed = 331.1190 + 0.6016*temp + 0.0126*hum; |
NicklasNp | 43:d3f8e93d85f0 | 62 | |
NicklasNp | 38:0eceb5feddc4 | 63 | return speed; |
NicklasNp | 38:0eceb5feddc4 | 64 | } |