Skip to content

Commit 0e38eab

Browse files
author
Sam
committed
more tests
1 parent b00961b commit 0e38eab

File tree

2 files changed

+30
-4
lines changed

2 files changed

+30
-4
lines changed

index.html

+24-4
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@
187187

188188
Breadboard.prototype.clear = function() {
189189
for (k in this.components) {
190-
k.destroy();
190+
if(k.destroy) {k.destroy()};
191191
}
192192
}
193193

@@ -253,15 +253,14 @@
253253
props.colors = arguments[2].split(",");
254254
//props.resistance = 100; // TEMPORARY FIGURE TO BE CLACULATED FROM COLORS SOON!!
255255
props.resistance = Resistor.getResistance(props.colors);
256-
debug(props.resistance)
257256
break;
258257
}
259258
var newComponent;
260259
newComponent = breadBoard.component(props);
261260
return newComponent.UID;
262261
},
263262
destroy: function(){
264-
debug( breadBoard.component(arguments[0]).destroy() );
263+
breadBoard.component(arguments[0]).destroy();
265264
},
266265
clear: function() {
267266
breadBoard.clear();
@@ -276,9 +275,10 @@
276275
// Power and MultiMeter settings will be assumed
277276

278277
//debug( breadBoard.query( arguments[1].split(',') ) );
278+
279279
breadBoard.component({
280280
UID: 'meter',
281-
kind: 'vprobe',
281+
kind: {'current' : 'iprobe', 'voltage' : 'vprobe'}[arguments[0]],
282282
connections: arguments[1].split(',')});
283283

284284
breadBoard.component({
@@ -294,6 +294,7 @@
294294
connections: ["right_positive_1", "right_negative_1"]});
295295

296296
var result;
297+
debug(qucsate.makeNetlist(breadBoard));
297298
qucsate(qucsate.makeNetlist(breadBoard), function(r){ result = r.meter; } );
298299

299300
breadBoard.component('meter').destroy();
@@ -349,6 +350,9 @@
349350
debug("Clear the board");
350351
breadModel('clear');
351352

353+
debug("Current from one power rail to another");
354+
debug(breadModel('query', 'current', 'left_negative_1,left_positive_1', '200k'));
355+
352356
debug("Voltage in between two 100 ohm resistors");
353357
r1 = breadModel('insert', 'resistor', 'b1,b2', 'brown,black,brown,gold');
354358
r2 = breadModel('insert', 'resistor', 'c2,c3', 'brown,black,brown,gold');
@@ -360,12 +364,28 @@
360364
r3 = breadModel('insert', 'resistor', 'b3,b4', 'brown,black,brown,gold');
361365
breadModel('move', w2, 'left_positive_4,a4');
362366
debug(breadModel('query', 'voltage', 'b2,left_negative_1', '200k'));
367+
debug("Query the current");
368+
debug(breadModel('query', 'current', 'b2,left_negative_1', '200k'));
369+
363370

364371
debug("Change it to parallel");
365372
breadModel('move', r3, 'd2,d3');
366373
breadModel('move', w2, 'left_positive_3,a3');
367374
debug(breadModel('query', 'voltage', 'b2,left_negative_1', '200k'));
368375

376+
var i,v;
377+
debug("find the resistance of a brown green brown resistor");
378+
debug("insert the resistor");
379+
rx = breadModel('insert', 'resistor', 'b5,b6', 'brown,green,brown,gold');
380+
debug("connect one end of it to positive");
381+
wx = breadModel('insert', 'wire', 'left_positive_5,a5');
382+
debug("voltage between the other end of the resistor and negative");
383+
debug(i = breadModel('query', 'current', 'a6,left_negative_6', '200k'));
384+
debug("voltage for the same");
385+
debug(v = breadModel('query', 'voltage', 'a6,left_negative_6', '200k'));
386+
debug("divide to get r");
387+
debug(v/i)
388+
369389

370390
});
371391
</script>

qucsator.js

+6
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ qucsate.makeNetlist = function(board) {
8282
line = 'VProbe:' + component.UID + ' ';
8383
line = line + nodes.join(' ');
8484
break;
85+
case "iprobe":
86+
if (!(nodes.length == 2 && component.UID)) { return; }
87+
line = 'IProbe:' + component.UID + ' ';
88+
line = line + nodes.join(' ');
89+
break;
90+
8591
}
8692

8793
netlist = netlist + "\n" + line;

0 commit comments

Comments
 (0)