|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecthades.simulator.SimObject
hades.models.special.SerialTerminal
SerialTerminal - a text-terminal (VT-100 style) with two-wire RX/TX serial RS-232 I/O. Output and input go to a separate Swing JFrame window.
Nested Class Summary | |
class |
SerialTerminal.JConfigDialog
|
Field Summary | |
protected int |
baud_rate
|
protected double |
bit_time
|
(package private) javax.swing.JPanel |
buttonPanel
|
(package private) javax.swing.JButton |
clearButton
|
(package private) javax.swing.JButton |
closeButton
|
(package private) javax.swing.JButton |
configButton
|
(package private) SerialTerminal.JConfigDialog |
configDialog
|
protected boolean |
enable_log
|
(package private) javax.swing.JCheckBox |
enableLogCB
|
int |
EVEN_PARITY
|
protected double |
lastSendTime
|
protected int |
n_databits
|
protected int |
n_rx_bits
|
protected int |
n_stopbits
|
int |
NO_PARITY
|
int |
ODD_PARITY
|
protected int |
parity_mode
|
protected PortStdLogic1164 |
port_RX
|
protected PortStdLogic1164 |
port_TX
|
(package private) javax.swing.JLabel |
receiveHexTF
|
(package private) javax.swing.JLabel |
receiveTF
|
protected boolean[] |
rx_samples
|
protected int |
rx_state
|
protected boolean |
rx_waiting
|
(package private) java.awt.Image |
theIcon
|
(package private) javax.swing.JFrame |
topFrame
|
(package private) javax.swing.JLabel |
transmitHexTF
|
(package private) javax.swing.JLabel |
transmitTF
|
protected StdLogic1164 |
value_0
|
protected StdLogic1164 |
value_1
|
protected StdLogic1164 |
value_X
|
(package private) VT52Canvas |
vt52Canvas
|
Fields inherited from class hades.simulator.SimObject |
classloader, console, debug, editor, name, parent, ports, propertySheet, simulator, symbol, versionId, visible |
Constructor Summary | |
SerialTerminal()
SerialTerminal(): simple constructor |
Method Summary | |
(package private) void |
buildButtonPanel()
|
(package private) void |
buildGUI()
|
(package private) void |
buildGUICallbacks()
|
void |
changeName()
|
void |
configure()
create and display a 'ConfigDialog' to set the parameters for a SimObject. |
SimObject |
copy()
copy(): create a clone of the current SerialTerminal, including its color |
(package private) void |
decode(boolean[] receivedBits)
|
void |
elaborate(java.lang.Object arg)
elaborate(): Set the TX line to '1' (idle) |
void |
evaluate(java.lang.Object arg)
evaluate(): react to events on the RX input. |
java.lang.String |
getCommString()
|
boolean[] |
getDataBits(char c,
int n_databits)
|
boolean |
getParityBit(boolean[] databits,
boolean even_parity)
|
java.awt.Component |
getPropertySheet()
return a reference to the 'property sheet' or configuration window for this SimObject. |
java.lang.String |
getToolTip(java.awt.Point position,
long millis)
construct a (short) tool tip message for a SimObject. |
boolean |
initialize(java.lang.String s)
initialize a SimObject from a String. |
static void |
main(java.lang.String[] argv)
main(): simple selftest of the SerialTerminal's GUI |
void |
mousePressed(java.awt.event.MouseEvent me)
react to a MouseEvent. |
(package private) void |
scheduleInteractive(Signal signal,
Port port,
double time,
StdLogic1164 value)
|
void |
setCommunication(int baud_rate,
int data_bits,
int stop_bits,
int parity_mode)
|
void |
setName(java.lang.String name)
set the name of this SimObject. |
void |
setSymbol(Symbol s)
|
(package private) void |
startReceive()
|
java.lang.String |
toString()
toString() - the usual info method |
void |
transmitOneCharacter(char c)
transmitOneCharacter generates all simulation events to propagate the RS232 bit pattern corresponding to char 'c' on the signal connected to port_TX (if any). |
void |
wakeup(java.lang.Object arg)
called as a reaction to our wakeup-events once a start bit has been detected. |
void |
write(java.io.PrintWriter ps)
|
Methods inherited from class hades.simulator.SimObject |
constructDynamicSymbol, getBindkey, getClassLoader, getDebug, getEditor, getExternalResources, getFullName, getName, getParent, getPort, getPorts, getResourceAsStream, getSimulator, getSymbol, getSymbolResourceName, getVersionId, isVisible, keyPressed, message, needsDynamicSymbol, needsExternalResources, setClassLoader, setConsole, setDebug, setEditor, setParent, setPorts, setSimulator, setVersionId, setVisible, tearDown |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface hades.simulator.Simulatable |
message |
Field Detail |
protected PortStdLogic1164 port_RX
protected PortStdLogic1164 port_TX
protected StdLogic1164 value_0
protected StdLogic1164 value_1
protected StdLogic1164 value_X
public final int NO_PARITY
public final int ODD_PARITY
public final int EVEN_PARITY
protected int baud_rate
protected int n_databits
protected int n_stopbits
protected int parity_mode
protected double bit_time
protected int n_rx_bits
protected int rx_state
protected boolean rx_waiting
protected boolean[] rx_samples
protected double lastSendTime
protected boolean enable_log
javax.swing.JFrame topFrame
javax.swing.JPanel buttonPanel
javax.swing.JButton clearButton
javax.swing.JButton closeButton
javax.swing.JButton configButton
VT52Canvas vt52Canvas
javax.swing.JLabel receiveTF
javax.swing.JLabel receiveHexTF
javax.swing.JLabel transmitTF
javax.swing.JLabel transmitHexTF
javax.swing.JCheckBox enableLogCB
SerialTerminal.JConfigDialog configDialog
java.awt.Image theIcon
Constructor Detail |
public SerialTerminal()
Method Detail |
public void setSymbol(Symbol s)
setSymbol
in class SimObject
public void setName(java.lang.String name)
SimObject
To avoid consistency problems, when the user changes a SimObject's name interactively, we also try to enforce a unique name.
setName
in class SimObject
void buildButtonPanel()
void buildGUI()
void buildGUICallbacks()
public void setCommunication(int baud_rate, int data_bits, int stop_bits, int parity_mode)
public void changeName()
public void write(java.io.PrintWriter ps)
write
in class SimObject
public boolean initialize(java.lang.String s)
SimObject
initialize
in class SimObject
public java.awt.Component getPropertySheet()
SimObject
getPropertySheet
in class SimObject
public void configure()
SimObject
configure
in class SimObject
public void mousePressed(java.awt.event.MouseEvent me)
SimObject
Note that the HADES schematic editor will also deliver jfig.canvas.FigCanvasEvent object, which also include the world-coordinates of the Event.
mousePressed
in class SimObject
public void elaborate(java.lang.Object arg)
elaborate
in interface Simulatable
elaborate
in class SimObject
arg
- This parameter is ignored by SerialTerminalpublic void evaluate(java.lang.Object arg)
evaluate
in interface Simulatable
evaluate
in class SimObject
arg
- An arbitrary and unused objectpublic void wakeup(java.lang.Object arg)
wakeup
in interface Wakeable
arg
- An arbitrary and unused objectvoid startReceive()
void decode(boolean[] receivedBits)
public void transmitOneCharacter(char c)
Because this method is called in reaction to an (asynchronous) user input event, we have to use the scheduleInteractiveEvent() calls to keep the simulator data structures consistent.
void scheduleInteractive(Signal signal, Port port, double time, StdLogic1164 value)
public boolean[] getDataBits(char c, int n_databits)
public boolean getParityBit(boolean[] databits, boolean even_parity)
public SimObject copy()
copy
in class SimObject
public java.lang.String getToolTip(java.awt.Point position, long millis)
SimObject
getToolTip
in interface ContextToolTip
getToolTip
in class SimObject
public java.lang.String getCommString()
public java.lang.String toString()
toString
in class SimObject
public static void main(java.lang.String[] argv)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |