Calculating LRC for communication in a TCP/IP application.
Below is the information I have on what needs to be done. I can already handle the and values as well as the data between them. I just don't know how to calculate LRC (**Linear Redundancy Check**) that needs to be sent back to the connected application.
This is what the details say i need to do to calculate it: is calculated by XORing the first byte after the through the inclusive.
Given this sample data, how do I calculate LRC based on above statement?
Sample data: 1733300000199991440011174003102
or this sample: 37958000033999910600523259
I need a function that I can use to get the answer for LRC.
**More Protocol Level Details:
**All Packets sent between application A and application B will be wrapped in a Data Envelope
to ensure correct processing and to provide protection against errors during transmission. The Data
Envelope is described as follows:
is the ASCII value 0x02
is the ASCII value 0x03
DATA is the ASCII printable data contained in the packet
is calculated by XORing the first byte after the through the inclusive.
I am having trouble with this statement.
is calculated by XORing the first byte after the through the inclusive
I don't know if I should take the first byte and XOR with the remaining bits.
Since I do know what the outcome should be that someone could help with the calculation.
MY RESPONSE MESSAGE:
2010/12/28 10:43:08:448 - ERROR invalid LRC data $00<> calculated $3C
LRC should be 3C by XORing incoming message somehow.
This is how I am responding to the request.
char stx = (char)2;
char etx = (char)3;
char lrc = (char)0; //should be calculated
bytes = [url removed, login to view]([url removed, login to view]() + "459580000399999" + [url removed, login to view]() + [url removed, login to view]());
// Send back a response.
[url removed, login to view](bytes, 0, [url removed, login to view]);
It is possible and more likely now that I would need to calculate LRC for the message being sent back.
The message sent is as follows. This should result in a LRC of 3C if this theory is correct.
with STX and ETX it would be
If this is the case then the incoming message LRC is <04>
Any function that comes up with 04 for the incoming message will have it.