ECE 449 Computer Systems Engineering Assignment 8

Your submission should follow our general guidelines. Please follow object-oriented principles.

  1. Write code to modify earlier circuit layout programs by adding a JMenuBar and JPopupMenu. There should be a file menu with New, Open ..., Save, Save As .., and Exit options. Include an edit menu with a Rotate option. Include a Help menu with an About option. Your popup menu should allow you to select either Resistor or Wire as the object to be instantiated on a left-mouse press. The popup should also contain a rotate option and a delete option (to delete the selected object). Clicking on an object should show the object selected (different color or other identification). This is the object to be rotated or deleted.
  2. Write code to generate the nodal equations for a general resistor netlist and solve for the nodal voltages. Assume a 1 mA current source between node 1 and 0. Show that you obtain the same voltages and effective resistance from a SPICE analysis. See the reference below.

    Demonstrate the calculation on the following net:

    R1 1 2 1k
    R2 1 3 2k
    R3 2 3 4k
    R4 1 0 8k
    R5 3 0 6k
    

    You should read a netlist from a file specified on the command line. If no command-line argument has been given, you should use a JFileChooser to query the user for the filename.

  3. Modify the robot motion game program by adding a controller that allows the user to change the velocity of the robot only by calling the setVelocity method. The goal is to steer the robot around the screen to the yellow target. Later we will make the robot environment more complicated.

Reference

James G. Gotting, Matrix Analysis of Circuits Using MATLAB
Prentice-Hall, 1994. ISBN 0-13-127044-3.