FAQ TWedge
Comment lire des données en boucle sans utiliser StartListen ?
Comment lire des données en boucle sans utiliser StartListen ?
Dans le cas où vous souhaitez accéder à un port COM spécifique depuis deux scripts, mais que vous ne pouvez l'ouvrir que depuis un seul script à la fois. Par conséquent, vous ne pouvez pas utiliser StartListen() car cela occupera le port en permanence tant que le script (collecte de données) est actif.
Nous vous montrons ci-dessous comment ouvrir le port, lire des données, puis fermer le port afin que l'autre script puisse y accéder.
hConn2.Open(funcOnConnectionLost2);
var arr2Data = null;
retries2 = 60; // wait maximum 1 minute for data (60 * 1000 ms)
while (retries2-- > 0)
{
try
{
Print ("Waiting for data from " + hConn2.Port);
var currData = hConn2.ReadData(100, 1000); // try to read max 100 Bytes in 1 sec
if (arr2Data == null)
arr2Data = currData; // first data packet
else
arr2Data.concat(currData); // subsequent data packet -> append
}
catch (err)
{
// stop when we have data already (no data packet after successful read)
if (arr2Data != null)
break;
}
}
processData2 (arr2Data);
if (hConn2.IsOpen)
closeConnection2();