X-Git-Url: http://cloudbase.mooo.com/gitweb/irmp.git/blobdiff_plain/8aaafe9d1b78f92e33e2791a8aa5e0aa877975b9..ad4d3d4157a9781b6ff3f83ac72b42f8bc3db0b5:/irmpprotocols.h diff --git a/irmpprotocols.h b/irmpprotocols.h index 381fe0d..134aa4a 100644 --- a/irmpprotocols.h +++ b/irmpprotocols.h @@ -3,9 +3,9 @@ * * DO NOT INCLUDE THIS FILE, WILL BE INCLUDED BY IRMP.H or IRSND.H! * - * Copyright (c) 2013-2014 Frank Meyer - frank(at)fli4l.de + * Copyright (c) 2013-2015 Frank Meyer - frank(at)fli4l.de * - * $Id: irmpprotocols.h,v 1.28 2014/09/15 12:36:28 fm Exp $ + * $Id: irmpprotocols.h,v 1.31 2015/02/26 15:42:53 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 @@ -66,10 +66,11 @@ #define IRMP_SPEAKER_PROTOCOL 39 // Another loudspeaker protocol, similar to Nubert #define IRMP_LGAIR_PROTOCOL 40 // LG air conditioner #define IRMP_SAMSUNG48_PROTOCOL 41 // air conditioner with SAMSUNG protocol (48 bits) +#define IRMP_MERLIN_PROTOCOL 42 // Merlin (Pollin 620 185) -#define IRMP_RADIO1_PROTOCOL 42 // Radio protocol (experimental status), do not use it yet! +#define IRMP_RADIO1_PROTOCOL 43 // Radio protocol (experimental status), do not use it yet! -#define IRMP_N_PROTOCOLS 42 // number of supported protocols +#define IRMP_N_PROTOCOLS 43 // number of supported protocols /*--------------------------------------------------------------------------------------------------------------------------------------------------- * timing constants: @@ -262,7 +263,7 @@ typedef uint8_t PAUSE_LEN; *--------------------------------------------------------------------------------------------------------------------------------------------------- */ #define RC5_BIT_TIME 889.0e-6 // 889 usec pulse/pause -#define RC5_FRAME_REPEAT_PAUSE_TIME 45.0e-3 // frame repeat after 45ms +#define RC5_FRAME_REPEAT_PAUSE_TIME 88.9e-3 // frame repeat after 88.9ms #define RC5_ADDRESS_OFFSET 1 // skip 1 bit (2nd start) #define RC5_ADDRESS_LEN 6 // read 1 toggle bit (for key repetition detection) + 5 address bits @@ -680,6 +681,26 @@ typedef uint8_t PAUSE_LEN; #define A1TVBOX_COMPLETE_DATA_LEN 17 // complete length incl. start bit #define A1TVBOX_FRAME_REPEAT_PAUSE_TIME 50.0e-3 // 50 msec pause between frames, don't know if it is correct +/*--------------------------------------------------------------------------------------------------------------------------------------------------- + * MERLIN: + * See notes for A1TVBOX + *--------------------------------------------------------------------------------------------------------------------------------------------------- + */ +#define MERLIN_START_BIT_PULSE_TIME 210.0e-6 // 300 usec pulse +#define MERLIN_START_BIT_PAUSE_TIME 420.0e-6 // 340 usec pause +#define MERLIN_BIT_PULSE_TIME 210.0e-6 // 250 usec pulse +#define MERLIN_BIT_PAUSE_TIME 210.0e-6 // 150 usec pulse +#define MERLIN_STOP_BIT 0 // has no stop bit +#define MERLIN_LSB 0 // MSB...LSB +#define MERLIN_FLAGS (IRMP_PARAM_FLAG_IS_MANCHESTER | IRMP_PARAM_FLAG_1ST_PULSE_IS_1 ) // flags +#define MERLIN_FRAMES 1 // MERLIN sends each frame 1 times +#define MERLIN_ADDRESS_OFFSET 1 // skip 1 bits +#define MERLIN_ADDRESS_LEN 8 // read 8 address bits +#define MERLIN_COMMAND_OFFSET 8 // skip 9 bits (start bit + address) +#define MERLIN_COMMAND_LEN 10 // read 8 command bits +#define MERLIN_COMPLETE_DATA_LEN 19 // complete length incl. start bit +#define MERLIN_FRAME_REPEAT_PAUSE_TIME 50.0e-3 // 50 msec pause between frames, don't know if it is correct + /*--------------------------------------------------------------------------------------------------------------------------------------------------- * ORTEK (Hama): 6 address bits + 2 frame type bits + 6 command bits + 1 parity bit + 1 unknown bit + "1" + "0" *---------------------------------------------------------------------------------------------------------------------------------------------------