applet::tooltip-set [tt-string]
}
-proc append-energies {av energy power eunit punit} {
+proc append-energies {av energy power eunit punit fmt} {
upvar 1 o o
upvar 1 $av a
- append o [format " %.0f%s / %.0f%s / %.0f%s %.0f%s" \
- [expr { $a(${energy}_NOW) * 1e-3 }] $eunit \
- [expr { $a(${energy}_FULL) * 1e-3 }] $eunit \
- [expr { $a(${energy}_FULL_DESIGN) * 1e-3 }] $eunit \
- [expr { $a(${power}_NOW) * 1e-3 }] $punit]
+ append o [format " ${fmt}%s / ${fmt}%s / ${fmt}%s ${fmt}%s" \
+ [expr { $a(${energy}_NOW) * 1e-6 }] $eunit \
+ [expr { $a(${energy}_FULL) * 1e-6 }] $eunit \
+ [expr { $a(${energy}_FULL_DESIGN) * 1e-6 }] $eunit \
+ [expr { $a(${power}_NOW) * 1e-6 }] $punit]
}
proc append-percents {qv} {
if {$nbatts} {
set o "Total: $nbatts present "
append o [join [lsort [array names states]] /]
- append-energies tot energy power mWh mW
+ append-energies tot energy power Wh W %.1f
append-percents tot
lappend lines $o
}
return [join $lines "\n"]
}
-proc compute {power energy factor punit eunit sign} {
+proc compute {power energy factor punit eunit sign fmt} {
upvar 1 a a
upvar 1 q q
upvar 1 tot tot
if {![info exists tot($kq)]} { set tot($kq) 0 }
set tot($kq) [expr {$tot($kq) + $q($kq)}]
}
- append-energies a $energy $power $eunit $punit
+ append-energies a $energy $power $eunit $punit $fmt
append-percents q
return 1
}
set states($a(STATUS)) 1
append o $a(STATUS)
foreach power {POWER CURRENT} energy {ENERGY CHARGE} \
- punit {mW mA} eunit {mWh mAh} {
+ punit {W A} eunit {Wh Ah} fmt {%.1f %.2f} {
switch -exact $power {
POWER { set factor 1.0 }
CURRENT { set factor [expr {$a(VOLTAGE_NOW) * 1e-6}] }
}
- if {![compute $power $energy $factor $punit $eunit $sign]} \
- continue
+ if {![compute $power $energy $factor \
+ $punit $eunit $sign $fmt]} continue
incr nbatts
}
}