first commit

This commit is contained in:
cyy_mac
2026-06-16 08:44:45 +08:00
commit c9d2b90a0b
37 changed files with 2396 additions and 0 deletions

58
test/test_ir.c Normal file
View File

@@ -0,0 +1,58 @@
#include "../common/device.h"
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <string.h>
#include <errno.h>
int main(void)
{
device_init();
int fd = open("/dev/ttySAC1", O_RDWR | O_NOCTTY | O_NONBLOCK);
struct termios opt;
tcgetattr(fd, &opt);
cfsetispeed(&opt, B9600);
cfsetospeed(&opt, B9600);
opt.c_cflag |= (CLOCAL | CREAD);
opt.c_cflag &= ~PARENB; opt.c_cflag &= ~CSTOPB; opt.c_cflag &= ~CSIZE;
opt.c_cflag |= CS8;
opt.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
opt.c_iflag &= ~(IXON | IXOFF | IXANY);
opt.c_oflag &= ~OPOST;
opt.c_cc[VMIN] = 0; opt.c_cc[VTIME] = 0;
tcsetattr(fd, TCSANOW, &opt);
printf("=== IR Raw Test ===\n");
printf("Press IR remote. Ctrl+C to exit.\n");
unsigned char buf[3];
int idx = 0;
while (1)
{
int n = read(fd, buf + idx, 3 - idx);
if (n > 0)
{
printf("read %d bytes: ", n);
int i;
for (i = 0; i < n; i++)
printf("%02X ", buf[idx + i]);
printf("\n");
idx += n;
if (idx == 3)
{
printf(" → GOT 3: %02X %02X %02X\n", buf[0], buf[1], buf[2]);
beep_on(); usleep(100000); beep_off();
idx = 0;
}
}
}
close(fd);
device_deinit();
return 0;
}