big hup to romse the cooker

This commit is contained in:
Tonton Th 2018-12-29 17:45:31 +01:00
parent 6aa2a26bec
commit 011a1ecd6a
4 changed files with 24 additions and 4 deletions

View File

@ -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.

View File

@ -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}

View File

@ -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;

View File

@ -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);