Communication SDK¶
Lors de l’utilisation d’une méthode dans le SDK FTC® qui accède au matériel, qu’il s’agisse de régler la puissance du moteur, de lire un encodeur, un capteur, etc, une LynxCommand est envoyée.
Note
Les commandes Lynx ne sont pas envoyées directement du contrôleur du robot à un Expansion Hub via USB ; dans un expansion hub, elles sont envoyées via USB à un FTDI, qui convertit le signal USB en signal UART. Dans le control hub, cette étape USB est sautée, à la place la carte du control hub envoie les données directement par UART au expansion hub interne.
Avertissement
Le fait que LynxCommands soit bloquant (et plus précisément qu’un verrou principal soit présent sur chaque périphérique USB) signifie que le multithreading des appels matériels n’est pas utile, au mieux, et qu’il nuit généralement aux performances.
Si un téléphone Android et un Expansion Hub sont utilisés, les LynxCommands sont envoyées par USB ; cependant, si un Control Hub est utilisé, les LynxCommands sont envoyées par UART. Ceci est très important, non seulement en raison de la fiabilité accrue avec UART au lieu d’USB, mais aussi parce que les commandes Lynx prennent environ 3 millisecondes sur USB et environ 2 millisecondes sur UART.
Any expansion hubs connected via RS485 receive their commands via that connector. To get from the USB or UART to RS485 the parent Lynx hub has to retransmit the packets, but packets traveling over RS485 and passing through Lynx hubs do not. The added latency from this process isn’t significant, but there will be some added latency. Up to 255 expansion hubs can be connected together over RS485 in theory.
Note
L’interaction avec les dispositifs I2C prend beaucoup plus de temps, jusqu’à 7 millisecondes par rapport à l’USB. Cependant, ce n’est pas parce que chaque commande Lynx prend plus de temps, mais parce que plusieurs commandes Lynx doivent être envoyées pour interagir avec I2C.
Veuillez noter que depuis la version 5.5 du SDK, les appels I2C sur le Control Hub sont beaucoup plus rapides que ceux sur le Expansion Hub. Ceci est dû au fait que le taux d’interrogation a été considérablement augmenté, ce qui permet de réduire les pertes de temps inutiles.