19 #ifndef IR_REMOTE_TYPES_H 20 #define IR_REMOTE_TYPES_H 33 #if defined(__linux__) 34 #include <linux/types.h> 37 #ifdef HAVE_KERNEL_LIRC_H 38 #include <linux/lirc.h> 40 #include "media/lirc.h" 99 #define IR_PROTOCOL_MASK 0x07ff 104 #define RAW_CODES 0x0001 106 #define SHIFT_ENC RC5 113 #define SPACE_ENC 0x0010 114 #define SPACE_FIRST 0x0020 115 #define GOLDSTAR 0x0040 116 #define GRUNDIG 0x0080 118 #define SERIAL 0x0200 122 #define REVERSE 0x0800 123 #define NO_HEAD_REP 0x1000 124 #define NO_FOOT_REP 0x2000 125 #define CONST_LENGTH 0x4000 126 #define REPEAT_HEADER 0x8000 128 #define COMPAT_REVERSE 0x00010000 133 #define REPEAT_MAX_DEFAULT 600 135 #define DEFAULT_FREQ 38000 137 #define IR_PARITY_NONE 0 138 #define IR_PARITY_EVEN 1 139 #define IR_PARITY_ODD 2 225 ir_code toggle_bit_mask_state;
226 int toggle_mask_state;
227 int repeat_countdown;
231 struct timeval last_send;
239 lirc_t min_pulse_length, max_pulse_length;
240 lirc_t min_space_length, max_space_length;
lirc_t min_remaining_gap
remember gap for CONST_LENGTH remotes
One remote as represented in the configuration file.
int bits
bits (length of code)
lirc_t min_total_signal_length
how long is the shortest signal including gap
An ir_code for entering into (singly) linked lists, i.e.
unsigned int freq
modulation frequency
lirc_t max_gap_length
how long is the longest gap
lirc_t max_total_signal_length
how long is the longest signal including gap
ir_code post_data
data which the remote sends after actual keycode
lirc_t post_s
signal between keycode and post_code
lirc_t plead
leading pulse
ir_code repeat_mask
mask defines which bits are inverted for repeats
struct ir_ncode * toggle_code
toggle code received or sent last
struct ir_code_node * next
Linked list of the subsequent ir_code's, after the first one.
unsigned int baud
can be overridden by [p|s]zero, [p|s]one
const char * name
name of remote control
lirc_t * signals
(private)
int eps
eps (relative tolerance)
struct ir_ncode * last_code
code received or sent last
unsigned int parity
currently unsupported
ir_code pre
pre data, before code.
lirc_t ptrail
trailing pulse
int pre_data_bits
length of pre_data
lirc_t min_gap_length
how long is the shortest gap
int manual_sort
If set in any remote, disables automatic sorting.
char * name
Name of command.
struct ir_code_node * current
Should point at the ir_code currently being transmitted, or NULL if none.
unsigned int duty_cycle
0<duty cycle<=100 default: 50
int post_data_bits
length of post_data
lirc_t sthree
3 (only used for RC-MM)
ir_code toggle_mask
Sharp (?) error detection scheme.
ir_code pre_data
data which the remote sends before actual keycode
ir_code post
post data, sent after code.
uint32_t gap
time between signals in usecs
char * dyncodes_name
name for unknown buttons
uint32_t repeat_gap
time between two repeat codes if different from gap
lirc_t max_remaining_gap
Estimated max time of trailing gap.
ir_code code
Code part, matched to code defintion.
uint32_t gap2
time between signals in usecs
unsigned int stop_bits
mapping: 1->2 1.5->3 2->4
lirc_t pre_s
signal between pre_data and keycode
int dyncode
last received code
IR Command, corresponding to one (command defining) line of the configuration file.
lirc_t stwo
2 (only used for RC-MM)
unsigned int aeps
detecting very short pulses is difficult with relative tolerance for some remotes, this is an absolute tolerance to solve this problem usually you can say 0 here.
lirc_t srepeat
indicate repeating
State describing code, pre, post + gap and repeat state.
int release_detected
set by release generator
lirc_t min_remaining_gap
Estimated min time of trailing gap.
struct ir_code_node * transmit_state
(private)
lirc_t max_remaining_gap
gap range
int suppress_repeat
suppress unwanted repeats
ir_code code
The first code of the command.
const char * driver
Name of driver for LIRCCODE cases.
struct ir_ncode * next_ncode
Next code in recorded buttons list.
unsigned int min_code_repeat
meaningful only if remote sends a repeat code: in this case this value indicates how often the real c...
ir_code rc6_mask
RC-6 doubles signal length of some bits.
int repeat_flag
True if code is a repeated one.
ir_code toggle_bit_mask
previously only one bit called toggle_bit
int min_repeat
code is repeated at least x times code sent once -> min_repeat=0
ir_code ignore_mask
mask defines which bits can be ignored when matching a code
uint64_t ir_code
Denotes an internal coded representation for an IR transmission.
unsigned int bits_in_byte
default: 8