big hup to romse the cooker
This commit is contained in:
parent
6aa2a26bec
commit
011a1ecd6a
@ -14,7 +14,9 @@ soir au DD2, à Mixart-Myrys.
|
||||
|
||||
# WTF status
|
||||
|
||||
Le `read` bloquant ne bloque pas. Ça craint grave.
|
||||
Le `read` bloquant ne bloque pas. Ça craint grave. La recherche
|
||||
du workaround avance.
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -91,6 +91,10 @@ phytotron pose un problème : d'où viennent les premières mesures ?
|
||||
C'est pour ça qu'il y a déja un générateur de \textit{fake-values} qui
|
||||
ne demande qu'à grandir.
|
||||
|
||||
Nous avons également un générateur de nombres divers et incohérents
|
||||
qui envoie des quadruplets d'entiers 10 bits précédés d'un caractere
|
||||
de bonne efficacité.
|
||||
|
||||
|
||||
\subsection{Exemples}
|
||||
|
||||
@ -119,7 +123,7 @@ Au programme : écriture d'un injecteur en Perl\index{Perl}.
|
||||
Il va y avoir deux liaisons série entre l'automate et le monitoring.
|
||||
La première, que nous allons juste entrevoir, passera par le port
|
||||
USB de la carte Arduino. La seconde passera par un port série
|
||||
auxiliaire\footnote{Il y en a 4 sur le 2560} de celle-ci.
|
||||
auxiliaire\footnote{Il y en a 4 sur le mega 2560} de celle-ci.
|
||||
|
||||
\begin{lstlisting}
|
||||
tcgetattr(uart0, &options);
|
||||
@ -135,6 +139,12 @@ Et en fait, le \texttt{read} sur le \textsl{fd} du serial device
|
||||
n'est pas bloquant, \texttt{perror} annonce \emph{success}, mais
|
||||
rien ne marche. L'année 2019 va commencer sur du vaudou programming.
|
||||
|
||||
\textit{29 décembre 2018} : le petit grain de magie\index{magie}
|
||||
est très simple à mettre en oeuvre, mais
|
||||
très difficle à spotter dans le gazillion d'options. Il semblerait
|
||||
que mettre \texttt{options.c\_cc[VMIN]} à 1 permet d'avancer vers
|
||||
l'étape suivante.
|
||||
|
||||
% -------------------------------------------------------------------
|
||||
|
||||
\section{Détournements}
|
||||
|
@ -13,7 +13,15 @@ int vrd[4];
|
||||
|
||||
value=0;
|
||||
|
||||
foo = sscanf(data+1, "%d %d %d %d", vrd, vrd+1, vrd+2, vrd+3);
|
||||
if ( 'X' != *line ) {
|
||||
if (verbosity) {
|
||||
fprintf(stderr, "%s line[0] 0x%x bad\n",
|
||||
__func__, *line);
|
||||
}
|
||||
return -777;
|
||||
}
|
||||
|
||||
foo = sscanf(line+1, "%d %d %d %d", vrd, vrd+1, vrd+2, vrd+3);
|
||||
fprintf(stderr, "sscanf -> %d\n", foo);
|
||||
if (4 != foo) {
|
||||
return -666;
|
||||
|
@ -37,7 +37,7 @@ for (count=0; count<10000; count++) {
|
||||
foo = getline_to(serial_in, ligne, 100, 0);
|
||||
fprintf(stderr, "getline #%d -> %d\n", count, foo);
|
||||
fprintf(stderr, "%s\n", ligne);
|
||||
foo = parseXvalue(ligne);
|
||||
foo = parseXvalue(ligne, 'X');
|
||||
fprintf(stderr, "parse -> %d\n", foo);
|
||||
if (foo>= 0) {
|
||||
printf("%d %d\n", count, foo);
|
||||
|
Loading…
Reference in New Issue
Block a user