Compare commits
3 Commits
628f7544be
...
285e521f61
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
285e521f61 | ||
|
|
ad27766342 | ||
|
|
0eeb830a9b |
@@ -833,6 +833,9 @@ class MainViewModel @Inject constructor(
|
||||
// tx Q-Switch Write
|
||||
txPacket(READ_WRITE.WRITE, CMD.Q_SWITCH, qSwitch.value)
|
||||
|
||||
// tx Oven Write (align with Engineer KTP write source)
|
||||
txPacket(READ_WRITE.WRITE, CMD.OVEN, Oven(ktp = temperature_write.value.ktp))
|
||||
|
||||
// tx Guide Beam Write
|
||||
txPacket(READ_WRITE.WRITE, CMD.GUIDE_BEAM, GuideBeam(value = getGuideBeamTxValue()))
|
||||
|
||||
|
||||
@@ -487,7 +487,7 @@ fun QSwitch.toByteArray(): ByteArray {
|
||||
val delayTimeIntegerPart = this.delayTime.toInt()
|
||||
val delayTimeFractionPart = ((this.delayTime - delayTimeIntegerPart) * 10).toInt()
|
||||
val intervalTimeIntegerPart = this.intervalTime.toInt()
|
||||
val intervalTimeFractionPart = ((this.intervalTime - delayTimeIntegerPart) * 10).toInt()
|
||||
val intervalTimeFractionPart = ((this.intervalTime - intervalTimeIntegerPart) * 10).toInt()
|
||||
|
||||
val delayTimeArray = byteArrayOf(
|
||||
((delayTimeIntegerPart.getNthDigit(2) + 0x30) and 0xFF).toByte(),
|
||||
|
||||
@@ -21,33 +21,3 @@
|
||||
### 의도/효과
|
||||
- 앱 시작 직후 `open()` 완료 전 TX가 먼저 발생하는 레이스를 완화/방어
|
||||
- 포트 미준비 상태(`FD == -1`)에서 write가 호출되어 초기 패킷이 누락되는 문제를 줄임
|
||||
|
||||
## 2) HandPiece 기본값 변경
|
||||
|
||||
### 변경 파일
|
||||
- `app/src/main/java/com/laseroptek/raman/data/model/serial/HandPiece.kt`
|
||||
|
||||
### 변경 내용
|
||||
- `HandPiece.type` 기본값 변경
|
||||
- 이전: `1`
|
||||
- 이후: `0`
|
||||
|
||||
### 영향 포인트
|
||||
- 기본 인스턴스 생성 시 handpiece type의 초기 상태가 달라집니다.
|
||||
- 초기 테이블 선택/상태 표시 로직에서 기본 타입 가정이 있다면 함께 점검 필요합니다.
|
||||
|
||||
## 3) 문서화
|
||||
|
||||
### 추가/수정 파일
|
||||
- `docs/serial_tx_startup_race.md` (신규)
|
||||
- `README.md` (Troubleshooting 링크 추가)
|
||||
|
||||
### 내용
|
||||
- FD(File Descriptor) 개념
|
||||
- startup race 원인 및 수정 내역
|
||||
- 왜 TX에서 직접 open하지 않았는지
|
||||
- 확인 포인트
|
||||
|
||||
## 4) 참고
|
||||
- 현재 요약은 커밋 로그가 아닌 워크트리 `git diff` 기준입니다.
|
||||
- 빌드 검증은 `gradlew` CRLF 문제로 로컬 셸에서 미실행 상태입니다.
|
||||
|
||||
Reference in New Issue
Block a user