Commit de3a2634 by cjt

updated versions of schematic tool

parent b8210482
...@@ -906,7 +906,6 @@ cktsim = (function() { ...@@ -906,7 +906,6 @@ cktsim = (function() {
// scale factors (eg, 1k = 1000.0 = 1e3). // scale factors (eg, 1k = 1000.0 = 1e3).
// return default if argument couldn't be interpreted as a number // return default if argument couldn't be interpreted as a number
function parse_number(s,default_v) { function parse_number(s,default_v) {
s = s.toLowerCase(); // make life simple for ourselves
var slen = s.length; var slen = s.length;
var multiplier = 1; var multiplier = 1;
var result = 0; var result = 0;
...@@ -929,18 +928,20 @@ cktsim = (function() { ...@@ -929,18 +928,20 @@ cktsim = (function() {
else if (s.charAt(index) == '0') { else if (s.charAt(index) == '0') {
index += 1; index += 1;
if (index >= slen) return 0; if (index >= slen) return 0;
if (s.charAt(index) == 'x') { // hex if (s.charAt(index) == 'x' || s.charAt(index) == 'X') { // hex
while (true) { while (true) {
index += 1; index += 1;
if (index >= slen) break; if (index >= slen) break;
if (s.charAt(index) >= '0' && s.charAt(index) <= '9') if (s.charAt(index) >= '0' && s.charAt(index) <= '9')
result = result*16 + ord(s.charAt(index)) - ord('0'); result = result*16 + ord(s.charAt(index)) - ord('0');
else if (s.charAt(index) >= 'A' && s.charAt(index) <= 'F')
result = result*16 + ord(s.charAt(index)) - ord('A') + 10;
else if (s.charAt(index) >= 'a' && s.charAt(index) <= 'f') else if (s.charAt(index) >= 'a' && s.charAt(index) <= 'f')
result = result*16 + ord(s.charAt(index)) - ord('a') + 10; result = result*16 + ord(s.charAt(index)) - ord('a') + 10;
else break; else break;
} }
return result*multiplier; return result*multiplier;
} else if (s.charAt(index) == 'b') { // binary } else if (s.charAt(index) == 'b' || s.charAt(index) == 'B') { // binary
while (true) { while (true) {
index += 1; index += 1;
if (index >= slen) break; if (index >= slen) break;
...@@ -997,7 +998,7 @@ cktsim = (function() { ...@@ -997,7 +998,7 @@ cktsim = (function() {
if (index < slen) { if (index < slen) {
var scale = s.charAt(index); var scale = s.charAt(index);
index += 1; index += 1;
if (scale == 'e') { if (scale == 'e' || scale == 'E') {
var exponent = 0; var exponent = 0;
multiplier = 10.0; multiplier = 10.0;
if (index < slen) { if (index < slen) {
...@@ -1017,21 +1018,15 @@ cktsim = (function() { ...@@ -1017,21 +1018,15 @@ cktsim = (function() {
exponent -= 1; exponent -= 1;
result *= multiplier; result *= multiplier;
} }
} else if (scale == 't') result *= 1e12; } else if (scale == 't' || scale == 'T') result *= 1e12;
else if (scale == 'g') result *= 1e9; else if (scale == 'g' || scale == 'G') result *= 1e9;
else if (scale == 'k') result *= 1e3; else if (scale == 'M') result *= 1e6;
else if (scale == 'u') result *= 1e-6; else if (scale == 'k' || scale == 'K') result *= 1e3;
else if (scale == 'n') result *= 1e-9; else if (scale == 'm') result *= 1e-3;
else if (scale == 'p') result *= 1e-12; else if (scale == 'u' || scale == 'U') result *= 1e-6;
else if (scale == 'f') result *= 1e-15; else if (scale == 'n' || scale == 'N') result *= 1e-9;
else if (scale == 'm') { else if (scale == 'p' || scale == 'P') result *= 1e-12;
if (index+1 < slen) { else if (scale == 'f' || scale == 'F') result *= 1e-15;
if (s.charAt(index) == 'e' && s.charAt(index+1) == 'g')
result *= 1e6;
else if (s.charAt(index) == 'i' && s.charAt(index+1) == 'l')
result *= 25.4e-6;
} else result *= 1e-3;
}
} }
// ignore any remaining chars, eg, 1kohms returns 1000 // ignore any remaining chars, eg, 1kohms returns 1000
return result; return result;
......
...@@ -1714,7 +1714,7 @@ schematic = (function() { ...@@ -1714,7 +1714,7 @@ schematic = (function() {
case -1: return mstring+"m"; case -1: return mstring+"m";
case 0: return mstring; case 0: return mstring;
case 1: return mstring+"K"; case 1: return mstring+"K";
case 2: return mstring+"Meg"; case 2: return mstring+"M";
case 3: return mstring+"G"; case 3: return mstring+"G";
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment