+#if IRSND_SUPPORT_GRUNDIG_PROTOCOL == 1\r
+ case IRMP_GRUNDIG_PROTOCOL:\r
+ {\r
+ startbit_pulse_len = GRUNDIG_OR_NOKIA_BIT_LEN;\r
+ startbit_pause_len = GRUNDIG_OR_NOKIA_PRE_PAUSE_LEN - 1;\r
+ pulse_len = GRUNDIG_OR_NOKIA_BIT_LEN;\r
+ pause_len = GRUNDIG_OR_NOKIA_BIT_LEN;\r
+ has_stop_bit = GRUNDIG_OR_NOKIA_STOP_BIT;\r
+ complete_data_len = GRUNDIG_COMPLETE_DATA_LEN;\r
+ n_auto_repetitions = GRUNDIG_FRAMES; // 2 frames\r
+ auto_repetition_pause_len = GRUNDIG_AUTO_REPETITION_PAUSE_LEN; // 20m sec pause\r
+ repeat_frame_pause_len = GRUNDIG_OR_NOKIA_FRAME_REPEAT_PAUSE_LEN; // 117 msec pause\r
+ irsnd_set_freq (IRSND_FREQ_38_KHZ);\r
+\r
+ break;\r
+ }\r
+#endif\r
+#if IRSND_SUPPORT_NOKIA_PROTOCOL == 1\r
+ case IRMP_NOKIA_PROTOCOL:\r
+ {\r
+ startbit_pulse_len = GRUNDIG_OR_NOKIA_BIT_LEN;\r
+ startbit_pause_len = GRUNDIG_OR_NOKIA_PRE_PAUSE_LEN - 1;\r
+ pulse_len = GRUNDIG_OR_NOKIA_BIT_LEN;\r
+ pause_len = GRUNDIG_OR_NOKIA_BIT_LEN;\r
+ has_stop_bit = GRUNDIG_OR_NOKIA_STOP_BIT;\r
+ complete_data_len = NOKIA_COMPLETE_DATA_LEN;\r
+ n_auto_repetitions = NOKIA_FRAMES; // 2 frames\r
+ auto_repetition_pause_len = NOKIA_AUTO_REPETITION_PAUSE_LEN; // 20 msec pause\r
+ repeat_frame_pause_len = GRUNDIG_OR_NOKIA_FRAME_REPEAT_PAUSE_LEN; // 117 msec pause\r
+ irsnd_set_freq (IRSND_FREQ_38_KHZ);\r
+ break;\r
+ }\r
+#endif\r
+#if IRSND_SUPPORT_SIEMENS_PROTOCOL == 1\r
+ case IRMP_SIEMENS_PROTOCOL:\r
+ {\r
+ startbit_pulse_len = SIEMENS_BIT_LEN;\r
+ startbit_pause_len = SIEMENS_BIT_LEN;\r
+ pulse_len = SIEMENS_BIT_LEN;\r
+ pause_len = SIEMENS_BIT_LEN;\r
+ has_stop_bit = SIEMENS_STOP_BIT;\r
+ complete_data_len = SIEMENS_COMPLETE_DATA_LEN - 1;\r
+ n_auto_repetitions = 1; // 1 frame\r
+ auto_repetition_pause_len = 0;\r
+ repeat_frame_pause_len = SIEMENS_FRAME_REPEAT_PAUSE_LEN;\r
+ irsnd_set_freq (IRSND_FREQ_36_KHZ);\r
+ break;\r
+ }\r
+#endif\r
+#if IRSND_SUPPORT_FDC_PROTOCOL == 1\r
+ case IRMP_FDC_PROTOCOL:\r
+ {\r
+ startbit_pulse_len = FDC_START_BIT_PULSE_LEN;\r
+ startbit_pause_len = FDC_START_BIT_PAUSE_LEN - 1;\r
+ complete_data_len = FDC_COMPLETE_DATA_LEN;\r
+ pulse_1_len = FDC_PULSE_LEN;\r
+ pause_1_len = FDC_1_PAUSE_LEN - 1;\r
+ pulse_0_len = FDC_PULSE_LEN;\r
+ pause_0_len = FDC_0_PAUSE_LEN - 1;\r
+ has_stop_bit = FDC_STOP_BIT;\r
+ n_auto_repetitions = 1; // 1 frame\r
+ auto_repetition_pause_len = 0;\r
+ repeat_frame_pause_len = FDC_FRAME_REPEAT_PAUSE_LEN;\r
+ irsnd_set_freq (IRSND_FREQ_38_KHZ);\r
+ break;\r
+ }\r
+#endif\r
+#if IRSND_SUPPORT_RCCAR_PROTOCOL == 1\r
+ case IRMP_RCCAR_PROTOCOL:\r
+ {\r
+ startbit_pulse_len = RCCAR_START_BIT_PULSE_LEN;\r
+ startbit_pause_len = RCCAR_START_BIT_PAUSE_LEN - 1;\r
+ complete_data_len = RCCAR_COMPLETE_DATA_LEN;\r
+ pulse_1_len = RCCAR_PULSE_LEN;\r
+ pause_1_len = RCCAR_1_PAUSE_LEN - 1;\r
+ pulse_0_len = RCCAR_PULSE_LEN;\r
+ pause_0_len = RCCAR_0_PAUSE_LEN - 1;\r
+ has_stop_bit = RCCAR_STOP_BIT;\r
+ n_auto_repetitions = 1; // 1 frame\r
+ auto_repetition_pause_len = 0;\r
+ repeat_frame_pause_len = RCCAR_FRAME_REPEAT_PAUSE_LEN;\r
+ irsnd_set_freq (IRSND_FREQ_38_KHZ);\r
+ break;\r
+ }\r
+#endif\r
+#if IRSND_SUPPORT_JVC_PROTOCOL == 1\r
+ case IRMP_JVC_PROTOCOL:\r
+ {\r
+ if (repeat_counter != 0) // skip start bit if repetition frame\r
+ {\r
+ current_bit = 0;\r
+ }\r
+\r
+ startbit_pulse_len = JVC_START_BIT_PULSE_LEN;\r
+ startbit_pause_len = JVC_START_BIT_PAUSE_LEN - 1;\r
+ complete_data_len = JVC_COMPLETE_DATA_LEN;\r
+ pulse_1_len = JVC_PULSE_LEN;\r
+ pause_1_len = JVC_1_PAUSE_LEN - 1;\r
+ pulse_0_len = JVC_PULSE_LEN;\r
+ pause_0_len = JVC_0_PAUSE_LEN - 1;\r
+ has_stop_bit = JVC_STOP_BIT;\r
+ n_auto_repetitions = 1; // 1 frame\r
+ auto_repetition_pause_len = 0;\r
+ repeat_frame_pause_len = JVC_FRAME_REPEAT_PAUSE_LEN;\r
+ irsnd_set_freq (IRSND_FREQ_38_KHZ);\r
+\r
+ break;\r
+ }\r
+#endif\r
+#if IRSND_SUPPORT_NIKON_PROTOCOL == 1\r
+ case IRMP_NIKON_PROTOCOL:\r
+ {\r
+ startbit_pulse_len = NIKON_START_BIT_PULSE_LEN;\r
+ startbit_pause_len = 271 - 1; // NIKON_START_BIT_PAUSE_LEN;\r
+ complete_data_len = NIKON_COMPLETE_DATA_LEN;\r
+ pulse_1_len = NIKON_PULSE_LEN;\r
+ pause_1_len = NIKON_1_PAUSE_LEN - 1;\r
+ pulse_0_len = NIKON_PULSE_LEN;\r
+ pause_0_len = NIKON_0_PAUSE_LEN - 1;\r
+ has_stop_bit = NIKON_STOP_BIT;\r
+ n_auto_repetitions = 1; // 1 frame\r
+ auto_repetition_pause_len = 0;\r
+ repeat_frame_pause_len = NIKON_FRAME_REPEAT_PAUSE_LEN;\r
+ irsnd_set_freq (IRSND_FREQ_38_KHZ);\r
+\r
+ break;\r
+ }\r
+#endif\r