docs: document sprintf2 and wait settle behavior (v0.1.2)
This commit is contained in:
+6
-2
@@ -11,7 +11,7 @@
|
||||
|
||||
ETTerms 是一個給工程師 / 韌體 / 硬體驗證人員用的**單一視窗終端機工作台**。它把日常會用到的兩種連線——**SSH**(連伺服器 / 嵌入式 Linux)與 **Serial Port**(連 UART / console / 開發板)——收進同一個 WinForms 視窗裡,用分頁(Tab)管理多條連線,左側有可存檔的連線清單(Saved Connections)。
|
||||
|
||||
核心差異化價值是**腳本自動化**:沿用並擴充 MyTeraTerm 既有的 **TTL(Tera Term Language)直譯器**,讓使用者既有的 `.ttl` 腳本(`send` / `sendln` / `wait` / `if` / `while` / `logopen` / `pductrl`…)可以直接重用,直接驅動原生 SSH / Serial channel,做到登入自動化、批次下命令、log 收集、PDU 電源控制等。
|
||||
核心差異化價值是**腳本自動化**:沿用並擴充 MyTeraTerm 既有的 **TTL(Tera Term Language)直譯器**,讓使用者既有的 `.ttl` 腳本(`send` / `sendln` / `wait` / `if` / `while` / `logopen` / `sprintf2` / `pductrl`…)可以直接重用,直接驅動原生 SSH / Serial channel,做到登入自動化、批次下命令、log 收集、PDU 電源控制等。
|
||||
|
||||
開發策略採「**GUI 先行**」:先把 KKTerm 風格的視窗外殼與分頁工作區做出來(可見、可切換、可關閉),再逐步把 Serial → SSH → VT100 渲染 → 腳本引擎一層層補上。
|
||||
|
||||
@@ -296,6 +296,8 @@ ETTerms 是單視窗多分頁,沒有「路由」,以下以**功能面板**
|
||||
- 載入 / 編輯 `.ttl` 腳本(語法沿用 MyTeraTerm)
|
||||
- 對「目前 active session」執行腳本;顯示執行進度(檔名 / 行號 / 當前指令)
|
||||
- 可取消執行(`Cancel()`);`logopen` 將輸出寫檔
|
||||
- `sprintf2`:C `printf` 風格格式化輸出到變數(TeraTerm 相容)
|
||||
- `wait`:命中關鍵字後會等裝置安靜(`SettleMs`,預設 300ms)再接受並取最後一次出現,避免比對到輸出中途的指令回顯
|
||||
- 選用:PDU 控制指令(`pductrl` / `pduconnect`)走 SNMP
|
||||
|
||||
### Group 同步執行
|
||||
@@ -337,7 +339,9 @@ ETTerms 是單視窗多分頁,沒有「路由」,以下以**功能面板**
|
||||
ScriptRunner.RunAsync(scriptText, activeChannel)
|
||||
→ TTLInterpreter(channel)
|
||||
send/sendln → channel.Write(bytes)
|
||||
wait "xxx" → 監聽 channel.DataReceived,比對緩衝直到 match 或 timeout
|
||||
wait "xxx" → 監聽 channel.DataReceived,比對到關鍵字後再等裝置「安靜」(~300ms 無新資料) 才接受,
|
||||
並消費到該字串「最後一次」出現處 → 避免命中輸出中途的指令回顯(如 SVOS> help)
|
||||
sprintf2 → C printf 風格格式化字串存入變數(與 TeraTerm 相容,設定 result)
|
||||
logopen/write→ StreamWriter 寫檔
|
||||
pductrl → PduController(SNMP set)→ PDU
|
||||
if/while → 依 result / 變數做流程控制
|
||||
|
||||
Reference in New Issue
Block a user