/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
* irsnd.h\r
*\r
- * Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de\r
+ * Copyright (c) 2010-2011 Frank Meyer - frank(at)fli4l.de\r
+ *\r
+ * $Id: irsnd.h,v 1.7 2012/02/16 12:39:36 fm Exp $\r
*\r
* ATMEGA88 @ 8 MHz\r
*\r
#ifndef _WC_IRSND_H_\r
#define _WC_IRSND_H_\r
\r
+#if defined(__18CXX) // Microchip C18 declaration of missing typedef\r
+typedef unsigned char uint8_t;\r
+typedef unsigned int uint16_t;\r
+#endif \r
+\r
+#define IRSND_NO_REPETITIONS 0 // no repetitions\r
+#define IRSND_MAX_REPETITIONS 14 // max # of repetitions\r
+#define IRSND_ENDLESS_REPETITION 15 // endless repetions\r
+#define IRSND_REPETITION_MASK 0x0F // lower nibble of flags\r
+\r
/**\r
* Initialize ISND encoder\r
* @details Configures ISDN output pin\r
* @param pointer to IRMP data structure\r
* @return TRUE: successful, FALSE: failed\r
*/\r
-extern uint8_t irsnd_send_data (IRMP_DATA *);\r
+extern uint8_t irsnd_send_data (IRMP_DATA *, uint8_t);\r
+\r
+/**\r
+ * Stop sending IRMP data\r
+ * @details stops sending IRMP data\r
+ */\r
+extern void irsnd_stop (void);\r
\r
/**\r
* ISR routine\r
*/\r
extern uint8_t irsnd_ISR (void);\r
\r
+#if IRSND_USE_CALLBACK == 1\r
+extern void irsnd_set_callback_ptr (void (*cb)(uint8_t));\r
+#endif // IRSND_USE_CALLBACK == 1\r
+\r
#endif /* _WC_IRSND_H_ */\r