![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Test for Receiving IR
Dependencies: mbed TextLCD RemoteIR
Revision 6:365e9629ef25, committed 2019-07-16
- Comitter:
- furutani
- Date:
- Tue Jul 16 06:45:28 2019 +0000
- Parent:
- 5:40750d5779ca
- Commit message:
- test for receive IR.
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 40750d5779ca -r 365e9629ef25 main.cpp --- a/main.cpp Wed Oct 13 10:51:41 2010 +0000 +++ b/main.cpp Tue Jul 16 06:45:28 2019 +0000 @@ -15,7 +15,6 @@ ReceiverIR ir_rx(p15); TransmitterIR ir_tx(p21); -TextLCD lcd(p24, p26, p27, p28, p29, p30); BusOut led(LED4, LED3, LED2, LED1); Ticker ledTicker; @@ -40,56 +39,34 @@ } /** - * Transmit. - * - * @param format Format. - * @param buf Pointer to a buffer. - * @param bitlength Bit length of the data. - * - * @return Bit length of the received data. - */ -int transmit(RemoteIR::Format format, uint8_t *buf, int bitlength, int timeout = 100) { - int cnt = 0; - while (ir_tx.getState() != TransmitterIR::Idle) { - cnt++; - if (timeout < cnt) { - return -1; - } - } - return ir_tx.setData(format, buf, bitlength); -} - -/** * Display a current status. */ void display_status(char *status, int bitlength) { - lcd.locate(8, 0); - lcd.printf("%-5.5s:%02d", status, bitlength); + printf("%-5.5s:%02d\r\n", status, bitlength); } /** * Display a format of a data. */ void display_format(RemoteIR::Format format) { - lcd.locate(0, 0); switch (format) { case RemoteIR::UNKNOWN: - lcd.printf("????????"); + printf("????????\r\n"); break; case RemoteIR::NEC: - lcd.printf("NEC "); + printf("NEC \r\n"); break; case RemoteIR::NEC_REPEAT: - lcd.printf("NEC (R)"); + printf("NEC (R)\r\n"); break; case RemoteIR::AEHA: - lcd.printf("AEHA "); + printf("AEHA \r\n"); break; case RemoteIR::AEHA_REPEAT: - lcd.printf("AEHA (R)"); + printf("AEHA (R)\r\n"); break; case RemoteIR::SONY: - lcd.printf("SONY "); + printf("SONY \r\n"); break; } } @@ -101,14 +78,14 @@ * @param bitlength Bit length of a data. */ void display_data(uint8_t *buf, int bitlength) { - lcd.locate(0, 1); const int n = bitlength / 8 + (((bitlength % 8) != 0) ? 1 : 0); for (int i = 0; i < n; i++) { - lcd.printf("%02X", buf[i]); + printf("%02X", buf[i]); } for (int i = 0; i < 8 - n; i++) { - lcd.printf("--"); + printf("--"); } + printf("\r\n"); } void ledfunc(void) { @@ -125,23 +102,12 @@ /* * Splash. */ - lcd.cls(); - lcd.locate(0, 0); - lcd.printf("RemoteIR "); - lcd.locate(0, 1); - lcd.printf("Program example."); - wait(3); + printf("RemoteIR \r\n"); + printf("Program example.\r\n"); /* * Initialize. */ - led = 0; - lcd.cls(); - lcd.locate(0, 0); - lcd.printf("Press a button "); - lcd.locate(0, 1); - lcd.printf("on a controller."); - /* * Execute. */ @@ -164,43 +130,5 @@ display_data(buf1, bitlength1); display_format(format); } - -#if TEST_LOOP_BACK - wait_ms(100); - - { - bitlength1 = transmit(format, buf1, bitlength1); - if (bitlength1 < 0) { - continue; - } - display_status("TRAN", bitlength1); - display_data(buf1, bitlength1); - display_format(format); - } - - wait_ms(100); - - { - bitlength2 = receive(&format, buf2, sizeof(buf2)); - if (bitlength2 < 0) { - continue; - } - display_status("RECV", bitlength2); - display_data(buf2, bitlength2); - display_format(format); - } - - wait_ms(100); - - { - for (int i = 0; i < sizeof(buf1); i++) { - if (buf1[i] != buf2[i]) { - display_status("CPERR", bitlength2); - wait(1); - continue; - } - } - } -#endif } } \ No newline at end of file