Index: util/pcblib-param.cgi =================================================================== --- util/pcblib-param.cgi (revision 436) +++ util/pcblib-param.cgi (revision 437) @@ -37,10 +37,53 @@ sub(".*@@param:", "", $0) p=$1 sub(p "[\t ]*", "", $0) - PARAM[prm] = "" p "" $0 + PARAM[prm] = p + PDESC[prm] = $0 prm++ + next } +# build PPROP[paramname,propname], e.g. PPROP[pin_mask, dim]=1 +/@@optional:/ || /@@dim:/ { + key = $0 + sub("^.*@@", "", key) + val = key + sub(":.*", "", key) + sub("^[^:]*:", "", val) + PPROP[val,key] = 1 + next +} + +# build PDATA[paramname,propname], e.g. PDATA[pin_mask, default]=123 +/@@default:/ { + key = $1 + sub("^" key "[ \t]*", "", $0) + sub("^.*@@", "", key) + val = key + sub(":.*", "", key) + sub("^[^:]*:", "", val) + PDATA[val,key] = $0 + next +} + +# build: +# PDATAK[paramname,n]=key (name of the value) +# PDATAV[paramname,n]=description (of the given value) +# PDATAN[paramname]=n number of parameter values +/@@enum:/ { + key = $1 + sub("^" key "[ \t]*", "", $0) + sub("^.*@@enum:", "", key) + val = key + sub(":.*", "", key) + sub("^[^:]*:", "", val) + idx = int(PDATAN[key]) + PDATAK[key,idx] = val + PDATAV[key,idx] = $0 + PDATAN[key]++ + next +} + END { if (header) { print "" HELP["@@purpose"] "" @@ -57,8 +100,37 @@ if (content) { print "" - for(p = 0; p < prm; p++) - print PARAM[p] + print "
name man
dat
ory
description value (bold: default)" + for(p = 0; p < prm; p++) { + name=PARAM[p] + print "
" name + if (PPROP[name, "optional"]) + print "  " + else + print " yes" + print "" PDESC[p] + print "" + if (PDATAN[name] > 0) { + print "" + for(v = 0; v < PDATAN[name]; v++) { + print "
" + isdef = (PDATA[name, "default"] == PDATAK[name, v]) + if (isdef) + print "" + print PDATAK[name, v] + if (isdef) + print "" + + print "" PDATAV[name, v] + } + print "
" + } + if (PPROP[name, "dim"]) { + print "Dimension: a number with an optional unit (mm or mil, default is mil)" + if (PDATA[name, "default"] != "") + print "
Default: " PDATA[name, "default"] "" + } + } print "
" } @@ -170,8 +242,8 @@ for n in $qs do - exp="QS_$n" - export $exp + exp="QS_$n" + export $exp done export QS_cmd=`echo "$QS_cmd" | /home/igor2/C/libporty/trunk/src/porty/c99tree/url.sh`