⇒ 스트리밍 중 타이핑하면 문자열 깨지는 문제 해결 방안 제시
== 입력 라인 깨짐을 없애기 위한 방안 모색
추가 : 각 라인 및 단계 출력 추가

static uint32_t stream_seq = 0;
static uint32_t stream_lines = 0;
stream_seq : 스트리밍 데이터 한 줄마다 붙는 연속 번호
stream_lines : 실제로 스트리밍 라인을 몇 줄 보냈는지 세는 누적 카운터
⇒ UART는 중간에 라인이 유실 됐는지 시각적으로 판단 불가
seq가 있으면 PC에서 …, 10, 11, 13, … 같은 식으로 빠진 것을 즉시 검출 가능
로깅의 신뢰도 증명
if (strcmp(line, "stream start") == 0) {
stream_on = 1;
last_stream_ms = HAL_GetTick();
stream_seq = 0;
stream_lines = 0;
uart_print("OK stream on\\r\\n");
return;
}
스트리밍 새로 시작할 때마다 seq와 lines를 0으로 리셋
last_stream_ms는 주기 타이밍 기준점을 현재로 맞추는 것
⇒ 이전 세션의 seq가 이어지면 PC 로그를 볼 때 헷갈림
stream start는 새 세션의 시작 의미, 리셋 하는 것이 적합