1.0 KiB
1.0 KiB
변경 요약 (2026-03-04)
이 문서는 현재 git diff 기준으로 반영된 변경을 정리합니다.
1) 시리얼 초기 전송 누락(Startup race) 대응
변경 파일
app/src/main/java/com/laseroptek/raman/ui/MainActivity.ktapp/src/main/java/com/laseroptek/raman/ui/screens/main/MainViewModel.kt
변경 내용
MainActivity.initialize()의 시리얼 시작 순서를 조정- 이전:
txPacketOnce()->rxPacketLoop()->txPacketLoop() - 이후:
rxPacketLoop()->txPacketOnce()->txPacketLoop()
- 이전:
MainViewModel.txPacketOnce()를 코루틴(IO)에서 실행하도록 변경waitUntilSerialReady()추가- 최대 2초 동안 20ms 간격으로
FD != -1확인 - 준비 실패 시 에러 로그 후 초기 TX 중단
- 최대 2초 동안 20ms 간격으로
- 관련 설명 주석 추가
의도/효과
- 앱 시작 직후
open()완료 전 TX가 먼저 발생하는 레이스를 완화/방어 - 포트 미준비 상태(
FD == -1)에서 write가 호출되어 초기 패킷이 누락되는 문제를 줄임