+/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ * FAN: (ventilator)\r
+ *\r
+ * Similar to NUBERT, but\r
+ * - has data bit instead of stop bit\r
+ * - has NO frame repetition\r
+ *---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ */\r
+#define FAN_START_BIT_PULSE_TIME 1280.0e-6 // 1280 usec pulse\r
+#define FAN_START_BIT_PAUSE_TIME 380.0e-6 // 380 usec pause\r
+#define FAN_1_PULSE_TIME 1280.0e-6 // 1280 usec pulse\r
+#define FAN_1_PAUSE_TIME 380.0e-6 // 380 usec pause\r
+#define FAN_0_PULSE_TIME 380.0e-6 // 380 usec pulse\r
+#define FAN_0_PAUSE_TIME 1280.0e-6 // 1280 usec pause\r
+#define FAN_FRAMES 1 // FAN sends only 1 frame (NUBERT sends 2)\r
+#define FAN_AUTO_REPETITION_PAUSE_TIME 6.6e-3 // auto repetition after 6.6ms\r
+#define FAN_FRAME_REPEAT_PAUSE_TIME 6.6e-3 // frame repeat after 6.6ms\r
+#define FAN_ADDRESS_OFFSET 0 // skip 0 bits\r
+#define FAN_ADDRESS_LEN 0 // read 0 address bits\r
+#define FAN_COMMAND_OFFSET 0 // skip 0 bits\r
+#define FAN_COMMAND_LEN 11 // read 10 bits\r
+#define FAN_COMPLETE_DATA_LEN 11 // complete length\r
+#define FAN_STOP_BIT 0 // has NO stop bit\r
+#define FAN_LSB 0 // MSB\r
+#define FAN_FLAGS 0 // flags\r
+\r
+/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ * SPEAKER:\r
+ *---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ */\r
+#define SPEAKER_START_BIT_PULSE_TIME 440.0e-6 // 440 usec pulse\r
+#define SPEAKER_START_BIT_PAUSE_TIME 1250.0e-6 // 1250 usec pause\r
+#define SPEAKER_1_PULSE_TIME 1250.0e-6 // 1250 usec pulse\r
+#define SPEAKER_1_PAUSE_TIME 440.0e-6 // 440 usec pause\r
+#define SPEAKER_0_PULSE_TIME 440.0e-6 // 440 usec pulse\r
+#define SPEAKER_0_PAUSE_TIME 1250.0e-6 // 1250 usec pause\r
+#define SPEAKER_FRAMES 2 // SPEAKER sends 2 frames\r
+#define SPEAKER_AUTO_REPETITION_PAUSE_TIME 35.0e-3 // auto repetition after 35ms\r
+#define SPEAKER_FRAME_REPEAT_PAUSE_TIME 35.0e-3 // frame repeat after 45ms\r
+#define SPEAKER_ADDRESS_OFFSET 0 // skip 0 bits\r
+#define SPEAKER_ADDRESS_LEN 0 // read 0 address bits\r
+#define SPEAKER_COMMAND_OFFSET 0 // skip 0 bits\r
+#define SPEAKER_COMMAND_LEN 10 // read 10 bits\r
+#define SPEAKER_COMPLETE_DATA_LEN 10 // complete length\r
+#define SPEAKER_STOP_BIT 1 // has stop bit\r
+#define SPEAKER_LSB 0 // MSB?\r
+#define SPEAKER_FLAGS 0 // flags\r
+\r