LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

TCP read data

Hello all,

 

I am trying to send a velocity command to a robot and using TCP. 

I get the letter "L" from the data out in the TCP read function.

What does this "L" mean? I thought I supposed to recieve the bytes I read.... (the mode in the TCP read block is 'standard')

 

 

Thank you very much in advance

Orit

Download All
0 Kudos
Message 1 of 5
(731 Views)

What robot are you working with?

 

What does its manual say?

 

I'm sorry but you have not provided a lot of information.  Just a picture of a front panel with an L on it, and a VI with missing subVI's.

0 Kudos
Message 2 of 5
(726 Views)

Suppose I told you I have a Robot, and I give it a command (possibly to send Velocity to two wheels, but without telling you the format of the command, and if I was sending the "correct" command).  I then tell you after sending this command, I read a single byte back, and it consists of 0x4C, which can be represented in Ascii as "L".  What would this tell you?  Is it, perhaps, the start of a message "Look out, you forgot to turn me on"?  Is it, perhaps, the number 76, an indication of the speed of (one of) the wheels?  Do I even know what I'm doing?  [Obvious answer, for me, at least -- No, I have no idea what the Robot expects, and how it should respond to my command, including whether it sends a 1-byte response, a text string ending in <LF> or some other termination character, or what.]

 

Bob Schor

0 Kudos
Message 3 of 5
(722 Views)

Hi, thank for your respone

I work with e-puck2 and TCP wasn't mentioned in its manual.

 

now I attached another simple VI, and a pic of what I get

 

Thank you in advance

Download All
0 Kudos
Message 4 of 5
(651 Views)

@unita wrote:

I work with e-puck2 and TCP wasn't mentioned in its manual. 


You aren't helping me to help you!  I can see you are writing 21 bytes to a TCP port. with the first byte being 80 and a set of 4 more bytes (at bytes 3..6) being the byte-swapped contents of two I16 values, "left" and "right".  Presumably this TCP write returns something -- what are you expecting?  Are you expecting a single byte?  That's what you read.  When interpreted as a character, it is "L".  Does this make sense?

 

You must have some reason to send these bytes to this controller at this address.  I find it curious that you start on an "odd-byte" boundary (I could see sending a command at position 0, or 4, or 8, but 3?), give us no clue as to the appropriate format for the command and what it means (what does "80" signify?), and as we have no idea of what the command is, we are even more in the dark as to what the expected response should be.

 

So I'll just assume that you are "doing the correct thing", your Robot is also "doing the right thing", and all's well with the world.  Since you (so far) haven't given us much information to be very helpful, I'll end this post with what I hope is "something useful to try" -- see what happens if you read 2 bytes from the TCP/IP port (you might also try reading 3, 4, 5, ... bytes, until "something breaks" or "something makes sense").

 

Bob Schor

0 Kudos
Message 5 of 5
(627 Views)