feat(scripting): add sprintf2 command and fix prompt-wait race (v0.1.2)
- Add TeraTerm-compatible sprintf2 (C printf formatting into a string var) - Fix SVOS power-cycle script racing ahead by gating prompt waits behind output-completion markers - Bump version to 0.1.2; docs and README updates
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
|
||||
prompt_SVOS = "SVOS> "
|
||||
|
||||
ip = "192.168.1.21" ; PDU IP
|
||||
device = 1 ; PDU 裝置編號(iPoMan II/III 以 1 為預設)
|
||||
port = 1 ; 要測試的插座埠
|
||||
act_off = 0
|
||||
act_on = 1
|
||||
|
||||
; ── 連線 ──
|
||||
pduconnect device ip
|
||||
if result == 0 then
|
||||
messagebox 'PDU connect failed — 檢查 IP / 網路 / community'
|
||||
endif
|
||||
|
||||
cnt_total = 0
|
||||
while 1
|
||||
; ── 單埠 OFF → ON 電源循環 ──
|
||||
flushrecv ; 清掉上一輪殘留輸出,等待 boot 訊息更乾淨
|
||||
pause 3
|
||||
pductrl device port act_off
|
||||
pause 5
|
||||
pductrl device port act_on
|
||||
pause 3
|
||||
|
||||
wait "Select profile(primary):"
|
||||
sendln "0"
|
||||
wait "ServiceOS login:"
|
||||
sendln "admin"
|
||||
|
||||
wait prompt_SVOS ; 登入後第一個就緒提示(此處無指令輸出,安全)
|
||||
sendln "version"
|
||||
wait "SHA:" ; 先等 version 輸出跑完(最後一行),避免比對到回顯的 "SVOS> version"
|
||||
wait prompt_SVOS
|
||||
sendln "help"
|
||||
wait "more info" ; 先等 help 輸出跑完,再等就緒提示
|
||||
wait prompt_SVOS
|
||||
sendln "help"
|
||||
wait "more info"
|
||||
wait prompt_SVOS
|
||||
|
||||
cnt_total = cnt_total + 1
|
||||
sprintf2 total_print "====== Total Power Cycle :%d ======" cnt_total
|
||||
sendln total_print
|
||||
wait prompt_SVOS
|
||||
endwhile
|
||||
|
||||
Reference in New Issue
Block a user