Les Commandes - Yoctopuce Yocto-RS485-V2 Mode D'emploi

Table des Matières

Publicité

perturbent les unes les autres. Le Yocto-RS485-V2 attend toujours qu'une tâche périodique se
termine avant de lancer la suivante, mais par contre les tâches réactives peuvent être déclenchées à
tout moment, même parallèlement à une tâche périodique.

6.3. Les commandes

Les commandes qui peuvent être utilisées dans une tâche (périodique ou réactive) des modules
Yoctopuce gérant une transmission série sont les suivantes:
EXPECT
La commande expect attend que des données correspondant à un certain pattern apparaissent sur
la ligne série. Si le module est configuré en mode binaire, la correspondance se fera sur une
représentation hexadécimale des données binaires.
La commande expect prend en argument une chaîne de caractères. Certaines expressions
régulières sont supportées:
• . (point) correspond à n'importe quel caractère
• [] définit une union, par exemple [123a-z] correspond à n'importe quel caractère parmis 1...
3,a...z
• [^] définit une exclusion, par exemple [^,] correspond à n'importe quel caractère sauf la
virgule
• * permet de répéter la dernière correspondance zéro, une ou plusieurs fois: .* correspond à
tous les caractères jusqu'à la fin de la ligne
• + permet de répéter la dernière correspondance une ou plusieurs fois. Par exemple, [0-9]+
correspond à un chiffre ou plus
Des expressions spéciales permettent d'effectuer des décodages et d'affecter la valeur lue à l'un des
genericSensor du module:
• ($x:INT) permet de reconnaître une valeur entière (en base 10) qui sera affectée à la fonction
genericSensorX. Par exemple, {$3:INT} permet de reconnaître un nombre entier et l'affecter à
la fonction genericSensor3
• ($x:FLOAT) permet de reconnaître une valeur décimale (nombre à virgule), qui sera affectée
à la fonction genericSensorX. La notation scientifique (par ex. 1.25e-1) est reconnue.
• ($x:DDM) permet de reconnaître une valeur décimale en degrés-minutes-décimales telle
qu'utilisée dans le standard NMEA.
• ($x:BYTE) permet de reconnaître une valeur entière entre 0 et 255 codée en hexadécimal
(comme c'est le cas pour les protocoles en mode binaire). Si la valeur est dans la plage
-128...127, on utilisera ($x:SBYTE) à la place (signed byte). La valeur décodée sera affectée
à la fonction genericSensorX
• ($x:WORD) ou ($x:SWORD) permet de la même manière de décoder une valeur en
hexadécimal sur 16 bits, respectivement non signée ou signée, qui sera affectée à la fonction
genericSensorX. On suppose alors que les octets sont dans l'ordre d'écriture usuel, soit l'octet
de poids fort en premier (big-endian), comme par exemple 0104 pour représenter la valeur
260.
• ($x:WORDL) ou ($x:SWORDL) ont le même effet que les deux précédentes, mais supposent
que les octets sont d'en l'ordre little-endian, c'est-à-dire l'octet de poids faible en premier (par
exemple 0401 pour représenter la valeur 260).
• ($x:DWORD) ou ($x:SDWORD) permettent de la même manière de décoder un nombre sur
32 bit en big-endian (non-signé ou signé).
• ($x:DWORDL) ou ($x:SDWORDL) permettent de la même manière de décoder un nombre
sur 32 bit en little-endian (non-signé ou signé).
• ($x:DWORDX) ou ($x:SDWORDX) permettent de la même manière de décoder un nombre
sur 32 bit en mixed-endian, soit deux mots de 16 bits chacun représenté en big-endian, mais
le mot de poids faible en premier et celui de poids fort ensuite.
• ($x:HEX) permet de reconnaître une valeur en hexadécimal de longueur indéfinie (1 à 4
octets), qui sera affectée à la fonction genericSensorX.
www.yoctopuce.com
6. Mesures automatiques
29

Publicité

Table des Matières
loading

Ce manuel est également adapté pour:

Yocto-rs232

Table des Matières