*\r
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de\r
*\r
- * $Id: irmpsystem.h,v 1.17 2015/02/26 15:42:53 fm Exp $\r
+ * $Id: irmpsystem.h,v 1.21 2015/11/18 08:27:50 fm Exp $\r
*\r
* This program is free software; you can redistribute it and/or modify\r
* it under the terms of the GNU General Public License as published by\r
# include <stm32l1xx.h>\r
# define ARM_STM32\r
# define ARM_STM32L1XX\r
+# define F_CPU (SysCtlClockGet())\r
#elif defined(STM32F10X_LD) || defined(STM32F10X_LD_VL) \\r
|| defined(STM32F10X_MD) || defined(STM32F10X_MD_VL) \\r
|| defined(STM32F10X_HD) || defined(STM32F10X_HD_VL) \\r
# include <stm32f4xx.h>\r
# define ARM_STM32\r
# define ARM_STM32F4XX\r
+#elif defined(__SDCC_stm8) // STM8\r
+# define SDCC_STM8\r
#elif defined(TARGET_IS_BLIZZARD_RA2) // TI Stellaris (tested on Stellaris Launchpad with Code Composer Studio)\r
# define STELLARIS_ARM_CORTEX_M4\r
# define F_CPU (SysCtlClockGet())\r
+#elif defined(__xtensa__)\r
+# include "ets_sys.h"\r
+# include "osapi.h"\r
+# include "gpio.h"\r
+# include "os_type.h"\r
+# include "c_types.h" \r
+# define uint_fast8_t uint8_t\r
+# define uint_fast16_t uint16_t\r
+#elif defined(TEENSYDUINO) && (defined(__MK20DX256__) || defined(__MK20DX128__)) // Teensy 3.x (tested on Teensy 3.1 in Arduino 1.6.5 / Teensyduino 1.2.5)\r
+# include <core_pins.h>\r
+# define TEENSY_ARM_CORTEX_M4\r
#elif defined(unix) || defined(WIN32) || defined(__APPLE__) // Unix/Linux or Windows or Apple\r
# define UNIX_OR_WINDOWS\r
#else\r
# define PROGMEM\r
# define memcpy_P memcpy\r
\r
-#else\r
+#elif defined(SDCC_STM8)\r
+\r
+# include "stm8s.h"\r
+# define PROGMEM\r
+# define memcpy_P memcpy\r
+# define __attribute__(x)\r
+# define uint_fast8_t uint8_t\r
+# define uint_fast16_t uint16_t\r
\r
+#elif defined(TEENSY_ARM_CORTEX_M4)\r
+# define PROGMEM\r
+# define memcpy_P memcpy\r
+\r
+#else\r
# define PROGMEM\r
# define memcpy_P memcpy\r
\r
\r
typedef struct __attribute__ ((__packed__))\r
{\r
- uint8_t protocol; // protocol, e.g. NEC_PROTOCOL\r
- uint16_t address; // address\r
- uint16_t command; // command\r
- uint8_t flags; // flags, e.g. repetition\r
+ uint8_t protocol; // protocol, e.g. NEC_PROTOCOL\r
+ uint16_t address; // address\r
+ uint16_t command; // command\r
+ uint8_t flags; // flags, e.g. repetition\r
} IRMP_DATA;\r
\r
#endif // _IRMPSYSTEM_H_\r