Process bytes and check for start key
Bugs

There are several things wrong with this function:


void address(consst uint8_t value)
{
  int counter = 0;
  int newVal = value;
  while(value == 97 &amp;&amp; counter &lt; 3)
  {
    counter++;
    newVal = RX.read();
  }
}




You never use the variable newVal, which is a mistake.  Most likely you meant the while loop to read:

while (newVal == 97 &amp;&amp; counter &lt; 3)


As it stands, your code will always read 3 extra bytes if the first is 97, even if the second byte is not 97.  You can also get rid of the newVal variable and just use value, if you change the type of value to make it non-const.
const is misspelled.
When you encounter a series of three 97 bytes, you actually read 4 bytes.  The first byte is already read and passed into this function.  The function then reads 3 extra bytes.  This means that the first byte of the "message" will be missing when you call processBytes() later on.
Your message protocol is unclear.  From your code, it appears that the message protocol must be 97 97 97 byte 97 97 97 byte which is extremely wasteful.  If that is not the protocol, there are problems with how you handle the message stream.  For example, the address() function strips all 97s out of the message stream, whether or not they are part of a sequence of three.  Also, if the address() function does not detect a sequence of three 97s, it always discards one byte out of the message stream.  I'd need to see an example of a proper message stream in order to advise on a solution.