+
+ /* We did not receive break (0x00) character */
+ if ((sl->rx_cnt == SLLIN_BUFF_BREAK) && (*cp == 0x55)) {
+ sl->rx_buff[sl->rx_cnt++] = 0x00;
+ sl->rx_buff[sl->rx_cnt++] = 0x55;
+ cp++;
+ }
+
+ if (sl->rx_cnt == SLLIN_BUFF_SYNC) {
+ /* 'Duplicated' break character -- ignore */
+ if ((*cp == 0x00) && (*(cp + 1) == 0x55)) {
+ cp++;
+ continue;
+ }
+
+ /* Wrong sync character */
+ if (*cp != 0x55)
+ break;
+ }
+