diff options
author | ukw | 2012-07-11 13:14:36 +0000 |
---|---|---|
committer | ukw | 2012-07-11 13:14:36 +0000 |
commit | 3a7e26e1f87a0e738f763d2df005d5da1690696d (patch) | |
tree | d48381acd034c546fb3e9af6010bbb17b6c85701 | |
parent | 21a4e0eeeb70b7312cc252d8b471dd24663151e5 (diff) | |
download | irmp-3a7e26e1f87a0e738f763d2df005d5da1690696d.zip |
Version 2.2.4: added BOSE protocol
git-svn-id: svn://mikrocontroller.net/irmp@103 aeb2e35e-bfc4-4214-b83c-9e8de998ed28
-rw-r--r-- | IR-Data/bose_wave_system_15khz.txt | 18 | ||||
-rw-r--r-- | IR-Data/test-suite.sh | 21 | ||||
-rw-r--r-- | IR-Data/tp400vt-15kHz.txt | 67 | ||||
-rw-r--r-- | README.txt | 2 | ||||
-rw-r--r-- | irmp.c | 69 | ||||
-rw-r--r-- | irmpconfig.h | 3 | ||||
-rw-r--r-- | irmpprotocols.h | 20 |
7 files changed, 184 insertions, 16 deletions
diff --git a/IR-Data/bose_wave_system_15khz.txt b/IR-Data/bose_wave_system_15khz.txt new file mode 100644 index 0000000..d807a55 --- /dev/null +++ b/IR-Data/bose_wave_system_15khz.txt @@ -0,0 +1,18 @@ +#1
+0000000000000000111111111111111111111000000001111111111111111111111000000001111111111111111111110000000001111111111111111111110000000011111110000000011111110000000011111110000000011111100000000011111100000000111111100000000111111100000000111111100000000111111111111111111111000000001111111111111111111111000000001111111111111111111110000000001111111111111111111110000000011111111111111111111110000000011111111111111111
+#2
+0000000000000000111111111111111111111100000000111111100000000111111000000000111111000000001111111111111111111111000000001111111000000001111110000000001111110000000001111110000000011111111111111111111110000000011111111111111111111100000000011111111111111111111100000000111111100000000111111111111111111111000000000111111111111111111111000000001111111111111111111111000000001111111111111111111110000000011111111111111111
+#3
+0000000000000000111111111111111111111000000000111111111111111111111000000001111111000000001111111000000001111111111111111111110000000001111110000000011111110000000011111110000000011111110000000011111100000000011111111111111111111100000000111111111111111111111100000000111111000000000111111111111111111111000000001111111111111111111111000000001111111111111111111110000000011111111111111111111110000000011111111111111111
+#4
+0000000000000000111111111111111111111000000000111111000000001111111111111111111111000000001111111000000001111111111111111111110000000001111110000000011111110000000011111110000000011111110000000011111111111111111111100000000111111100000000111111111111111111111100000000111111000000000111111111111111111111000000001111111111111111111111000000001111111111111111111110000000011111111111111111111110000000011111111111111111
+#5
+0000000000000000111111111111111111111100000000111111111111111111111000000000111111111111111111111000000001111111000000001111111111111111111111000000001111110000000001111110000000011111110000000011111110000000011111110000000011111100000000011111111111111111111100000000111111100000000111111111111111111111000000000111111111111111111111000000001111111111111111111111000000001111111111111111111110000000001111111111111111
+#6
+0000000000000000111111111111111111111100000000111111100000000111111000000000111111111111111111111000000001111111111111111111111000000001111111000000001111110000000001111110000000011111110000000011111111111111111111110000000011111111111111111111100000000111111100000000111111100000000111111111111111111111000000000111111111111111111111000000001111111111111111111111000000001111111111111111111110000000011111111111111111
+#Play/Pause
+0000000000000000111111111111111111111000000000111111111111111111111000000001111111111111111111111000000001111110000000001111111111111111111110000000011111111111111111111110000000011111100000000011111100000000111111100000000111111100000000111111100000000111111111111111111111000000001111111000000001111111000000001111111111111111111110000000001111111111111111111110000000011111111111111111111110000000011111111111111111
+#Stop/Eject
+000000000000000111111111111111111111100000000111111000000000111111111111111111111000000001111111000000001111111111111111111110000000001111111111111111111110000000011111110000000011111110000000011111110000000011111111111111111111100000000111111100000000111111111111111111111100000000111111000000000111111000000001111111111111111111111000000001111111111111111111110000000001111111111111111111110000000011111111111111111
+#Power On/Off
+0000000000000000111111111111111111111000000000111111000000000111111000000001111111111111111111111000000001111111111111111111110000000001111110000000011111110000000011111111111111111111110000000011111100000000011111111111111111111100000000111111111111111111111100000000111111000000000111111000000001111111111111111111111000000001111111111111111111110000000001111110000000001111111111111111111110000000011111111111111111
diff --git a/IR-Data/test-suite.sh b/IR-Data/test-suite.sh index 8ce239a..3d167df 100644 --- a/IR-Data/test-suite.sh +++ b/IR-Data/test-suite.sh @@ -68,9 +68,9 @@ do echo "testing $j ..." if tmpsrc/irmp -v < $j | grep -q error then - tmpsrc/irmp -v < $j | grep error - echo "test failed" - exit 1 + tmpsrc/irmp -v < $j | grep error + echo "test failed" + exit 1 fi done @@ -78,8 +78,9 @@ done for j in \ bo_beolink1000-15kHz.txt \ + bose_wave_system_15khz.txt \ denon-15kHz.txt \ - denon-rc-176-15kHz.txt \ + denon-rc-176-15kHz.txt \ irc-15kHz.txt \ kathrein-15kHz.txt \ recs80-15kHz.txt \ @@ -92,9 +93,9 @@ do echo "testing $j ..." if tmpsrc/irmp-15kHz -v < $j | grep -q error then - tmpsrc/irmp-15kHz -v < $j | grep error - echo "test failed" - exit 1 + tmpsrc/irmp-15kHz -v < $j | grep error + echo "test failed" + exit 1 fi done @@ -106,9 +107,9 @@ do echo "testing $j ..." if tmpsrc/irmp-20kHz -v < $j | grep -q error then - tmpsrc/irmp-20kHz -v < $j | grep error - echo "test failed" - exit 1 + tmpsrc/irmp-20kHz -v < $j | grep error + echo "test failed" + exit 1 fi done diff --git a/IR-Data/tp400vt-15kHz.txt b/IR-Data/tp400vt-15kHz.txt new file mode 100644 index 0000000..2307a30 --- /dev/null +++ b/IR-Data/tp400vt-15kHz.txt @@ -0,0 +1,67 @@ +#Grundig TP 400 VT
+#Traeger: 29.5kHz
+#F_INTERRUPTS 15000
+#Taste 1
+0000000011111111111111111111111111111111111111111000000001111111100000000111111111111111100000000011111111000000001111111100000000000000000111111111111111100000000111111111111111
+#Taste 2
+0000000011111111111111111111111111111111111111110000000001111111111111111000000000000000011111111111111111000000001111111100000000000000000111111111111111100000000111111111111111
+#Taste 3
+0000000001111111111111111111111111111111111111111000000000111111110000000011111111000000001111111111111111100000000111111110000000000000000111111111111111110000000011111111111111
+#Taste 4
+0000000001111111111111111111111111111111111111111000000000111111111111111100000000111111110000000000000000011111111111111110000000000000000011111111111111110000000011111111111111
+#Taste 5
+0000000001111111111111111111111111111111111111111000000001111111110000000011111111111111110000000000000000011111111111111110000000000000000111111111111111100000000011111111111111
+#Taste 6
+0000000001111111111111111111111111111111111111111000000000111111111111111100000000000000001111111100000000011111111111111110000000000000000111111111111111110000000011111111111111
+#Taste 7
+0000000001111111111111111111111111111111111111111000000000111111110000000011111111000000001111111100000000011111111111111110000000000000000111111111111111110000000011111111111111
+#Taste 8
+0000000011111111111111111111111111111111111111111000000001111111111111111000000001111111100000000011111111000000000000000011111111000000000111111111111111100000000111111111111111
+#Taste 9
+0000000001111111111111111111111111111111111111111000000000111111100000000011111111111111110000000011111111000000000000000001111111100000000111111111111111100000000011111111111111
+#Taste 10
+0000000001111111111111111111111111111111111111111000000000111111111111111100000000000000000111111111111111000000000000000001111111100000000011111111111111100000000011111111111111
+#Taste 0/AV
+0000000011111111111111111111111111111111111111111000000001111111111111111000000000111111110000000011111111000000001111111100000000000000000111111111111111100000000111111111111111
+#Taste 20
+0000000001111111111111111111111111111111111111111000000000111111110000000001111111000000000111111111111111100000000000000000111111100000000011111111111111110000000011111111111111
+#Taste MIX
+0000000001111111111111111111111111111111111111111000000000111111111111111100000000000000000111111100000000011111111000000000111111100000000011111111111111110000000011111111111111
+#Taste AKT
+0000000001111111111111111111111111111111111111111000000000111111110000000011111111111111110000000000000000011111111000000001111111100000000011111111111111110000000011111111111111
+#Taste NORM
+0000000001111111111111111111111111111111111111111000000000111111110000000001111111000000000111111100000000011111111000000000111111100000000011111111111111110000000011111111111111
+#Taste KLEIN
+00000000111111111111111111111111111111111111111110000000011111111111111110000000000000000011111111111111110000000001111111000000000111111110000000000000000111111111111111
+#Taste GROSS
+00000000111111111111111111111111111111111111111110000000001111111000000000111111110000000011111111111111110000000001111111100000000111111110000000000000000111111111111111
+#Taste ANTW
+0000000011111111111111111111111111111111111111111000000001111111100000000111111110000000001111111111111111000000001111111100000000111111111000000001111111100000000111111111111111
+#Taste HALT
+0000000011111111111111111111111111111111111111111000000001111111111111111000000000111111100000000000000000111111110000000011111111000000000111111111111111100000000111111111111111
+#Taste INHALT
+00000000011111111111111111111111111111111111111110000000001111111100000000111111110000000011111111000000001111111111111111100000000111111110000000000000000111111111111111
+#Taste VT/TV
+0000000011111111111111111111111111111111111111111000000001111111100000000011111111111111110000000000000000111111111111111110000000011111111000000001111111100000000011111111111111
+#TASTE CHROM -
+0000000011111111111111111111111111111111111111111000000001111111100000000111111111111111100000000000000000111111110000000011111111111111110000000001111111100000000111111111111111
+#Taste CHROM +
+0000000001111111111111111111111111111111111111111000000000111111111111111100000000111111110000000000000000011111111000000001111111111111111000000001111111100000000011111111111111
+#Taste HELL -
+0000000001111111111111111111111111111111111111111000000000111111110000000011111111000000000111111111111111100000000000000001111111111111111000000000111111110000000011111111111111
+#Taste HELL +
+0000000001111111111111111111111111111111111111111000000000111111111111111000000000000000001111111111111111000000000000000001111111111111111000000001111111100000000011111111111111
+#Taste VOL -
+0000000011111111111111111111111111111111111111111000000001111111100000000011111111111111110000000011111111000000000000000001111111111111111000000001111111100000000111111111111111
+#Taste VOL +
+0000000001111111111111111111111111111111111111111000000000111111111111111100000000011111110000000001111111000000000000000001111111111111111000000000111111100000000011111111111111
+#Taste SW
+0000000011111111111111111111111111111111111111111000000001111111100000000111111110000000001111111111111111000000001111111100000000111111110000000001111111100000000111111111111111
+#Taste Center
+0000000001111111111111111111111111111111111111111000000000111111111111111100000000111111110000000001111111100000000111111110000000011111111000000001111111110000000011111111111111
+#Taste Mute
+0000000011111111111111111111111111111111111111111000000001111111100000000111111111111111100000000011111111000000001111111100000000111111110000000001111111100000000111111111111111
+#Taste UHR
+0000000011111111111111111111111111111111111111111000000001111111111111111000000001111111100000000000000000111111111111111100000000111111110000000001111111100000000111111111111111
+#Taste Power
+00000000011111111111111111111111111111111111111110000000001111111111111111000000000000000011111111000000000111111110000000011111111000000001111111100000000011111111111111
@@ -1,7 +1,7 @@ IRMP - Infrared Multi Protocol Decoder
--------------------------------------
-Version IRMP: 2.2.3 18.06.2012
+Version IRMP: 2.2.4 11.07.2012
Version IRSND: 2.2.3 18.06.2012
Dokumentation:
@@ -3,7 +3,7 @@ *
* Copyright (c) 2009-2012 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmp.c,v 1.125 2012/06/18 09:00:45 fm Exp $
+ * $Id: irmp.c,v 1.127 2012/07/11 13:13:50 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -165,8 +165,14 @@ #define RECS80_0_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * RECS80_0_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)
#define RECS80_0_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * RECS80_0_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)
+
+#if IRMP_SUPPORT_BOSE_PROTOCOL == 1 // BOSE conflicts with RC5, so keep tolerance for RC5 minimal here:
+#define RC5_START_BIT_LEN_MIN ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MIN_TOLERANCE_05 + 0.5) - 1)
+#define RC5_START_BIT_LEN_MAX ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MAX_TOLERANCE_05 + 0.5) + 1)
+#else
#define RC5_START_BIT_LEN_MIN ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MIN_TOLERANCE_10 + 0.5) - 1)
#define RC5_START_BIT_LEN_MAX ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MAX_TOLERANCE_10 + 0.5) + 1)
+#endif
#define RC5_BIT_LEN_MIN ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MIN_TOLERANCE_10 + 0.5) - 1)
#define RC5_BIT_LEN_MAX ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MAX_TOLERANCE_10 + 0.5) + 1)
@@ -354,6 +360,18 @@ #define LEGO_0_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * LEGO_0_PAUSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1)
#define LEGO_0_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * LEGO_0_PAUSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1)
+#define BOSE_START_BIT_PULSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * BOSE_START_BIT_PULSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1)
+#define BOSE_START_BIT_PULSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * BOSE_START_BIT_PULSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1)
+#define BOSE_START_BIT_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * BOSE_START_BIT_PAUSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1)
+#define BOSE_START_BIT_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * BOSE_START_BIT_PAUSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1)
+#define BOSE_PULSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * BOSE_PULSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1)
+#define BOSE_PULSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * BOSE_PULSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1)
+#define BOSE_1_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * BOSE_1_PAUSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1)
+#define BOSE_1_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * BOSE_1_PAUSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1)
+#define BOSE_0_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * BOSE_0_PAUSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1)
+#define BOSE_0_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * BOSE_0_PAUSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1)
+#define BOSE_FRAME_REPEAT_PAUSE_LEN_MAX (uint16_t)(F_INTERRUPTS * 100.0e-3 * MAX_TOLERANCE_20 + 0.5)
+
#define AUTO_FRAME_REPETITION_LEN (uint16_t)(F_INTERRUPTS * AUTO_FRAME_REPETITION_TIME + 0.5) // use uint16_t!
#ifdef ANALYZE
@@ -413,7 +431,8 @@ irmp_protocol_names[IRMP_N_PROTOCOLS + 1] = "NEC16",
"NEC42",
"LEGO",
- "THOMSON"
+ "THOMSON",
+ "BOSE"
};
#endif
@@ -1194,6 +1213,31 @@ static const PROGMEM IRMP_PARAMETER thomson_param = #endif
+#if IRMP_SUPPORT_BOSE_PROTOCOL == 1
+
+static const PROGMEM IRMP_PARAMETER bose_param =
+{
+ IRMP_BOSE_PROTOCOL, // protocol: ir protocol
+ BOSE_PULSE_LEN_MIN, // pulse_1_len_min: minimum length of pulse with bit value 1
+ BOSE_PULSE_LEN_MAX, // pulse_1_len_max: maximum length of pulse with bit value 1
+ BOSE_1_PAUSE_LEN_MIN, // pause_1_len_min: minimum length of pause with bit value 1
+ BOSE_1_PAUSE_LEN_MAX, // pause_1_len_max: maximum length of pause with bit value 1
+ BOSE_PULSE_LEN_MIN, // pulse_0_len_min: minimum length of pulse with bit value 0
+ BOSE_PULSE_LEN_MAX, // pulse_0_len_max: maximum length of pulse with bit value 0
+ BOSE_0_PAUSE_LEN_MIN, // pause_0_len_min: minimum length of pause with bit value 0
+ BOSE_0_PAUSE_LEN_MAX, // pause_0_len_max: maximum length of pause with bit value 0
+ BOSE_ADDRESS_OFFSET, // address_offset: address offset
+ BOSE_ADDRESS_OFFSET + BOSE_ADDRESS_LEN, // address_end: end of address
+ BOSE_COMMAND_OFFSET, // command_offset: command offset
+ BOSE_COMMAND_OFFSET + BOSE_COMMAND_LEN, // command_end: end of command
+ BOSE_COMPLETE_DATA_LEN, // complete_len: complete length of frame
+ BOSE_STOP_BIT, // stop_bit: flag: frame has stop bit
+ BOSE_LSB, // lsb_first: flag: LSB first
+ BOSE_FLAGS // flags: some flags
+};
+
+#endif
+
static uint8_t irmp_bit; // current bit position
static IRMP_PARAMETER irmp_param;
@@ -1301,6 +1345,15 @@ irmp_get_data (IRMP_DATA * irmp_data_p) }
break;
#endif
+#if IRMP_SUPPORT_BOSE_PROTOCOL == 1
+ case IRMP_BOSE_PROTOCOL:
+ if ((irmp_command >> 8) == (~irmp_command & 0x00FF))
+ {
+ irmp_command &= 0xff;
+ rtc = TRUE;
+ }
+ break;
+#endif
#if IRMP_SUPPORT_SIEMENS_OR_RUWIDO_PROTOCOL == 1
case IRMP_SIEMENS_PROTOCOL:
case IRMP_RUWIDO_PROTOCOL:
@@ -1957,6 +2010,18 @@ irmp_ISR (void) else
#endif // IRMP_SUPPORT_THOMSON_PROTOCOL == 1
+#if IRMP_SUPPORT_BOSE_PROTOCOL == 1
+ if (irmp_pulse_time >= BOSE_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= BOSE_START_BIT_PULSE_LEN_MAX &&
+ irmp_pause_time >= BOSE_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= BOSE_START_BIT_PAUSE_LEN_MAX)
+ {
+ ANALYZE_PRINTF ("protocol = BOSE, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n",
+ BOSE_START_BIT_PULSE_LEN_MIN, BOSE_START_BIT_PULSE_LEN_MAX,
+ BOSE_START_BIT_PAUSE_LEN_MIN, BOSE_START_BIT_PAUSE_LEN_MAX);
+ irmp_param_p = (IRMP_PARAMETER *) &bose_param;
+ }
+ else
+#endif // IRMP_SUPPORT_BOSE_PROTOCOL == 1
+
#if IRMP_SUPPORT_RC6_PROTOCOL == 1
if (irmp_pulse_time >= RC6_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= RC6_START_BIT_PULSE_LEN_MAX &&
irmp_pause_time >= RC6_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= RC6_START_BIT_PAUSE_LEN_MAX)
diff --git a/irmpconfig.h b/irmpconfig.h index db0f5e4..de6e3ff 100644 --- a/irmpconfig.h +++ b/irmpconfig.h @@ -5,7 +5,7 @@ *
* Copyright (c) 2009-2012 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmpconfig.h,v 1.90 2012/05/23 12:26:26 fm Exp $
+ * $Id: irmpconfig.h,v 1.92 2012/07/11 13:14:08 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -69,6 +69,7 @@ #define IRMP_SUPPORT_NOKIA_PROTOCOL 0 // Nokia >= 10000 ~300 bytes
// exotic protocols, enable here! Enable Remarks F_INTERRUPTS Program Space
+#define IRMP_SUPPORT_BOSE_PROTOCOL 0 // BOSE >= 10000 ~150 bytes
#define IRMP_SUPPORT_KATHREIN_PROTOCOL 0 // Kathrein >= 10000 ~200 bytes
#define IRMP_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 ~50 bytes
#define IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL 0 // Bang & Olufsen >= 10000 ~200 bytes
diff --git a/irmpprotocols.h b/irmpprotocols.h index 6544591..89b6226 100644 --- a/irmpprotocols.h +++ b/irmpprotocols.h @@ -5,7 +5,7 @@ *
* Copyright (c) 2012 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmpprotocols.h,v 1.4 2012/05/23 12:26:26 fm Exp $
+ * $Id: irmpprotocols.h,v 1.5 2012/07/11 12:44:30 fm Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -55,8 +55,9 @@ #define IRMP_NEC42_PROTOCOL 28 // NEC with 42 bits
#define IRMP_LEGO_PROTOCOL 29 // LEGO Power Functions RC
#define IRMP_THOMSON_PROTOCOL 30 // Thomson
+#define IRMP_BOSE_PROTOCOL 31 // BOSE
-#define IRMP_N_PROTOCOLS 30 // number of supported protocols
+#define IRMP_N_PROTOCOLS 31 // number of supported protocols
/*---------------------------------------------------------------------------------------------------------------------------------------------------
* timing constants:
@@ -482,6 +483,21 @@ typedef uint8_t PAUSE_LEN; #define THOMSON_LSB 0 // MSB...LSB
#define THOMSON_FLAGS 0 // flags
+#define BOSE_START_BIT_PULSE_TIME 1060.0e-6 // 1060 usec pulse
+#define BOSE_START_BIT_PAUSE_TIME 1430.0e-6 // 1430 usec pause
+#define BOSE_PULSE_TIME 550.0e-6 // 550 usec pulse
+#define BOSE_1_PAUSE_TIME 1425.0e-6 // 1425 usec pause
+#define BOSE_0_PAUSE_TIME 437.0e-6 // 437 usec pause
+#define BOSE_FRAME_REPEAT_PAUSE_TIME 40.0e-3 // frame repeat after 40ms???
+#define BOSE_ADDRESS_OFFSET 0 // skip 0 bits
+#define BOSE_ADDRESS_LEN 0 // read 16 address bits
+#define BOSE_COMMAND_OFFSET 0 // skip 16 bits (8 address + 8 /address)
+#define BOSE_COMMAND_LEN 16 // read 16 bits (8 command + 8 /command)
+#define BOSE_COMPLETE_DATA_LEN 16 // complete length
+#define BOSE_STOP_BIT 1 // has stop bit
+#define BOSE_LSB 1 // LSB...MSB
+#define BOSE_FLAGS 0 // flags
+
#define AUTO_FRAME_REPETITION_TIME 80.0e-3 // SIRCS/SAMSUNG32/NUBERT: automatic repetition after 25-50ms
#endif // _IRMP_PROTOCOLS_H_
|