-
Notifications
You must be signed in to change notification settings - Fork 0
/
basic_test_recv.c
66 lines (64 loc) · 1.82 KB
/
basic_test_recv.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include "si446x.h"
#define print_var(var) \
printf(#var": 0x%x", info.##var)
int main()
{
eprintf("Initializing...");
si446x_init();
eprintf("Initialized");
sleep(1);
si446x_info_t info;
memset(&info, 0x0, sizeof(si446x_info_t));
si446x_getInfo(&info);
eprintf("Got info");
printf("chipRev"": 0x%x", info.chipRev);
printf("\n");
printf("partBuild"": 0x%x", info.partBuild);
printf("\n");
printf("id"": 0x%x", info.id);
printf("\n");
printf("customer"": 0x%x", info.customer);
printf("\n");
printf("romId"": 0x%x", info.romId);
printf("\n");
printf("revExternal"": 0x%x", info.revExternal);
printf("\n");
printf("revBranch"": 0x%x", info.revBranch);
printf("\n");
printf("revInternal"": 0x%x", info.revInternal);
printf("\n");
printf("patch"": 0x%x", info.patch);
printf("\n");
printf("func"": 0x%x", info.func);
printf("\n");
eprintf("Press enter for PIPE mode: ");
int c = 0;
while (((c = getchar()) != EOF) && (c != '\n'));
si446x_en_pipe();
eprintf("Pipe mode activated");
eprintf("Press enter to send PIPE mode again or Ctrl + D to exit");
c = 0;
while (((c = getchar()) != EOF) && (c != '\n'));
if (c == EOF)
return 0;
else
si446x_en_pipe();
while (1)
{
char buf[128];
memset(buf, 0, sizeof(buf));
eprintf("Press enter to receive or Ctrl + D to exit\n");
// c = 0;
// while (((c = getchar()) != EOF) && (c != '\n'));
// if (c == EOF)
// break;
printf("Read %d bytes: ", si446x_read(buf, sizeof(buf), NULL));
for (int i = 0; i < sizeof(buf); i++)
if (buf[i] != 0) printf("%c", buf[i]);
printf("\n");
}
return 0;
}