|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecthades.simulator.SimObject
hades.models.dcf77.Dcf77Clock
Dcf77Clock: A simple model of a DCF77 radio-controlled digital clock, written as a behavioral model for HADES.
In a nutshell, the DCF77 timecode --- as broadcast worldwide by the German normal-time sender on 77 KHz --- consists of 59 bits distributed each minute that specify the time and date for the following minute. A '1' bit is coded as a 200 msec. pause at the start of each 1 sec. interval of the 77 KHz signal, while a '0' bit is coded as a 100 msec. pause. At the 60th bit, no pause is used to signal the start of a minute at the next pause. For the details of the code, see the documentation (or study the source-code of this class).
The model uses a 'dynamic symbol' to display the current time, date and receiver status.
Field Summary | |
int |
S_0000
|
int |
S_000X
|
int |
S_0011
|
int |
S_001X
|
int |
S_00XX
|
int |
S_0XXX
|
int |
S_MINUTE
|
int |
S_UNKNOWN
|
int |
S_WAIT
|
Fields inherited from class hades.simulator.SimObject |
classloader, console, debug, editor, name, parent, ports, propertySheet, symbol, versionId, visible |
Constructor Summary | |
Dcf77Clock()
|
Method Summary | |
void |
configure()
create and display a 'ConfigDialog' to set the parameters for a SimObject. |
void |
constructDynamicSymbol()
|
void |
elaborate(java.lang.Object arg)
elaborate(): This method tries to register a wakeupEvent with the current parent's Simulator. |
void |
evaluate(java.lang.Object arg)
evaluate(): called by the simulation engine on all events that concern this object. |
java.lang.String |
getDateString()
|
int |
getDay()
|
int |
getDbglevel()
|
int |
getHours()
|
int |
getMinutes()
|
int |
getMonth()
|
int |
getSeconds()
|
java.lang.String |
getTimeString()
|
int |
getWeekday()
|
int |
getYear()
|
boolean |
needsDynamicSymbol()
|
void |
setDay(int i)
|
void |
setDay(java.lang.String s)
|
void |
setDbglevel(int i)
|
void |
setDbglevel(java.lang.String s)
|
void |
setHours(int i)
|
void |
setHours(java.lang.String s)
|
void |
setMinutes(int i)
|
void |
setMinutes(java.lang.String s)
|
void |
setMonth(int i)
|
void |
setMonth(java.lang.String s)
|
void |
setSeconds(int i)
|
void |
setSeconds(java.lang.String s)
|
void |
setWeekday(int i)
|
void |
setWeekday(java.lang.String s)
|
void |
setYear(int i)
|
void |
setYear(java.lang.String s)
|
java.lang.String |
toString()
generate a textual represenation of this DCF77 clock, including class name, full Hades instance name, and the DCF77 model time. |
void |
wakeup(java.lang.Object arg)
wakeup(): The central part of the DCF77-Clock model. |
Methods inherited from class hades.simulator.SimObject |
copy, getBindkey, getClassLoader, getDebug, getEditor, getExternalResources, getFullName, getName, getParent, getPort, getPorts, getPropertySheet, getResourceAsStream, getSimulator, getSymbol, getSymbolResourceName, getToolTip, getVersionId, initialize, isVisible, keyPressed, message, mousePressed, needsExternalResources, setClassLoader, setConsole, setDebug, setEditor, setName, setParent, setPorts, setSimulator, setSymbol, setVersionId, setVisible, tearDown, write |
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 |
public final int S_UNKNOWN
public final int S_0XXX
public final int S_00XX
public final int S_000X
public final int S_0000
public final int S_001X
public final int S_0011
public final int S_WAIT
public final int S_MINUTE
Constructor Detail |
public Dcf77Clock()
Method Detail |
public boolean needsDynamicSymbol()
needsDynamicSymbol
in class SimObject
public void constructDynamicSymbol()
constructDynamicSymbol
in class SimObject
public int getSeconds()
public int getMinutes()
public int getHours()
public int getDay()
public int getWeekday()
public int getMonth()
public int getYear()
public void setSeconds(int i)
public void setMinutes(int i)
public void setHours(int i)
public void setDay(int i)
public void setWeekday(int i)
public void setMonth(int i)
public void setYear(int i)
public void setSeconds(java.lang.String s)
public void setMinutes(java.lang.String s)
public void setHours(java.lang.String s)
public void setDay(java.lang.String s)
public void setWeekday(java.lang.String s)
public void setMonth(java.lang.String s)
public void setYear(java.lang.String s)
public int getDbglevel()
public void setDbglevel(int i)
public void setDbglevel(java.lang.String s)
public java.lang.String getTimeString()
public java.lang.String getDateString()
public void configure()
SimObject
configure
in class SimObject
public void wakeup(java.lang.Object arg)
In order to handle noisy input signals, much higher oversampling is required. You might try just to insert a low-pass filter between the antenna and the dcf_in Signal of this clock.
wakeup
in interface Wakeable
arg
- - unused argumentpublic void elaborate(java.lang.Object arg)
elaborate
in interface Simulatable
elaborate
in class SimObject
public void evaluate(java.lang.Object arg)
Simulatable
evaluate
in interface Simulatable
evaluate
in class SimObject
arg
- an arbitrary object argumentpublic java.lang.String toString()
toString
in class SimObject
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |