-\r
-#define F_CPU 48000000UL // PIC freq.; Set you Freq here\r
-#define Pre_Scaler 4 // define prescaler for Timer2 e.g. 1,4,16 !!!\r
-#define PIC_Scaler 2 // PIC needs /2 extra in IRSND_FREQ_32_KHZ calculation for right value\r
-#warning Timer2 used for IRSND (PWM out) ! Do not use/setup Timer 2 yourself !\r
-\r
-//Do not change lines below until you have a diffrent HW !! Example for 18F2550/18F4550\r
-//Setup macro for PWM used PWM module\r
-\r
-#if IRSND_OCx == IRSND_PIC_CCP2 \r
-#define IRSND_PIN TRISCbits.TRISC1 // RC1 = PWM2\r
-\r
-#define SetDCPWM(x) SetDCPWM2(x) \r
-#define ClosePWM ClosePWM2\r
-#define OpenPWM(x) OpenPWM2(x) \r
-#endif\r
-\r
-#if IRSND_OCx == IRSND_PIC_CCP1 \r
-#define IRSND_PIN TRISCbits.TRISC2 // RC2 = PWM1\r
-\r
-#define SetDCPWM(x) SetDCPWM1(x)\r
-#define ClosePWM ClosePWM1\r
-#define OpenPWM(x) OpenPWM1(x)\r
-#endif\r
-\r
-//Setup macro for OpenTimer with defined Pre_Scaler\r
-#if Pre_Scaler == 1\r
-#define OpenTimer OpenTimer2(TIMER_INT_OFF & T2_PS_1_1); \r
-#elif Pre_Scaler == 4\r
-#define OpenTimer OpenTimer2(TIMER_INT_OFF & T2_PS_1_4); \r
-#elif Pre_Scaler == 16\r
-#define OpenTimer OpenTimer2(TIMER_INT_OFF & T2_PS_1_16); \r
-#else\r
-#error Incorrect value for Pre_Scaler\r
-#endif\r
-\r
-#endif //PIC_C18\r
+#elif defined (ARM_STM32) // use B6 as IR output on STM32\r
+# define IRSND_PORT_LETTER B\r
+# define IRSND_BIT_NUMBER 6\r
+# define IRSND_TIMER_NUMBER 4\r
+# define IRSND_TIMER_CHANNEL_NUMBER 1 // only channel 1 can be used at the moment, others won't work\r