Message truncation/concatenation in TCP/IP between MATLAB and Swistrack
Afficher commentaires plus anciens
Hi
I'm new working with TCP/IP but my project requires interfacing Swistrack, a visual tracking software, with Matlab. Swistrack outputs data as NMEA 0183 protocol with checksums.
The messages Swistrack sends look like these "$PARTICLE,4,122.863,296.96,1.28146,204.197,400.507*37" or "$FRAMENUMBER,331*43". I wrote a program in MATLAB to establish the connection between two programs and it receives the data when I ran both programs. However, the messages that MATLAB receives are sometimes concatenated and truncated, hence, the important information is lost. For example this is what MATLAB recieves: "$PARTICLE,0,415.927,416.624,-0.$FRAMENUMBER,333*41". I have a feeling that I'm forgetting to set some buffer properties but I'm not sure how to fix this. Can you please help me understand why the data is truncated and lost? I would really appreciate. Thank you.
Here is the code that I'm using:
close all; clc;clear all;
myIP = % I use the IP of my computer
t = tcpip('myIP', 3000);
fopen(t);
pause(.5);
while (get(t, 'BytesAvailable') > 0)
Data = fscanf(t);
fprintf(Data)
pause(0.001);
end
fclose(t);
delete(t);
Réponse acceptée
Plus de réponses (1)
Ira
le 21 Avr 2011
0 votes
Catégories
En savoir plus sur TCP/IP Communication dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!