JuliaControl / ControlSystems.jl

A Control Systems Toolbox for Julia
https://juliacontrol.github.io/ControlSystems.jl/stable/
Other
503 stars 85 forks source link

`append` on `DelayLtiSystem` does not works #879

Closed franckgaga closed 9 months ago

franckgaga commented 9 months ago

Hi,

Here is a minor bug report. If I do:

append(tf(1, [10, 1])*delay(3),tf(2, [12, 1])*delay(5))

it results in:

ERROR: type DelayLtiSystem has no field A
Stacktrace:
 [1] getproperty(sys::DelayLtiSystem{Float64, Float64}, s::Symbol)
   @ ControlSystemsBase ~/.julia/packages/ControlSystemsBase/CUXI9/src/types/Lti.jl:70
 [2] (::ControlSystemsBase.var"#116#126")(s::DelayLtiSystem{Float64, Float64})
   @ ControlSystemsBase ./none:0
 [3] iterate(::Base.Generator{Tuple{DelayLtiSystem{Float64, Float64}, DelayLtiSystem{Float64, Float64}}, ControlSystemsBase.var"#116#126"})
   @ Base ./generator.jl:47
 [4] blockdiag(anything::Base.Generator{Tuple{DelayLtiSystem{Float64, Float64}, DelayLtiSystem{Float64, Float64}}, ControlSystemsBase.var"#116#126"})
   @ ControlSystemsBase ~/.julia/packages/ControlSystemsBase/CUXI9/src/connections.jl:209
 [5] append(::DelayLtiSystem{Float64, Float64}, ::DelayLtiSystem{Float64, Float64})
   @ ControlSystemsBase ~/.julia/packages/ControlSystemsBase/CUXI9/src/types/LFTSystem.jl:117
 [6] top-level scope
   @ REPL[52]:1

but this works as intended:

[tf(0) tf(1, [10, 1])*delay(3); tf(0) tf(2, [12, 1])*delay(5)]

Thanks !

Francis

franckgaga commented 9 months ago

Thanks Fredrik!

baggepinnen commented 9 months ago

Thanks for the report 😊