Allow manual position commands while driving
This commit is contained in:
+2
-5
@@ -436,10 +436,7 @@ void processSerialCommand(String command) {
|
||||
}
|
||||
|
||||
bool requiresParkingForCommand(char name) {
|
||||
return name == 'p' ||
|
||||
name == 'u' ||
|
||||
name == 'd' ||
|
||||
name == 'a' ||
|
||||
return name == 'a' ||
|
||||
name == 'c' ||
|
||||
name == 'r';
|
||||
}
|
||||
@@ -561,7 +558,7 @@ void printIntro() {
|
||||
Serial.println(F("+--------------------------------------------------+"));
|
||||
Serial.println(F("| Units: milliseconds. 0 = bottom. 6000 = top cap. |"));
|
||||
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.println(F("Commands:"));
|
||||
|
||||
@@ -64,10 +64,10 @@ r clear 10-use auto calibration counter
|
||||
h print help
|
||||
```
|
||||
|
||||
Action commands require parking gear for safety:
|
||||
These management commands require parking gear for safety:
|
||||
|
||||
```text
|
||||
p u d a c r
|
||||
a c r
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
- Each `IG1 HIGH -> LOW` transition increments the EEPROM use counter.
|
||||
|
||||
+3
-3
@@ -205,7 +205,7 @@ when currentPosMs <= 0:
|
||||
<p>하강은 1.1배 속도로 위치를 추정하고, 바닥 도달 후 300ms 추가 하강으로 바닥 밀착감을 줍니다.</p>
|
||||
|
||||
<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>
|
||||
<thead>
|
||||
<tr><th>명령</th><th>동작</th><th>응답</th></tr>
|
||||
@@ -286,9 +286,9 @@ if useCount >= 10 and IG1 LOW for 5 minutes:
|
||||
<td>연속 입력으로 500ms 단위가 흐트러지는 문제 방지</td>
|
||||
</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>수동 이동, 저장, 보정, EEPROM 변경이 P단 외 상태에서 실행되는 문제 방지</td>
|
||||
<td>자동모드 복귀, 보정, 카운터 초기화가 P단 외 상태에서 실행되는 문제 방지</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>수동 이동 완료 전 기어 상태 변경</td>
|
||||
|
||||
Reference in New Issue
Block a user