|
187 | 187 |
|
188 | 188 | Breadboard.prototype.clear = function() {
|
189 | 189 | for (k in this.components) {
|
190 |
| - k.destroy(); |
| 190 | + if(k.destroy) {k.destroy()}; |
191 | 191 | }
|
192 | 192 | }
|
193 | 193 |
|
|
253 | 253 | props.colors = arguments[2].split(",");
|
254 | 254 | //props.resistance = 100; // TEMPORARY FIGURE TO BE CLACULATED FROM COLORS SOON!!
|
255 | 255 | props.resistance = Resistor.getResistance(props.colors);
|
256 |
| - debug(props.resistance) |
257 | 256 | break;
|
258 | 257 | }
|
259 | 258 | var newComponent;
|
260 | 259 | newComponent = breadBoard.component(props);
|
261 | 260 | return newComponent.UID;
|
262 | 261 | },
|
263 | 262 | destroy: function(){
|
264 |
| - debug( breadBoard.component(arguments[0]).destroy() ); |
| 263 | + breadBoard.component(arguments[0]).destroy(); |
265 | 264 | },
|
266 | 265 | clear: function() {
|
267 | 266 | breadBoard.clear();
|
|
276 | 275 | // Power and MultiMeter settings will be assumed
|
277 | 276 |
|
278 | 277 | //debug( breadBoard.query( arguments[1].split(',') ) );
|
| 278 | + |
279 | 279 | breadBoard.component({
|
280 | 280 | UID: 'meter',
|
281 |
| - kind: 'vprobe', |
| 281 | + kind: {'current' : 'iprobe', 'voltage' : 'vprobe'}[arguments[0]], |
282 | 282 | connections: arguments[1].split(',')});
|
283 | 283 |
|
284 | 284 | breadBoard.component({
|
|
294 | 294 | connections: ["right_positive_1", "right_negative_1"]});
|
295 | 295 |
|
296 | 296 | var result;
|
| 297 | + debug(qucsate.makeNetlist(breadBoard)); |
297 | 298 | qucsate(qucsate.makeNetlist(breadBoard), function(r){ result = r.meter; } );
|
298 | 299 |
|
299 | 300 | breadBoard.component('meter').destroy();
|
|
349 | 350 | debug("Clear the board");
|
350 | 351 | breadModel('clear');
|
351 | 352 |
|
| 353 | + debug("Current from one power rail to another"); |
| 354 | + debug(breadModel('query', 'current', 'left_negative_1,left_positive_1', '200k')); |
| 355 | + |
352 | 356 | debug("Voltage in between two 100 ohm resistors");
|
353 | 357 | r1 = breadModel('insert', 'resistor', 'b1,b2', 'brown,black,brown,gold');
|
354 | 358 | r2 = breadModel('insert', 'resistor', 'c2,c3', 'brown,black,brown,gold');
|
|
360 | 364 | r3 = breadModel('insert', 'resistor', 'b3,b4', 'brown,black,brown,gold');
|
361 | 365 | breadModel('move', w2, 'left_positive_4,a4');
|
362 | 366 | 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 | + |
363 | 370 |
|
364 | 371 | debug("Change it to parallel");
|
365 | 372 | breadModel('move', r3, 'd2,d3');
|
366 | 373 | breadModel('move', w2, 'left_positive_3,a3');
|
367 | 374 | debug(breadModel('query', 'voltage', 'b2,left_negative_1', '200k'));
|
368 | 375 |
|
| 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 | + |
369 | 389 |
|
370 | 390 | });
|
371 | 391 | </script>
|
|
0 commit comments