Gitakichi Tokyo / Mbed 2 deprecated IR-remote

Dependencies:   mbed

Committer:
gitakichi
Date:
Tue Feb 11 05:55:21 2020 +0000
Revision:
1:4847c54eed20
Parent:
0:a3131d121a8f
Child:
2:eca0702650ca
compare data length

Who changed what in which revision?

UserRevisionLine numberNew contents of line
gitakichi 0:a3131d121a8f 1 //reference from
gitakichi 0:a3131d121a8f 2 //https://www.hiramine.com/physicalcomputing/mbed/irreceiver.html
gitakichi 0:a3131d121a8f 3
gitakichi 0:a3131d121a8f 4 #include "mbed.h"
gitakichi 0:a3131d121a8f 5
gitakichi 0:a3131d121a8f 6 DigitalIn g_dpinIrReceiver(D2);
gitakichi 0:a3131d121a8f 7
gitakichi 0:a3131d121a8f 8 Serial g_serial(USBTX, USBRX);
gitakichi 0:a3131d121a8f 9
gitakichi 0:a3131d121a8f 10 int main()
gitakichi 0:a3131d121a8f 11 {
gitakichi 0:a3131d121a8f 12 g_serial.baud(115200);
gitakichi 0:a3131d121a8f 13
gitakichi 0:a3131d121a8f 14 Timer timer;
gitakichi 0:a3131d121a8f 15 timer.start();
gitakichi 1:4847c54eed20 16 //int iMicroSec_prev = timer.read_us();
gitakichi 0:a3131d121a8f 17 int iState_prev = 1;
gitakichi 1:4847c54eed20 18 int time_start,time_end;
gitakichi 1:4847c54eed20 19
gitakichi 1:4847c54eed20 20 while(1) {
gitakichi 0:a3131d121a8f 21 int iState = g_dpinIrReceiver;
gitakichi 1:4847c54eed20 22
gitakichi 1:4847c54eed20 23 //detect H signal
gitakichi 1:4847c54eed20 24 if( iState != iState_prev ) {
gitakichi 1:4847c54eed20 25 //timer start
gitakichi 1:4847c54eed20 26 if(iState == 0) {
gitakichi 1:4847c54eed20 27 //timer.start();//reset
gitakichi 1:4847c54eed20 28 time_start = timer.read_us();//start(detect negedge
gitakichi 1:4847c54eed20 29 }
gitakichi 1:4847c54eed20 30 if(iState == 1) {//end (detect posedge
gitakichi 1:4847c54eed20 31 time_end = timer.read_us();//over flow?
gitakichi 1:4847c54eed20 32 //compare and output
gitakichi 1:4847c54eed20 33 int delta_t = time_end - time_start;
gitakichi 1:4847c54eed20 34
gitakichi 1:4847c54eed20 35 if(delta_t > 8430) g_serial.printf("flame,");
gitakichi 1:4847c54eed20 36 else g_serial.printf("data,");
gitakichi 1:4847c54eed20 37
gitakichi 1:4847c54eed20 38 //g_serial.printf( "%d, ", time_start - time_end);
gitakichi 1:4847c54eed20 39 }
gitakichi 1:4847c54eed20 40 }
gitakichi 1:4847c54eed20 41 iState_prev = iState;
gitakichi 1:4847c54eed20 42
gitakichi 1:4847c54eed20 43 //iState_prev = iState;
gitakichi 1:4847c54eed20 44 //int iMicroSec = timer.read_us();
gitakichi 1:4847c54eed20 45 //g_serial.printf( "%d, ", iMicroSec - iMicroSec_prev );
gitakichi 1:4847c54eed20 46 //iMicroSec_prev = iMicroSec;
gitakichi 0:a3131d121a8f 47 }
gitakichi 0:a3131d121a8f 48 }