ECE 538 Assignment 7

Your submission should follow our general guidelines. Please follow object-oriented principles. Provide executable jar files for all java programs. Ideally you should be using MenuBar as a regular program feature.

Exercises 1 – 4 could be combined into a single program. Let me know explicitly if you choose this option.

  1. Modify your circuit layout Java program from earlier assignments. Add a MenuBar with File, Edit, and Help menus. The Help menu should contain and About item that displays a information dialog pane describing the program, its author, and date of current version. The File menu should contain an Open item that uses FileChooser to open and read a netlist file. You should be able to add and delete resistors select, move, rotate, or edit components. Include a context-sensitive menu to perform some of these actions. Illustrate the gray-out feature for un-implemented menu items (on the Edit menu, for example).
  2. Extend the circuit layout program to include wires connecting resistors. Extend the netlist file to include WIRE x1 y1 x2 y2 x3 y3 ... (path elements). Use growPath from the previous assignment.
  3. Extend your circuit analysis program to handle multiple current sources, such as the example below, and calculate the node voltages. The LTSpice version of this circuit can be downloaded from test5.zip Your program should use FileChooser to select a netlist file.
    R1 1 2 100
    R2 3 4 400
    R3 2 0 500
    R4 4 0 200
    I1 0 1 0.1
    I2 2 3 0.02
    

  4. Combine circuit layout and circuit analysis programs. You may use one of the following techniques.
    1. Use a View menu to select between graphical layout display or circuit analysis display.
    2. Use a tabbed pane with graphical layout and circuit analysis tabs.
  5. Modify Convolve3 to calculate and display a laplacian filtered image. An example Lapacian filter is shown below:
      -1    6   -1
       6  -20    6
      -1    6   -1
    

    Notes:

    1. you should modify the output range for bipolar images.
    2. You should choose an appropriate scaling value.
    3. Here are some simple test images (also in img7.zip):

       

  6. Modify the robot motion test2 program by adding a controller that allows the user to change the velocity of the robot only by calling the setVelocity method. The controller should open in a separate JFrame. The goal is to steer the robot around the screen. Provide instructions, if necessary, to explain how to operate the controller.

Reference

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


Maintained by John Loomis, last updated 13 July 2016