25 #include "media/lirc.h"
27 #include "lirc/release.h"
28 #include "lirc/receive.h"
29 #include "lirc/lirc_log.h"
33 static struct timeval release_time;
35 static struct ir_ncode* release_ncode;
37 static int release_reps;
38 static lirc_t release_gap;
41 static struct ir_ncode* release_ncode2;
44 static void register_input(
void)
48 if (release_remote == NULL)
52 gap.tv_usec = release_gap;
54 gettimeofday(&release_time, NULL);
55 timeradd(&release_time, &gap, &release_time);
63 if (reps == 0 && release_remote != NULL) {
64 release_remote2 = release_remote;
65 release_ncode2 = release_ncode;
66 release_code2 = release_code;
69 release_remote = remote;
70 release_ncode = ncode;
74 release_gap = upper_limit(remote,
77 + receive_timeout(upper_limit(remote,
80 log_trace(
"release_gap: %lu", release_gap);
85 const char** button_name,
88 if (release_remote != NULL) {
89 *remote_name = release_remote->
name;
90 *button_name = release_ncode->
name;
93 *remote_name = *button_name =
"(NULL)";
uint64_t ir_code
Denotes an internal coded representation for an IR transmission.
#define log_trace(fmt,...)
Log a trace message.
logchannel_t
Log channels used to filter messages.
void get_release_data(const char **remote_name, const char **button_name, int *reps)
Get data from saved from last call to register_button_press().
void register_button_press(struct ir_remote *remote, struct ir_ncode *ncode, ir_code code, int reps)
Set up pending events for given button, including the release_gap.
void get_release_time(struct timeval *tv)
Get time for last call to register_button_press() if defined, else a noop.
IR Command, corresponding to one (command defining) line of the configuration file.
char * name
Name of command.
One remote as represented in the configuration file.
lirc_t min_gap_length
how long is the shortest gap
const char * name
name of remote control
lirc_t max_total_signal_length
how long is the longest signal including gap