feat: add src/main.c

This commit is contained in:
2026-09-25 11:56:45 +08:00
parent c3fa2fd182
commit 79984ec678

27
src/main.c Normal file
View File

@@ -0,0 +1,27 @@
#include "monitor.h"
#include <stdio.h>
static void emit(monitor_t *monitor, uint8_t *frame) {
unsigned crc = 0;
for (int i = 0; i < 7; ++i) {
crc ^= frame[i];
for (int bit = 0; bit < 8; ++bit)
crc = (crc & 0x80u) ? ((crc << 1) ^ 7u) & 255u : (crc << 1) & 255u;
}
frame[7] = (uint8_t)crc;
printf("seq=%u status=%s\n", (unsigned)((frame[1] << 8) | frame[2]),
frame_result_name(monitor_accept(monitor, frame, 8)));
}
int main(void) {
monitor_t monitor;
monitor_init(&monitor);
uint8_t frame[8] = {1, 0, 1, 0, 25, 46, 224, 0};
emit(&monitor, frame);
frame[2] = 3;
emit(&monitor, frame);
emit(&monitor, frame);
printf("accepted=%u rejected=%u lost=%u duplicate=%u\n",
monitor.accepted, monitor.rejected, monitor.lost, monitor.duplicate);
return 0;
}