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
67
68
69
70
71
72
|
#include <stdio.h>
#include "libaltos.h"
static void
altos_puts(struct altos_file *file, char *string)
{
char c;
while ((c = *string++))
altos_putchar(file, c);
}
int
main (int argc, char **argv)
{
struct altos_device device;
struct altos_list *list;
struct altos_bt_device bt_device;
struct altos_bt_list *bt_list;
altos_init();
list = altos_list_start();
while (altos_list_next(list, &device)) {
struct altos_file *file;
int c;
printf ("%04x:%04x %-20s %4d %s\n", device.vendor, device.product,
device.name, device.serial, device.path);
file = altos_open(&device);
if (!file) {
printf("altos_open failed\n");
continue;
}
altos_puts(file,"v\nc s\n");
altos_flush(file);
while ((c = altos_getchar(file, 100)) >= 0) {
putchar (c);
}
if (c != LIBALTOS_TIMEOUT)
printf ("getchar returns %d\n", c);
altos_close(file);
}
altos_list_finish(list);
#if HAS_BLUETOOTH
bt_list = altos_bt_list_start(8);
while (altos_bt_list_next(bt_list, &bt_device)) {
printf ("%s %s\n", bt_device.name, bt_device.addr);
if (strncmp(bt_device.name, "TeleBT", 6) == 0) {
struct altos_file *file;
int c;
file = altos_bt_open(&bt_device);
if (!file) {
printf("altos_bt_open failed\n");
continue;
}
altos_puts(file,"v\nc s\n");
altos_flush(file);
while ((c = altos_getchar(file, 100)) >= 0) {
putchar(c);
}
if (c != LIBALTOS_TIMEOUT)
printf("getchar returns %d\n", c);
altos_close(file);
}
}
altos_bt_list_finish(bt_list);
#endif
altos_fini();
return 0;
}
|