Format all status output by field
This commit is contained in:
+17
-36
@@ -583,45 +583,26 @@ void printStatus(const __FlashStringHelper *tag) {
|
|||||||
Serial.print(tag);
|
Serial.print(tag);
|
||||||
Serial.println(F("]"));
|
Serial.println(F("]"));
|
||||||
printUptime();
|
printUptime();
|
||||||
Serial.print(F("raw="));
|
printNamedInt(F("raw"), parkingRawValue);
|
||||||
Serial.print(parkingRawValue);
|
printNamedBool(F("ig"), ignitionState == HIGH);
|
||||||
Serial.print(F(" ig="));
|
printNamedBool(F("p"), parkingState == HIGH);
|
||||||
Serial.print(ignitionState == HIGH ? 1 : 0);
|
printNamedBool(F("rawDrive"), getRawDriveMode() == HIGH);
|
||||||
Serial.print(F(" p="));
|
printNamedBool(F("confirmedDrive"), confirmedDriveMode == HIGH);
|
||||||
Serial.print(parkingState == HIGH ? 1 : 0);
|
printNamedLong(F("currentMs"), currentPosMs);
|
||||||
Serial.print(F(" rawDrive="));
|
printNamedLong(F("targetMs"), targetPosMs);
|
||||||
Serial.print(getRawDriveMode() == HIGH ? 1 : 0);
|
printNamedInt(F("savedPositionMs"), storedSeatPositionMs);
|
||||||
Serial.print(F(" confirmedDrive="));
|
printNamedInt(F("hardLimitMs"), SEAT_HARD_LIMIT_UP_MS);
|
||||||
Serial.println(confirmedDriveMode == HIGH ? 1 : 0);
|
printNamedInt(F("requestedRelay"), requestedSeatAction);
|
||||||
|
printNamedInt(F("actualRelay"), currentSeatAction);
|
||||||
Serial.print(F("currentMs="));
|
printNamedBool(F("manualMode"), manualMode);
|
||||||
Serial.print(currentPosMs);
|
printNamedBool(F("stabilizing"), isStabilizing);
|
||||||
Serial.print(F(" targetMs="));
|
|
||||||
Serial.print(targetPosMs);
|
|
||||||
Serial.print(F(" savedPositionMs="));
|
|
||||||
Serial.print(storedSeatPositionMs);
|
|
||||||
Serial.print(F(" hardLimitMs="));
|
|
||||||
Serial.println(SEAT_HARD_LIMIT_UP_MS);
|
|
||||||
|
|
||||||
Serial.print(F("requestedRelay="));
|
|
||||||
Serial.print(requestedSeatAction);
|
|
||||||
Serial.print(F(" actualRelay="));
|
|
||||||
Serial.print(currentSeatAction);
|
|
||||||
Serial.print(F(" manualMode="));
|
|
||||||
Serial.print(manualMode ? 1 : 0);
|
|
||||||
Serial.print(F(" stabilizing="));
|
|
||||||
Serial.println(isStabilizing ? 1 : 0);
|
|
||||||
|
|
||||||
Serial.print(F("useCount="));
|
Serial.print(F("useCount="));
|
||||||
Serial.print(useCount);
|
Serial.print(useCount);
|
||||||
Serial.print(F("/"));
|
Serial.print(F("/"));
|
||||||
Serial.print(USES_BEFORE_AUTO_CALIBRATION);
|
Serial.println(USES_BEFORE_AUTO_CALIBRATION);
|
||||||
Serial.print(F(" autoPending="));
|
printNamedBool(F("autoPending"), autoCalibrationPending);
|
||||||
Serial.print(autoCalibrationPending ? 1 : 0);
|
printNamedBool(F("forceCal"), forceCalibration);
|
||||||
Serial.print(F(" forceCal="));
|
printNamedInt(F("autoCalState"), autoCalibrationState);
|
||||||
Serial.print(forceCalibration ? 1 : 0);
|
|
||||||
Serial.print(F(" autoCalState="));
|
|
||||||
Serial.println(autoCalibrationState);
|
|
||||||
printAutoCalibrationDelayStatus();
|
printAutoCalibrationDelayStatus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -80,10 +80,16 @@ 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.
|
Manual position commands `u`, `d`, and `p` are allowed while driving, as long as the controller is not busy with an in-progress movement.
|
||||||
|
|
||||||
Every status output includes boot uptime:
|
Every status output uses one item per line and includes boot uptime:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
|
[STATUS]
|
||||||
uptime=0h 2m 13s 457ms
|
uptime=0h 2m 13s 457ms
|
||||||
|
raw=1023
|
||||||
|
ig=true
|
||||||
|
p=true
|
||||||
|
rawDrive=false
|
||||||
|
confirmedDrive=false
|
||||||
```
|
```
|
||||||
|
|
||||||
If the use counter reached 10, status/debug output also includes the ignition-off calibration timer:
|
If the use counter reached 10, status/debug output also includes the ignition-off calibration timer:
|
||||||
|
|||||||
+1
-1
@@ -224,7 +224,7 @@ when currentPosMs <= 0:
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<p><span class="warn">주의:</span> 명령은 한 글자만 받습니다. <code>debug</code>, <code>down</code>, <code>position 2000</code>처럼 긴 문자열은 실행하지 않습니다.</p>
|
<p><span class="warn">주의:</span> 명령은 한 글자만 받습니다. <code>debug</code>, <code>down</code>, <code>position 2000</code>처럼 긴 문자열은 실행하지 않습니다.</p>
|
||||||
<p>모든 상태 출력에는 부팅 후 경과 시간이 <code>uptime=0h 2m 13s 457ms</code> 형식으로 포함됩니다. debug 출력에서도 1초마다 같은 형식으로 확인할 수 있습니다.</p>
|
<p>모든 상태 출력은 항목별 한 줄 형식이며, 부팅 후 경과 시간이 <code>uptime=0h 2m 13s 457ms</code> 형식으로 포함됩니다. debug 출력에서도 1초마다 같은 형식으로 확인할 수 있습니다.</p>
|
||||||
<p>사용 횟수가 10회에 도달한 경우에만 보정 대기 타이머가 <code>autoCalOffTimer=elapsed 0h 1m 20s 123ms remaining 0h 3m 39s 877ms</code> 형식으로 추가 출력됩니다. IG1 ON 상태에서는 <code>autoCalOffTimer=waiting_for_ig_off</code>로 표시됩니다.</p>
|
<p>사용 횟수가 10회에 도달한 경우에만 보정 대기 타이머가 <code>autoCalOffTimer=elapsed 0h 1m 20s 123ms remaining 0h 3m 39s 877ms</code> 형식으로 추가 출력됩니다. IG1 ON 상태에서는 <code>autoCalOffTimer=waiting_for_ig_off</code>로 표시됩니다.</p>
|
||||||
<p>debug 출력은 1초마다 항목별 한 줄 형식으로 표시되며, <code>ig=true</code>, <code>p=false</code>, <code>autoPending=false</code>처럼 bool 값은 <code>true</code>/<code>false</code>로 출력됩니다.</p>
|
<p>debug 출력은 1초마다 항목별 한 줄 형식으로 표시되며, <code>ig=true</code>, <code>p=false</code>, <code>autoPending=false</code>처럼 bool 값은 <code>true</code>/<code>false</code>로 출력됩니다.</p>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user