@@ -47,25 +47,29 @@ discrete-time systems that assume a fixed sample time, such as PID controllers a
47
47
filters.
48
48
""" SolverStepClock
49
49
50
- isclock (c:: TimeDomain ) = @match c begin
50
+ isclock (c:: Clocks.Type ) = @match c begin
51
51
PeriodicClock () => true
52
52
_ => false
53
53
end
54
+ isclock (:: TimeDomain ) = false
54
55
55
- issolverstepclock (c:: TimeDomain ) = @match c begin
56
+ issolverstepclock (c:: Clocks.Type ) = @match c begin
56
57
SolverStepClock () => true
57
58
_ => false
58
59
end
60
+ issolverstepclock (:: TimeDomain ) = false
59
61
60
- iscontinuous (c:: TimeDomain ) = @match c begin
62
+ iscontinuous (c:: Clocks.Type ) = @match c begin
61
63
ContinuousClock () => true
62
64
_ => false
63
65
end
66
+ iscontinuous (:: TimeDomain ) = false
64
67
65
- iseventclock (c:: TimeDomain ) = @match c begin
68
+ iseventclock (c:: Clocks.Type ) = @match c begin
66
69
EventClock () => true
67
70
_ => false
68
71
end
72
+ iseventclock (:: TimeDomain ) = false
69
73
70
74
is_discrete_time_domain (c:: TimeDomain ) = ! iscontinuous (c)
71
75
@@ -77,7 +81,7 @@ iseventclock(::Any) = false
77
81
is_discrete_time_domain (:: Any ) = false
78
82
79
83
# public
80
- function first_clock_tick_time (c, t0)
84
+ function first_clock_tick_time (c:: Clocks.Type , t0)
81
85
@match c begin
82
86
PeriodicClock (dt) => ceil (t0 / dt) * dt
83
87
SolverStepClock () => t0
@@ -87,6 +91,10 @@ function first_clock_tick_time(c, t0)
87
91
end
88
92
end
89
93
94
+ function first_clock_tick_time (c:: TimeDomain , _)
95
+ error (" Unimplemented for clock $c " )
96
+ end
97
+
90
98
# public
91
99
"""
92
100
$(TYPEDEF)
0 commit comments