RS232/IP ‘Codes de commande’
Avec un appareil RS232, il faudra choisir d’introduire les codes en HEX ou bien les codes ASCII. Si vous optez pour le code ASCII, vous pouvez déterminer aussi si celui-ci doit se terminer avec un Carriage return et/ou un Line feed.
Pour RS232 vous devez sélectionner également la vitesse: 9600, 19200, 38400 of 57600 bauds.
Pour IP, vous devez entrer le numéro de port IP.
- Dans le champ nom, vous pouvez ajoutez (optionnel) un nom. Vous verrez ce nom lorsque que vous configurez cet appareil dans PROSOFT.
- Nous vous conseillons d’utiliser le nom ou l’entrée de l’appareil pour les fonctions ‘SELECTIONNER SRC X’ (s’il est imprimé sur l’appareil AUX2 pour l’entrée AUX2, mettez ici “AUX2”).
- Ensuite, vous mettez les codes HEX ou les codes ASCII, comme décrit dans le protocole de l’appareil.
- Il est possible de copier des codes similaires, il faut adapter uniquement les valeurs là où elles sont différentes.
- à côté de la fonction vous trouverez un “symbole chaîne”, si vous cliquez dessus, vous pouvez ajouter un deuxième code à la fonction sélectionnée. Vous pouvez en attribuer 10 à une seule fonction. (ex. Ajouter un temps d’attente entre 2 codes).
Pour RS232: en bas de l’écran, vous pouvez tester le code en cliquant sur “Tester code à partir du port du PC”. Le test sera effectué entre votre PC et l’appareil sans intervention du matériel TELETASK.
Pour IP: au bas de cet écran, vous pouvez tester les codes en sélectionnant un code et en cliquant sur 'Send'. Vous verrez également les données reçues de l'appareil IP .
Après le test, cliquez sur ok .
Vos codes seront automatiquement sauvegardés dans le fichier de votre bibliothèque personnalisée 'custom3.3.irdb' dans le répertoire C:\ProgramData\TELETASK\PROSOFT. Chaque fois que vous effectuez des modifications ou que vous créez de nouveaux appareils AV dans votre projet, ce fichier sera mis à jour. Les appareils AV qui sont dans votre projet seront également enregistrés dans le fichier .nbt.
Codes retour RS232 et IP
Général
Pour un appareil RS232 ou IP, vous pouvez définir des codes retour. Cette étape est facultative mais conseillée si l'appareil AV est également contrôlé directement (par exemple en utilisant la télécommande de l'appareil ou une application sur un Smartphone ou une tablette) ou si vous voulez afficher automatiquement les informations AV (comme le volume et le numéro de la piste) sur un affichage TELETASK (comme l’AURUS-OLED, l’AURUS-TFT, etc.)
Les données qui peuvent être reçus à partir d'un appareil AV sont:
- L'état d'une zone (ON ou OFF)
- La source actuellement active sur une zone (source 1-8)
- Le volume d'une zone (0-100%)
- Deux lignes d'informations sur la piste ou les informations RDS provenant d'une source.
Pour définir les « codes retour », cochez l'option « Feedback codes », et cliquez sur le bouton « Edit ».
Vous verrez alors la page des codes retour :
Dans cette fenêtre, il ya deux onglets: un pour les « codes retour », et l'autre pour les « codes d’interrogation » (dont il sera question dans le prochain chapitre).
A droite, il y a trois boutons pour créer un nouveau « code retour », pour modifier un code existant ou pour en supprimer un.
En bas, il faut saisir un caractère « début de code » et un caractère « fin de code ». Vous pouvez entrer un caractère ASCII ou un code hexadécimal dans ce champ, par exemple, si vous avez un protocole ASCII dans lequel les codes commencent par une * et se termine par un retour chariot, vous pouvez entrer * dans le champ début de code et 0x0D dans le champ fin de fin ('0x0D 'est la représentation hexadécimale de retour chariot).
Pour créer un nouveau code retour, cliquez sur le bouton "Nouveau". Vous verrez alors la fenêtre « Définir le code retour » :
En haut de la fenêtre, vous avez les champs suivants:
- Nom du Code
- Dans ce champ, vous pouvez entrer un nom descriptif pour le code retour
- Exemple de Code
- Dans ce champ, vous devez saisir un code ASCII qui peut être reçu de l'appareil. Ce code est automatiquement répété sous la forme de caractères individuels dans le champ en dessous.
Lorsque l'exemple de code est entré, nous pouvons définir comment les différentes variables peuvent être obtenus à partir de ce code. Regardons de plus près le code dans cet exemple :
- z1,ON,FM,24
Ce code contient 4 variables: le numéro de zone (1), l'état de la zone (ON), la source active (FM) et le volume (24). Selon la marque et le type de votre appareil AV, les codes retour peuvent contenir plusieurs variables dans un code (comme dans cet exemple) ou contenir que deux variables par code, mais avoir plus de codes différents. Exemple : les codes d'une autre marque pourraient être ceux-ci:
- @ZONE1:PWR=ON
- @ZONE1:SRC=FM
- @ZONE1:VOL=24
Protocoles des codes reçus
Pour obtenir une variable à partir d'un code, différents protocoles sont disponibles : possibilité unique, position relative, déterminée par séparateur, affichage de caractères depuis une position ou affichage de caractères précis.
Selon le type de variable (zone, source, état, ..) et le type de code (HEX ou ASCII) l'interface RS232 supporte les protocoles indiqués dans le tableau ci-dessous.
Interface RS232 TDS14042:
Zone | Source | Power | Volume | Line 1 or 2 | |
1) Position related | Hex, Ascii | Hex, Ascii | Hex, Ascii | Hex | |
2) Determined by Delimiter info | Ascii | Ascii | |||
3) Display characters from position | Hex, Ascii | ||||
4) Single possibility | Hex, Ascii | Hex, Ascii | |||
5) Exact | Hex, Ascii |
AV-IP License TDS15240:
Zone | Source | Power | Volume | Line 1 or 2 | |
1) Position related | Hex | Hex | Hex | Hex | |
2) Determined by Delimiter info | Ascii | Ascii | Ascii | Ascii | Ascii |
3) Display characters from position | Hex, Ascii | ||||
4) Single possibility | Hex, Ascii | Hex, Ascii | Hex, Ascii | Ascii | |
5) Exact | Hex, Ascii |
Nous allons maintenant voir en détail les différents protocoles
1) Position relative:
Ce protocole indique qu'une variable spécifique peut être trouvée à une position prédéfinie dans le code.
Exemple: Si vous avez un appareil qui utilise le code suivant:
- z1,ON,FM,24
Vous pouvez obtenir le numéro de zone à partir de ce code grâce au protocole « Position relative » puisque que le numéro de la zone se trouve à la position 3.
2) Déterminé par un séparateur:
Ce protocole est un peu plus complexe que les autres, mais beaucoup plus puissant si les différentes parties du code ont des longueurs différentes. Ce protocole peut être utilisé uniquement si les différentes variables dans le code sont délimitées (séparées) par le même caractère.
Exemple: Si vous avez un appareil qui utilise le code suivant:
- z1,ON,FM,24
Le séparateur est ','. Le volume peut maintenant être obtenu comme la variable qui suit le troisième séparateur. Vous devez également définir le caractère d’arrêt pour cette information délimitée. Dans la plupart des cas, le caractère d’arrêt sera le même que le séparateur ou sera le caractère de « fin de code », mais il peut aussi être tout autre caractère.
En plus du séparateur, du nombre de séparateurs et du caractère d’arrêt qui sont nécessaires, ce protocole a deux paramètres supplémentaires optionnels:
- Nombre de positions sautées après le séparateur : si la variable ne démarre pas immédiatement après le séparateur.
- Longueur maximale: le nombre maximal de caractères qui peuvent faire partie de la variable.
Exemple, si nous analysons le code ci-dessus:
- z1,ON,FM,VOL24BASS3TREBLE2
Le volume serait la variable qui commence à 3 positions après la troisième séparateur et se termine par un caractère 'B'.
3) Affichage des caractères d’une position:
Ce protocole est uniquement disponible pour le morceau ou les informations RDS provenant d'une source. Il est très similaire au protocole « Position relative », mais dans ce cas, vous définissez une position de départ plutôt qu'une position absolue. Tous les caractères qui suivent le caractère de début et qui précédent le caractère de fin de code seront affichés comme des informations de piste.
Exemple: Si vous avez un appareil qui utilise le code suivant:
- RDS1,FM,info
La « Ligne 1 » des informations FM peut être obtenue dans ce code en prenant en compte tous les caractères à partir de la position 10.
Remarque: ce protocole ne peut être utilisé que si la première partie du code a une longueur fixe. S'il y avait par exemple un second tuner référencé FM2 dans le dispositif, ce protocole ne peut être utilisé (dans ce cas vous pouvez utiliser protocole « Déterminé par séparateur »)
4) Possibilité unique:
C'est un protocole très simple, il indique qu'une variable spécifique a une valeur spécifique.
Exemple: Si vous avez un appareil qui utilise les codes:
- z1, ON, FM, 24
- z1, OFF, FM, 24
Vous pouvez alors définir deux codes retour et obtenir l’état de l’appareil depuis ce code grâce au protocole « Possibilité unique ».
5) Affichage de caractères précis:
Ce protocole ne retire aucune donnée du code, mais il affiche un texte prédéfini sur « Ligne 1 » ou « Ligne 2 ».
Exemple: Si votre AV-appareil envoie le code:
- RDS1,FM,RDS ERROR
Pour indiquer qu'il n'y a pas d'informations RDS pour la station de radio, vous pouvez afficher une ligne vide ou «Pas d'info» ou «FM» ou ....
Définir un code reçu
Supposons que nous ayons un dispositif qui utilise le code de réception de l’exemple ci-dessous:
- z1,ON,FM,24
Ce code contient des informations sur l’état, la source et le niveau du volume d'une zone particulière de cet amplificateur. Ainsi dans la fenêtre « Définir le code retour », nous donnons à ce code, le nom de « Etat, Source et Volume ».
Nous avons besoin d'obtenir toutes les variables de ce code. Lorsque vous créez un nouveau code pour chaque variable le « protocole » sera « Non défini ». Cela signifie qu'il n'y a aucune information sur la manière d'obtenir cette variable à partir du code.
Dans notre exemple de code il n'y a pas d'informations sur LIGNE1 ou LIGNE2 aussi le protocole de ces variables restera « Non défini »
Zone:
La variable de zone peut être obtenue à partir du code en tant que position relative à la position 3.
Pour ce faire :
- Sélectionnez la page de l'onglet «Zone»
- Sélectionnez « Position relative » dans la liste déroulante « Protocole sélectionné »
- Entrez '3 ' dans le champ « Position de la zone dans le code ».
- PROSOFT va tenter d'obtenir le caractère correct dans le code et va le marquer sur la grille. Cela vous permet de vérifier facilement les informations saisies dans les différents domaines.
Au bas de la page se trouve une table de conversion dans laquelle vous pouvez définir la variable qui correspond à chaque zone audio «TELETASK». Ces zones audio doivent d'abord être configurées dans PROSOFT.
Dans ce cas, nous avons un appareil avec 4 zones qui sont référencées dans le code comme 1 à 4. D'autres dispositifs peuvent utiliser A, B, C et D ou Principal pour la première zone et 2, 3 et 4 pour les autres.
Source:
Le TDS14042 prend uniquement en charge l'obtention de la source en tant que position relative, mais dans ce cas nous avons un problème, les changements de position lorsque la puissance passe de ON à OFF. Nous allons résoudre ce problème obtenant uniquement les informations de la source lorsque l'amplificateur est sous tension. Donc, nous définissons la source en tant que position relative à la position 8
Pour ce faire:
- Sélectionnez la page de l'onglet «Source»
- Sélectionnez « Position relative » dans la liste déroulante « Protocole sélectionné »
- Entrez '8 ' dans le champ « Position de la zone dans le code ».
Au bas de la page se trouve une table de conversion pour les sources. Jusqu'à 8 sources peuvent être définies. Dans cet exemple, nous avons un appareil qui a pour sources FM, MP3, CD, DVD et AUX.
Etat:
Avec cet exemple de code, nous ne pouvons pas utiliser le protocole de la position relative pour l’état de la source car cela générerait un problème pour l’information Source. Donc, pour ce code, nous allons définir l’état avec la possibilité unique 'ON'
Nous allons également créer un deuxième code de réception "Power OFF" à partir duquel:
- Nous obtenons le numéro de zone en tant que position relative sur la position 3,
- Nous définissons la variable « Etat » en tant que « Possibilité unique » OFF
- Nous n'obtenons pas d'autres valeurs.
Volume:
La variable « Volume » peut être obtenue à partir du code en utilisant le protocole « Déterminé par séparateur ».
Pour cela:
- Sélectionnez la page de l'onglet «Volume»
- Sélectionnez « Déterminée par séparateur » dans la liste déroulante « Protocole sélectionné »
- Entrez ', ' dans le champ « Séparateur ».
- Entrez '3' dans le champ « Numéro du séparateur ».
Au bas de la page, vous pouvez aussi définir les valeurs minimum et maximum du volume. Dans ce cas, nous avons un appareil qui utilise 0 comme volume minimum et 50 comme volume maximum.
« Identifiants » et « Variables ou caractères non pris en compte »
Toutes nos variables sont maintenant définies pour ce code, mais le TDS14042 a besoin d'un mécanisme pour reconnaître ce code. Cela se fait par des « Identifiants » et des « Variables ou caractères non pris en compte ».
Un identifiant est un caractère qui est toujours disponible dans le code à une position définie. Dans notre code (* z1, ON, FM, 24) les identifiants sont:
- , z, la première virgule, O, N, et la seconde virgule
Une « variable » ou un « caractère non pris en compte » est un caractère qui est l'une des « variables » ou un caractère qui peut être différent selon les codes, mais qui n'a pas de sens par lui-même. Dans ce code, les variables sont les suivantes:
- 1, F 2 et 4 (les variables zone, source et volume)
Les caractères non pris en compte:
- M et la troisième virgule.
Le M est un caractère non pris en compte car il peut être différent pour les autres sources.
La troisième virgule est un caractère non pris en compte car sa position dans le code peut variée par exemple si la valeur de la source est AUX, la position de la virgule troisième est de 11 (au lieu de 10).
Donc, si le TDS14042 reçoit un code qui commence par * z et où les caractères 4 à 7 sont : «,ON,», le TDS14042 reconnaît ce code comme le code nommé « Etat, Source et Volume ».
Lors de la saisie d'un code de l'échantillon, tous les caractères sont automatiquement marqués comme « Identifiant » (fond gris)
La dernière chose que nous devons faire est de marquer les variables ou les caractères non pris en compte. Pour ce faire, sélectionnez un caractère (ou un ensemble de plusieurs caractères) dans la grille et cliquez sur le carré « Variable ou caractère non utilisé ». Vous verrez que les caractères seront désormais sur un fond blanc.
Sinon, vous pouvez faire un « clic droit » sur un caractère et le marquer comme Variable ou caractère non utilisés » dans le menu contextuel.
Notre code devrait ressembler à ceci: