diff options
Diffstat (limited to 'Windows/spice/examples/tclspice/tcl-testbench4/vspicechart.tcl')
-rw-r--r-- | Windows/spice/examples/tclspice/tcl-testbench4/vspicechart.tcl | 250 |
1 files changed, 0 insertions, 250 deletions
diff --git a/Windows/spice/examples/tclspice/tcl-testbench4/vspicechart.tcl b/Windows/spice/examples/tclspice/tcl-testbench4/vspicechart.tcl deleted file mode 100644 index 810c2e74..00000000 --- a/Windows/spice/examples/tclspice/tcl-testbench4/vspicechart.tcl +++ /dev/null @@ -1,250 +0,0 @@ -############ spice chart program ########### -############ programmer: stephan thiel ########### -############ thiel@mikro.ee.tu-berlin.de ########### -############ (c) 2008 Berlin, Germany ########### -############ Don't trust any version ########### -############ before 1.0 ########### - - -package require BLT -load "../../../src/.libs/libspice.so" - -source selectfromlist.tcl -source bltGraph.tcl - -namespace import blt::* - -wm title . "vspicechart 0.01" -wm geometry . 800x450+40+40 -pack propagate . false - -set globals(colors) { red green blue orange yellow white gray lightblue pink darkblue \ - lightred lightgray darkgray darkblue darkgreen darkred violet salmon \ - gray100 gold SeaGreen RoyalBlue RosyBrown orchid MintCream magenta LimeGreen \ - gray33 DeepSkyBlue DarkGoldenrod chocolate gray77 aquamarine brown coral \ - DarkOliveGreen DarkOrange DarkSlateGray gray99 HotPink IndianRed LemonChiffon \ - LightSteelBlue PaleGreen peru sienna seashell SpringGreen tomato wheat WhiteSmoke} - - -proc replacechar { str pat pat1} { - set erg "" - for { set i 0 } { $i < [string length $str] } {incr i 1 } { - if { [ string index $str $i ] == $pat } { - append erg $pat1 - } else { - append erg [string index $str $i ] - } - } - return $erg -} - - -proc realtostr { r } { - set b [ expr abs($r) ] - set mul 1e-18 - set prefix a - if { $b > 9.9999999999e-16 } { - set mul 1e15 - set prefix f - } - if { $b > 9.9999999999e-13 } { - set mul 1e12 - set prefix p - } - if { $b > 9.9999999999e-10 } { - set mul 1e9 - set prefix n - } - if { $b > 9.9999999999e-7 } { - set mul 1e6 - set prefix u - } - if { $b > 9.9999999999e-4 } { - set mul 1e3 - set prefix m - } - - if { $b > 0.999999999999999 } { - set mul 1 - set prefix "" - } - - if { $b > 999 } { - set mul 1e-3 - set prefix K - } - - if { $b > 9.999999999e5 } { - set mul 1e-6 - set prefix MEG - } - if { $b > 9.9999999999e8 } { - set mul 1e-9 - set prefix G - } - if { $b > 9.99999999999e11 } { - set mul 1e-12 - set prefix T - } - set str [ format "%1.8g$prefix" [expr $r*$mul] ] - if { $str=="0a" } { set str "0" } - return $str -} - -proc realtostr1 { elem r } { - scan $r "%f" erg - return [ realtostr $erg ] -} - -set globals(signals) {}; - -proc readconfigfile { } { - global globals - global const - if { [file exists $globals(CONFIGFILE)] } { - set fid [open $globals(CONFIGFILE) r] - while { ![eof $fid] } { - gets $fid tempstring - if { [string first "PACK-PATH=" $tempstring]==0 } { - scan $tempstring "PACK-PATH=%s" globals(PACK-PATH) - } - if { [string first "SIMULATOR=" $tempstring]==0 } { - scan $tempstring "SIMULATOR=%s" globals(SIMULATOR) - } - } - close $fid - } else { - set globals(PACK-PATH) "" - set globals(SIMULATOR) "INTERNAL" - } -} - -proc select_vector { } { - global globals - set thissignals [spice::spice_data] - set signals {} - foreach sig $thissignals { - if { [lindex $sig 0] != "time" } { - lappend signals [lindex $sig 0] - } - } - set selectedsignal [selectionwindow::selectfromlist .select "Select Signal" $signals ] - if { ( [string trim $selectedsignal] != "") && ([lsearch -exact $globals(signals) $selectedsignal] == -1) } { - eval "$globals(LSELECTEDSIGNALS) insert end $selectedsignal" - vector create [replacechar $selectedsignal "\#" "_"] - } -} - - -proc start_new_sel { } { - global globals - - set elemlist [ eval "$globals(chart0) element show" ] - for { set j 0 } {$j < [llength $elemlist] } {incr j 1} { - $globals(chart0) element delete [lindex $elemlist $j ] - } - - set i 0 - foreach sig $globals(signals) { - set nsig [replacechar $sig "\#" "_"] - vector create $nsig - spice::spicetoblt $sig $nsig - - $globals(chart0) element create $sig -color [lindex $globals(colors) $i] -xdata stime -ydata $nsig -symbol none - incr i 1 - } -} - - -proc delete_selected { } { - global globals - set elem [$globals(LSELECTEDSIGNALS) curselection] - if { $elem != "" } { - $globals(LSELECTEDSIGNALS) delete $elem - } -} - - - -set filename [ lindex $argv 0] - -if { [file exists $filename ] } { - spice::source $filename - spice::bg run - -after 1000 - - - -frame .f1 -pack .f1 -side left -expand true -fill both - -listbox .f1.blistbox -listvariable globals(signals) -pack .f1.blistbox -side top -fill both -expand true - -set globals(LSELECTEDSIGNALS) .f1.blistbox - - -button .f1.baddvec -text "Select Vector" -command "select_vector" -pack .f1.baddvec -side top -fill x -expand true - -button .f1.bdelvec -text "Delete Vector" -command "delete_selected" -pack .f1.bdelvec -side top -fill x -expand true - -button .f1.bstartsel -text "Start with new selection" -command start_new_sel -pack .f1.bstartsel -side top -fill x -expand true - - -button .f1.simstop -text "Simulation Stop" -command "spice::stop" -pack .f1.simstop -side top -fill x -expand true - -button .f1.simresume -text "Simulation Resume" -command "spice::bg resume" -pack .f1.simresume -side top -fill x -expand true - - -button .f1.bexit -text "Exit" -command "exit" -pack .f1.bexit -side top -fill x -expand true - - -frame .f2 -pack .f2 -side left -expand true -fill both - -stripchart .f2.chart -pack .f2.chart -side top -fill both -expand true -.f2.chart axis configure x -title "Time in s" - - -.f2.chart grid configure -hide no -Blt_ZoomStack .f2.chart -Blt_Crosshairs .f2.chart -Blt_ClosestPoint .f2.chart -Blt_PrintKey .f2.chart -Blt_ActiveLegend .f2.chart -.f2.chart crosshairs configure -color lightblue - -.f2.chart axis configure x -command realtostr1 -.f2.chart axis configure y -command realtostr1 - -set globals(chart0) .f2.chart - - - - vector create stime - - - proc bltupdate {} { - global globals - - spice::spicetoblt time stime - foreach sig $globals(signals) { - set nsig [replacechar $sig "\#" "_"] - spice::spicetoblt $sig $nsig - } - - after 100 bltupdate - } - bltupdate - -} else { - exit; -} |