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@49:2632e3e89576, 2017-03-30 (annotated)
- Committer:
- deeza
- Date:
- Thu Mar 30 10:41:17 2017 +0000
- Revision:
- 49:2632e3e89576
- Parent:
- 48:d147eba868c8
- Child:
- 50:8ce5ed8e208b
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 | 47:b9abb45fde85 | 7 | //const int NONE = -1; |
deeza | 48:d147eba868c8 | 8 | const int IDLE = 0; |
deeza | 48:d147eba868c8 | 9 | const int LISTEN = 1; |
deeza | 48:d147eba868c8 | 10 | const int CALC = 2; |
deeza | 48:d147eba868c8 | 11 | const int SEND = 3; |
deeza | 49:2632e3e89576 | 12 | const int CALC_ERROR = 4; |
deeza | 47:b9abb45fde85 | 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 | 48:d147eba868c8 | 17 | STATE = IDLE; |
Jonathan Austin |
0:2757d7abb7d9 | 18 | while (true) { |
deeza | 44:7f2c1e8d0761 | 19 | switch (STATE) { |
deeza | 44:7f2c1e8d0761 | 20 | |
deeza | 48:d147eba868c8 | 21 | case IDLE: |
deeza | 46:5ad0d78d045e | 22 | //code here |
deeza | 48:d147eba868c8 | 23 | STATE = LISTEN; //next state |
deeza | 44:7f2c1e8d0761 | 24 | break; |
deeza | 44:7f2c1e8d0761 | 25 | |
deeza | 48:d147eba868c8 | 26 | case LISTEN: |
deeza | 48:d147eba868c8 | 27 | //code here |
deeza | 48:d147eba868c8 | 28 | break; |
deeza | 48:d147eba868c8 | 29 | |
deeza | 48:d147eba868c8 | 30 | case CALC: |
deeza | 44:7f2c1e8d0761 | 31 | //code here |
deeza | 44:7f2c1e8d0761 | 32 | break; |
deeza | 46:5ad0d78d045e | 33 | |
deeza | 49:2632e3e89576 | 34 | case CALC_ERROR: |
deeza | 46:5ad0d78d045e | 35 | //code here |
deeza | 46:5ad0d78d045e | 36 | break; |
deeza | 44:7f2c1e8d0761 | 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 | } |