Allow manual position commands while driving

This commit is contained in:
2026-06-07 13:01:46 +09:00
parent 582311ed47
commit 2f383fe791
3 changed files with 9 additions and 10 deletions
+2 -5
View File
@@ -436,10 +436,7 @@ void processSerialCommand(String command) {
} }
bool requiresParkingForCommand(char name) { bool requiresParkingForCommand(char name) {
return name == 'p' || return name == 'a' ||
name == 'u' ||
name == 'd' ||
name == 'a' ||
name == 'c' || name == 'c' ||
name == 'r'; name == 'r';
} }
@@ -561,7 +558,7 @@ void printIntro() {
Serial.println(F("+--------------------------------------------------+")); Serial.println(F("+--------------------------------------------------+"));
Serial.println(F("| Units: milliseconds. 0 = bottom. 6000 = top cap. |")); Serial.println(F("| Units: milliseconds. 0 = bottom. 6000 = top cap. |"));
Serial.println(F("| Normal auto move target is saved in EEPROM. |")); Serial.println(F("| Normal auto move target is saved in EEPROM. |"));
Serial.println(F("| Action commands require gear P for safety. |")); Serial.println(F("| a/c/r commands require gear P for safety. |"));
Serial.println(F("| Serial output is quiet unless a command is used. |")); Serial.println(F("| Serial output is quiet unless a command is used. |"));
Serial.println(F("+--------------------------------------------------+")); Serial.println(F("+--------------------------------------------------+"));
Serial.println(F("Commands:")); Serial.println(F("Commands:"));
+4 -2
View File
@@ -64,10 +64,10 @@ r clear 10-use auto calibration counter
h print help h print help
``` ```
Action commands require parking gear for safety: These management commands require parking gear for safety:
```text ```text
p u d a c r a c r
``` ```
If the gear is not P: If the gear is not P:
@@ -78,6 +78,8 @@ ERR: check gear state. Command requires P.
While debug mode is active, only `x` is accepted. Other input is ignored. While debug mode is active, only `x` is accepted. Other input is ignored.
Manual position commands `u`, `d`, and `p` are allowed while driving, as long as the controller is not busy with an in-progress movement.
## Automatic Calibration ## Automatic Calibration
- Each `IG1 HIGH -> LOW` transition increments the EEPROM use counter. - Each `IG1 HIGH -> LOW` transition increments the EEPROM use counter.
+3 -3
View File
@@ -205,7 +205,7 @@ when currentPosMs <= 0:
<p>하강은 1.1배 속도로 위치를 추정하고, 바닥 도달 후 300ms 추가 하강으로 바닥 밀착감을 줍니다.</p> <p>하강은 1.1배 속도로 위치를 추정하고, 바닥 도달 후 300ms 추가 하강으로 바닥 밀착감을 줍니다.</p>
<h2>4. 한 글자 시리얼 명령</h2> <h2>4. 한 글자 시리얼 명령</h2>
<p>시리얼 연결 후 처음에는 잠금 상태입니다. 빈 Enter를 한 번 입력하면 도움말과 현재 상태를 출력하고, 그때부터 한 글자 명령을 사용할 수 있습니다. 잠금 해제 후 Enter 단독 입력은 아무 동작도 하지 않습니다. 안전을 위해 <code>p/u/d/a/c/r</code> 명령은 P단에서만 실행됩니다.</p> <p>시리얼 연결 후 처음에는 잠금 상태입니다. 빈 Enter를 한 번 입력하면 도움말과 현재 상태를 출력하고, 그때부터 한 글자 명령을 사용할 수 있습니다. 잠금 해제 후 Enter 단독 입력은 아무 동작도 하지 않습니다. 운행 중에도 <code>u/d/p</code> 수동 위치 조정 및 저장은 가능하며, <code>a/c/r</code> 관리 명령은 P단에서만 실행됩니다.</p>
<table> <table>
<thead> <thead>
<tr><th>명령</th><th>동작</th><th>응답</th></tr> <tr><th>명령</th><th>동작</th><th>응답</th></tr>
@@ -286,9 +286,9 @@ if useCount >= 10 and IG1 LOW for 5 minutes:
<td>연속 입력으로 500ms 단위가 흐트러지는 문제 방지</td> <td>연속 입력으로 500ms 단위가 흐트러지는 문제 방지</td>
</tr> </tr>
<tr> <tr>
<td>P단이 아닌 상태에서 <code>p/u/d/a/c/r</code> 입력</td> <td>P단이 아닌 상태에서 <code>a/c/r</code> 입력</td>
<td><code>ERR: check gear state. Command requires P.</code> 출력</td> <td><code>ERR: check gear state. Command requires P.</code> 출력</td>
<td>수동 이동, 저장, 보정, EEPROM 변경이 P단 외 상태에서 실행되는 문제 방지</td> <td>자동모드 복귀, 보정, 카운터 초기화가 P단 외 상태에서 실행되는 문제 방지</td>
</tr> </tr>
<tr> <tr>
<td>수동 이동 완료 전 기어 상태 변경</td> <td>수동 이동 완료 전 기어 상태 변경</td>