RB-ARD-YUN-Bridge-Func-transfer

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

transfer()

Description

transfer() est utilisé par d'autres fonctions pour organiser la communication entre le microcontroleur ATMega32u4 et le processeur Linux.

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.

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

transfer(buff1, len1, buff2, len2, buff3, len3, rxbuff, rxlen); 

Fonctions dérivées:

derived functions:
transfer(buff1, len1);
transfer(buff1, len1, rxBuff, rxLen);
transfer(buff1, len1, buff2, len2, rxBuff, rxLen); 

Paramètres

  • 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

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.


Source: Arduino Yun, Guide to the Arduino Yún. Crédit: Arduino.cc, licence Creative Common Attribution ShareAlike.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.