Browse Source

/dev/ttyACM0 mon amour

tth 2 years ago
parent
commit
c7053d9c30
3 changed files with 26 additions and 9 deletions
  1. 15
    0
      rrdb/README.md
  2. 4
    0
      serial/README.md
  3. 7
    9
      serial/t.c

+ 15
- 0
rrdb/README.md View File

@@ -1,5 +1,20 @@
1 1
 # Round Robin Database
2 2
 
3 3
 Un grand classique du genre. Délicat à comprendre au début.
4
+Les principes sous-jacents sont assez pointus, et leur mise en oeuvre
5
+loin d'être évidente pour les newbies. 
6
+
7
+La lecture de la manpage `rrdtutorial` est indispensable.
8
+
9
+## premier exemple
10
+
11
+
12
+## et après ?
13
+
14
+
15
+
16
+
17
+
18
+
4 19
 
5 20
 

+ 4
- 0
serial/README.md View File

@@ -26,6 +26,10 @@ Oui, voilà. À ce jour (20 déc. 2018), on va dire que ça ne marche pas.
26 26
 Il faut dire que les `serial devices` ont toujours étés un peu le
27 27
 domaine de la magie noire. Mais quand même, coincer sur un `read` qui
28 28
 ne bloque pas, c'est un peu ironique.
29
+
30
+Après un peu plus d'investigation, j'en arrive à conclure qu'il y a
31
+plein de subtilités entre les diverses variantes d'Arduino.
32
+
29 33
  
30 34
 
31 35
 

+ 7
- 9
serial/t.c View File

@@ -21,7 +21,7 @@ uart = open(dev, O_RDONLY | O_NOCTTY);
21 21
 if (uart < 0)
22 22
 	{
23 23
 	perror("unable to open uart");
24
-	return -1;
24
+	exit(1);
25 25
 	}
26 26
 return uart;
27 27
 }
@@ -33,24 +33,22 @@ int		serial_in, foo;
33 33
 unsigned char	byte;
34 34
 
35 35
 if (2 != argc) {
36
-	fprintf(stderr, "device name ?\n");
36
+	fprintf(stderr, "give me a device name, please.\n");
37 37
 	return 2;
38 38
 	}
39 39
 
40 40
 serial_in = openserial(argv[1]);
41
-fprintf(stderr, "prepare uart -> %d\n", serial_in);
42
-
43
-if (serial_in < 0) {
44
-	exit(1);
45
-	}
41
+fprintf(stderr, "openserial -> %d\n", serial_in);
46 42
 
47 43
 for (;;) {
48 44
 	foo = read(serial_in, &byte, 1);
49 45
 	if (1 != foo) {
50
-		fprintf(stderr, "get byte : err is %d\n", errno);
46
+		fprintf(stderr, "get byte : got %d, err is %d\n", foo, errno);
51 47
 		}
52 48
 	else	{
53
-		printf("%9ld  %02x/%d\n", time(NULL), byte, byte);
49
+		printf("%9ld    $%02x  ", time(NULL), byte);
50
+		if (isprint(byte)) putchar(byte);
51
+		puts("");
54 52
 		}
55 53
 	}
56 54
 

Loading…
Cancel
Save