def _parse_raw_data(self):
if self._START_OF_FRAME in self._raw and self._END_OF_FRAME in self._raw:<EOL><INDENT>while self._raw[<NUM_LIT:0>] != self._START_OF_FRAME and len(self._raw) > <NUM_LIT:0>:<EOL><INDENT>self._raw.pop(<NUM_LIT:0>)<EOL><DEDENT>if self._raw[<NUM_LIT:0>] == self._START_OF_FRAME:<EOL><INDENT>self._raw.pop(<NUM_LIT:0>)<EOL><DEDENT>eof_index = self._raw.index(self._END_OF_FRAME)<EOL>raw_message = self._raw[:eof_index]<EOL>self._raw = self._raw[eof_index:]<EOL>logger.debug('<STR_LIT>'.format(raw_message))<EOL>message = self._remove_esc_chars(raw_message)<EOL>logger.debug('<STR_LIT>'.format(message))<EOL>expected_checksum = (message[-<NUM_LIT:1>] << <NUM_LIT:8>) | message[-<NUM_LIT:2>]<EOL>logger.debug('<STR_LIT>'.format(expected_checksum))<EOL>message = message[:-<NUM_LIT:2>]  <EOL>logger.debug('<STR_LIT>'.format(message))<EOL>sum1, sum2 = self._fletcher16_checksum(message)<EOL>calculated_checksum = (sum2 << <NUM_LIT:8>) | sum1<EOL>if expected_checksum == calculated_checksum:<EOL><INDENT>message = message[<NUM_LIT:2>:]  <EOL>logger.debug('<STR_LIT>'.format(message))<EOL>self._messages.append(message)<EOL><DEDENT>else:<EOL><INDENT>logger.warning('<STR_LIT>'.format(message))<EOL>logger.debug('<STR_LIT>'.format(expected_checksum, calculated_checksum))<EOL><DEDENT><DEDENT>try:<EOL><INDENT>while self._raw[<NUM_LIT:0>] != self._START_OF_FRAME and len(self._raw) > <NUM_LIT:0>:<EOL><INDENT>self._raw.pop(<NUM_LIT:0>)<EOL><DEDENT><DEDENT>except IndexError:<EOL><INDENT>pass<EOL><DEDENT>
Parses the incoming data and determines if it is valid.  Valid
data gets placed into self._messages
:return: None