Skip to content

Commit 9487c0f

Browse files
committed
don't update discrete states until the clock has ticked
1 parent 6a082a1 commit 9487c0f

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/systems/clock_inference.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,15 +212,14 @@ function generate_discrete_affect(syss, inputs, continuous_id, id_to_clock;
212212
d2c_view = view(p, $disc_to_cont_idxs)
213213
disc_state = view(p, $disc_range)
214214
disc = $disc
215+
# Update discrete states
216+
$empty_disc || disc(disc_state, disc_state, p, t)
215217
# Write continuous into to discrete: handles `Sample`
216218
copyto!(c2d_view, c2d_obs(integrator.u, p, t))
217219
# Write discrete into to continuous
218-
# get old discrete states
219220
copyto!(d2c_view, d2c_obs(disc_state, p, t))
220221
push!(saved_values.t, t)
221222
push!(saved_values.saveval, $save_vec)
222-
# update discrete states
223-
$empty_disc || disc(disc_state, disc_state, p, t)
224223
end)
225224
sv = SavedValues(Float64, Vector{Float64})
226225
push!(affect_funs, affect!)

0 commit comments

Comments
 (0)