testing/*.tcl sample & test code
git-svn-id: svn://svn.berlios.de/openocd/trunk@799 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
a65255a06d
commit
cebfbfa661
|
@ -19,6 +19,11 @@ proc add_help_text {cmd cmd_help} {
|
||||||
lappend ocd_helptext [list $cmd $cmd_help]
|
lappend ocd_helptext [list $cmd $cmd_help]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc get_help_text {} {
|
||||||
|
global ocd_helptext
|
||||||
|
return $ocd_helptext
|
||||||
|
}
|
||||||
|
|
||||||
# Production command
|
# Production command
|
||||||
# FIX!!! need to figure out how to feed back relevant output
|
# FIX!!! need to figure out how to feed back relevant output
|
||||||
# from e.g. "flash banks" command...
|
# from e.g. "flash banks" command...
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
if { $argc != 1 } {
|
||||||
|
puts "Usage: test_tcl.tcl <ipaddress>"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
puts $argv
|
||||||
|
|
||||||
|
# Simple tcl client to connect to openocd
|
||||||
|
global fo
|
||||||
|
set fo [socket $argv 6666]
|
||||||
|
|
||||||
|
# If a fn is unknown to Tcl, send it off to OpenOCD
|
||||||
|
proc unknown args {
|
||||||
|
global fo
|
||||||
|
puts $fo $args
|
||||||
|
flush $fo
|
||||||
|
gets $fo line
|
||||||
|
return $line
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#Print help text for a command. Word wrap
|
||||||
|
#help text that is too wide inside column.
|
||||||
|
proc pc_help {args} {
|
||||||
|
global ocd_helptext
|
||||||
|
set cmd $args
|
||||||
|
foreach a [lsort $ocd_helptext] {
|
||||||
|
if {[string length $cmd]==0||[string first $cmd $a]!=-1||[string first $cmd [lindex $a 1]]!=-1} {
|
||||||
|
set w 50
|
||||||
|
set cmdname [lindex $a 0]
|
||||||
|
set h [lindex $a 1]
|
||||||
|
set n 0
|
||||||
|
while 1 {
|
||||||
|
if {$n > [string length $h]} {break}
|
||||||
|
|
||||||
|
set next_a [expr $n+$w]
|
||||||
|
if {[string length $h]>$n+$w} {
|
||||||
|
set xxxx [string range $h $n [expr $n+$w]]
|
||||||
|
for {set lastpos [expr [string length $xxxx]-1]} {$lastpos>=0&&[string compare [string range $xxxx $lastpos $lastpos] " "]!=0} {set lastpos [expr $lastpos-1]} {
|
||||||
|
}
|
||||||
|
#set next_a -1
|
||||||
|
if {$lastpos!=-1} {
|
||||||
|
set next_a [expr $lastpos+$n+1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
puts [format "%-25s %s" $cmdname [string range $h $n [expr $next_a-1]] ]
|
||||||
|
set cmdname ""
|
||||||
|
set n [expr $next_a]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
puts "Running flash_banks"
|
||||||
|
puts [flash_banks]
|
||||||
|
puts "Running help on PC using data from OpenOCD"
|
||||||
|
global ocd_helptext
|
||||||
|
set ocd_helptext [get_help_text]
|
||||||
|
puts [pc_help]
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue