Infrared remote library for Arduino: send and receive infrared signals with multiple protocols Port from Arduino-IRremote https://github.com/z3t0/Arduino-IRremote

Dependents:   mbed-os-example-FinalReal mbed-os-example-FinalReal

Revision:
3:17440cf7ab90
Parent:
0:70c8e56bac45
diff -r 6bbd1e911324 -r 17440cf7ab90 IRremote.h
--- a/IRremote.h	Sat Jan 23 15:36:14 2016 +0900
+++ b/IRremote.h	Sat Jan 23 15:09:34 2016 +0000
@@ -151,7 +151,7 @@
 		unsigned int           address;      // Used by Panasonic & Sharp [16-bits]
 		unsigned long          value;        // Decoded value [max 32-bits]
 		int                    bits;         // Number of bits in decoded value
-		volatile unsigned int  *rawbuf;      // Raw intervals in 50uS ticks
+		unsigned int  *rawbuf;      // Raw intervals in 50uS ticks
 		int                    rawlen;       // Number of records in rawbuf
 		int                    overflow;     // true iff IR raw code too long
 };
@@ -167,16 +167,15 @@
 class IRrecv
 {
 	public:
-		IRrecv (int recvpin) ;
-		IRrecv (int recvpin, int blinkpin);
-
-		void  blink13    (int blinkflag) ;
+		IRrecv (PinName recvpin) ;
 		int   decode     (decode_results *results) ;
 		void  enableIRIn ( ) ;
+		void  disableIRIn ( ) ;
 		bool  isIdle     ( ) ;
 		void  resume     ( ) ;
 
 	private:
+		void timer_isr ();
 		long  decodeHash (decode_results *results) ;
 		int   compare    (unsigned int oldval, unsigned int newval) ;
 
@@ -243,6 +242,10 @@
 #		if DECODE_DENON
 			bool  decodeDenon (decode_results *results) ;
 #		endif
+		
+		DigitalIn _recvpin;
+		Ticker _ticker;
+		irparams_t  irparams;
 } ;
 
 //------------------------------------------------------------------------------
@@ -251,7 +254,7 @@
 class IRsend
 {
 	public:
-		IRsend () { }
+		IRsend (PinName sendpin) : _pwm(sendpin) { }
 
 		void  custom_delay_usec (unsigned long uSecs);
 		void  enableIROut 		(int khz) ;
@@ -327,6 +330,8 @@
 #		if SEND_PRONTO
 			void  sendPronto     (char* code,  bool repeat,  bool fallback) ;
 #		endif
+
+		PwmOut _pwm;
 } ;
 
 #endif