New version, new tarball. Fixed bad assumption, DMI type 0 is not always before other

types, in at least one case, it is last, so can't use that as trigger to start loop.

Now using: Table at .. which is always at start of dmi output.

Also, changed size output per module to be in MB GB TB instead of all mB, since modules
are sold by GB or MB, the data should show that as well. Also shortens output.
This commit is contained in:
inxi-svn 2014-08-17 19:04:20 +00:00
parent 579ba364f7
commit a19125c8c7
2 changed files with 49 additions and 7 deletions

36
inxi
View file

@ -1,8 +1,8 @@
#!/usr/bin/env bash
########################################################################
#### Script Name: inxi
#### Version: 2.1.97
#### Date: 2014-08-16
#### Version: 2.1.98
#### Date: 2014-08-17
#### Patch Number: 00
########################################################################
#### SPECIAL THANKS
@ -8154,7 +8154,6 @@ get_ram_data()
aArrayData[0,"deviceCount16"]=0
aArrayData[0,"deviceCountFound"]=0
aArrayData[0,"moduleVoltage5"]=""
moduleVoltage=""
numberOfDevices=""
primaryType=""
@ -8163,7 +8162,6 @@ get_ram_data()
i=0
j=0
k=0
bDebugger1="false"
dDebugger2="false"
bType5="false"
@ -8188,7 +8186,7 @@ get_ram_data()
}
return size
}
/^Handle .* DMI[[:space:]]+type[[:space:]]+[0](,|[[:space:]])/ {
/^Table[[:space:]]+at[[:space:]]/ {
bType5="false"
# we need to start count here because for testing > 1 array, and we want always to have
# the actual module data assigned to the right primary array, even when it is out of
@ -8305,8 +8303,14 @@ get_ram_data()
aArrayData[k,"usedCapacity"]=workingSize + aArrayData[k,"usedCapacity"]
}
# print aArrayData[k,"derivedModuleSize"] " dm:" k ":mm " aMaxModuleSize[k] " uc:" aArrayData[k,"usedCapacity"]
# we want any non real size data to be preserved
if ( $2 ~ /^[0-9]+[[:space:]]*[MTPG]B/ ) {
deviceSize=workingSize
}
else {
deviceSize=$2
}
}
if ( $1 == "Locator") {
# sub(/.*_/,"",$2)
#sub(/RAM slot #|^DIMM/, "Slot",$2)
@ -8570,7 +8574,27 @@ get_ram_data()
# print device rows next
for ( j=0;j<=100;j++ ) {
if (aMemory[m,j,0] != "" ) {
print aMemory[m,j,0] "," aMemory[m,j,1] "," aMemory[m,j,2] "," aMemory[m,j,3] "," aMemory[m,j,4] "," aMemory[m,j,5] "," aMemory[m,j,6] "," aMemory[m,j,7] "," aMemory[m,j,8] "," aMemory[m,j,9] "," aMemory[m,j,10] "," aMemory[m,j,11] "," aMemory[m,j,12] "," aMemory[m,j,13] "," aMemory[m,j,14] "," aMemory[m,j,15] "," aMemory[m,j,16] "," aMemory[m,j,17]
unit=""
workingSize=aMemory[m,j,2]
if ( workingSize ~ /^[0-9]+$/ ) {
workingSize=int(workingSize)
if ( workingSize < 1024 ) {
workingSize = workingSize
unit=" MB"
}
else if ( workingSize < 1024000 ) {
workingSize = workingSize / 1024
unit=" GB"
}
else if ( workingSize < 1024000000 ) {
workingSize = workingSize / 1024000
unit=" TB"
}
# we only want a max 2 decimal places, this trick gives 0 to 2
workingSize=gensub(/([0-9]+\.[0-9][0-9]).*/,"\\1",1,workingSize)
workingSize = workingSize unit
}
print aMemory[m,j,0] "," aMemory[m,j,1] "," workingSize "," aMemory[m,j,3] "," aMemory[m,j,4] "," aMemory[m,j,5] "," aMemory[m,j,6] "," aMemory[m,j,7] "," aMemory[m,j,8] "," aMemory[m,j,9] "," aMemory[m,j,10] "," aMemory[m,j,11] "," aMemory[m,j,12] "," aMemory[m,j,13] "," aMemory[m,j,14] "," aMemory[m,j,15] "," aMemory[m,j,16] "," aMemory[m,j,17]
}
else {
break

View file

@ -1,3 +1,21 @@
=====================================================================================
Version: 2.1.98
Patch Version: 00
Script Date: 2014-08-17
-----------------------------------
Changes:
-----------------------------------
New version, new tarball. Fixed bad assumption, DMI type 0 is not always before other
types, in at least one case, it is last, so can't use that as trigger to start loop.
Now using: Table at .. which is always at start of dmi output.
Also, changed size output per module to be in MB GB TB instead of all mB, since modules
are sold by GB or MB, the data should show that as well. Also shortens output.
-----------------------------------
-- Harald Hope - Sun, 17 Aug 2014 12:01:38 -0700
=====================================================================================
Version: 2.1.97
Patch Version: 00