Package: inet.clock.model
MultiClock
compound moduleThis module contains several subclocks and also implements the clock module interface itself. It exposes the currently active clock to its users. The active clock can be changed programmatically. This module is primarily useful for multi domain gPTP time synchronization.
See also: MultiDomainGptp
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
numClocks | int |
number of subclocks |
|
activeClockIndex | int | 0 |
the currently active subclock |
Properties
Name | Value | Description |
---|---|---|
display | i=block/timer | |
class | MultiClock |
Signals
Name | Type | Unit |
---|---|---|
timeChanged | simtime_t |
Statistics
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
timeChanged | Clock time | localSignal(timeChanged) | vector | linear |
Source code
// // This module contains several subclocks and also implements the clock module // interface itself. It exposes the currently active clock to its users. The // active clock can be changed programmatically. This module is primarily useful // for multi domain gPTP time synchronization. // // @see ~MultiDomainGptp // module MultiClock like IClock { parameters: int numClocks; // number of subclocks int activeClockIndex @mutable = default(0); // the currently active subclock @display("i=block/timer"); @class(MultiClock); @signal[timeChanged](type=simtime_t); @statistic[timeChanged](title="Clock time"; source=localSignal(timeChanged); record=vector; interpolationmode=linear); submodules: clock[numClocks]: <default("SettableClock")> like IClock { @display("p=200,200,row,200"); } }File: src/inet/clock/model/MultiClock.ned