Modifications

Sauter à la navigation Sauter à la recherche
1 137 octets ajoutés ,  6 décembre 2013 à 12:32
Ligne 1 : Ligne 1 :  
{{Arduino Yun-NAV}}
 
{{Arduino Yun-NAV}}
   −
<h4>begin()</h4>
+
<h4>transfer()</h4>
    
== Description ==
 
== Description ==
Classe [[Arduino Yun-Librairie#Bridge_-_classes_et_m.C3.A9thodes|Bridge]], librairie/bibliothèque  d'[[Arduino Yun-Librairie|Arduino Yùn]].
+
''transfer()'' est utilisé par d'autres fonctions pour organiser la communication entre le microcontroleur ATMega32u4 et le processeur Linux.
   −
Starts Bridge, facilitating communication between the AVR and Linux processor. This should be called once in ''setup()''
+
Cette méthode transfert une frame (un bloc de donnée structuré décrivant une commande et ses données). Cette méthode implémente un protocole mettant en oeuvre correction d'erreur et response depuis le processeur Linux.
   −
''begin()'' is a blocking function. Once you call Bridge.begin(), nothing else will happen in your sketch until it has completed. This process takes approximately three seconds.  
+
Les deux côtés du Bridge utilise un protocole série pour transférer des messages entre les processeurs. Un appel a ''Bridge.transfer()'' envoi un message vers la machine Linux et attent une réponse. ''transfer()'' vérifie également l'intégrité du paquet (contenant la réponse) et rejette les paquets contenant des erreurs.
 +
 
 +
La fonction implémente un mécanisme de retransmission si le processus Linux ne renvoi pas un ''acknowledgment'' (confirmation) dans les 100 ms ou si le paquet de réponse est corrompu. La retransmission est répétée jusqu'a ce qu'une réponse soit renvoyée par la machine Linux.
 +
 
 +
La fonction ''transfer()'' retourne le nombre de byte/octet du buffer (mémoire tampon) retourné par la machine Linux et contenant la réponse de la machine Linux.
    
== Syntaxe ==
 
== Syntaxe ==
   −
Bridge.begin()  
+
transfer(buff1, len1, buff2, len2, buff3, len3, rxbuff, rxlen);
 +
 
 +
Fonctions dérivées:
    +
<nowiki>derived functions:
 +
transfer(buff1, len1);
 +
transfer(buff1, len1, rxBuff, rxLen);
 +
transfer(buff1, len1, buff2, len2, rxBuff, rxLen); </nowiki>
 
== Paramètres ==
 
== Paramètres ==
   −
aucun
+
* '''buff_N''': Les le buffer N (mémoire tampon N), un tableau ''array'' qui contient le message que vous désirez envoyer. La fonction transfer supporte jusqu'à 3 buffer à concaténer.
 +
* '''len_N''': Est le nombre d'éléments contenu dans le le buffer_N.
 +
* '''rxbuff''': Est le buffer (mémoire tempon) destiné à recevoir la réponse depuis la machine Linux. Ce buffer est passé en paramètre et la réponse de la machine Linux y sera transféré.
 +
* '''rxLen''': est la longueyr du rxBuffer mis à disposition.
    
== Résultat ==
 
== Résultat ==
   −
aucun
+
La longueur de la réponse de la machine Linux contenu dans le buffer. Si la longueur du buffer ''rxlen'' est inférieur à la longueur de la réponse Linux alors la fonction retourne la valeur de ''rxlen'' pour indiquer que le buffer est rempli.  
 
  −
== Exemple ==
  −
 
  −
aucun
  −
 
  −
== Voir aussi ==
  −
* [[RB-ARD-YUN-Class-Bridge|constructeur Bridge]]
  −
* [[RB-ARD-YUN-Process-Func-begin|Process.begin()]]
  −
* [[RB-ARD-YUN-Console-Func-begin|Console.begin()]]
  −
* [[RB-ARD-YUN-Bridge-Func-readMessage|Bridge.readMessage()]] [http://arduino.cc/en/Reference/YunReadMessage src]
  −
* [[RB-ARD-YUN-Bridge-Func-writeMessage|Bridge.writeMessage()]] [http://arduino.cc/en/Reference/YunWriteMessage src]
  −
* [[RB-ARD-YUN-Bridge-Func-messageAvailable|Bridge.messageAvailable()]] [http://arduino.cc/en/Reference/YunMessageAvailable src]
  −
 
      
{{Arduino Yun-TRAILER}}
 
{{Arduino Yun-TRAILER}}
29 872

modifications

Menu de navigation