示例#1
0
static char *uirt2_raw_rec(struct ir_remote *remotes)
{
	LOGPRINTF(1, "uirt2_raw_rec");
	LOGPRINTF(1, "uirt2_raw_rec: %p", remotes);

	if (!clear_rec_buffer())
		return (NULL);

	if (remotes) {
		char *res;
		res = decode_all(remotes);

		return res;
	} else {
		lirc_t data;

		queue_clear();
		data = uirt2_read_raw(dev, 1);
		if (data) {
			queue_put(data);
		}

		return NULL;
	}
}
示例#2
0
static lirc_t uirt2_raw_readdata(lirc_t timeout)
{
	lirc_t data = 0;

	if (queue_is_empty()) {
		lirc_t data = uirt2_read_raw(dev, timeout);

		if (!data) {
			LOGPRINTF(1, "uirt2_raw_readdata failed");
			return 0;
		}

		queue_put(data);
	}

	queue_get(&data);

	LOGPRINTF(1, "uirt2_raw_readdata %d %d", !!(data & PULSE_BIT), data & PULSE_MASK);

	return (data);
}
示例#3
0
static char* uirt2_raw_rec(struct ir_remote* remotes)
{
	log_trace("uirt2_raw_rec");
	log_trace("uirt2_raw_rec: %p", remotes);

	if (!rec_buffer_clear())
		return NULL;

	if (remotes) {
		char* res;

		res = decode_all(remotes);
		return res;
	}
	lirc_t data;

	queue_clear();
	data = uirt2_read_raw(dev, 1);
	if (data)
		queue_put(data);
	return NULL;
}