From 9b59712d4ad53f23a1903ebcb687ca0607570e2f Mon Sep 17 00:00:00 2001
From: baggepinnen <cont-frb@ulund.org>
Date: Fri, 7 Dec 2018 16:54:59 +0100
Subject: [PATCH] Updates to julia1

---
 src/LabProcesses.jl                          | 2 +-
 src/controllers.jl                           | 8 ++++----
 src/interface_implementations/ballandbeam.jl | 6 +++---
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/LabProcesses.jl b/src/LabProcesses.jl
index bc3b32b..b2f1a68 100644
--- a/src/LabProcesses.jl
+++ b/src/LabProcesses.jl
@@ -9,7 +9,7 @@ end
 
 module LabProcesses
 
-using ControlSystems, LabConnections.Computer, Parameters, DSP
+using ControlSystems, LabConnections.Computer, Parameters, DSP, LinearAlgebra
 
 include("utilities.jl")
 
diff --git a/src/controllers.jl b/src/controllers.jl
index a6d21b1..55eb8c4 100644
--- a/src/controllers.jl
+++ b/src/controllers.jl
@@ -27,16 +27,16 @@ function run_control_2DOF(P::AbstractProcess,sysFB, sysFF=nothing; duration = 10
 		rf = sysFF == nothing ? r[:,i] : Gff(r[:,i])
 		e  = rf-y[:,i]
 		ui = Gfb(e)
-		ui + bias(P)
+		ui .+ bias(P)
 	end
 
 	simulation = isa(P, SimulatedProcess)
 	initialize(P)
 	for (i,t) = enumerate(0:h:duration)
 		@periodically h simulation begin
-			y[:,i]     = measure(P)
-			r[:,i]     = reference(t)
-			u[:,i]     = calc_control(i) # y,r must be updated before u
+			y[:,i]    .= measure(P)
+			r[:,i]    .= reference(t)
+			u[:,i]    .= calc_control(i) # y,r must be updated before u
 			control(P, [clamp.(u[j,i], inputrange(P)[j]...) for j=1:nu])
 		end
 	end
diff --git a/src/interface_implementations/ballandbeam.jl b/src/interface_implementations/ballandbeam.jl
index 9ae3da6..a9e04e2 100644
--- a/src/interface_implementations/ballandbeam.jl
+++ b/src/interface_implementations/ballandbeam.jl
@@ -48,7 +48,7 @@ const beam_system, nice_beam_controller = define_beam_system()
 struct BeamSimulator <: SimulatedProcess
     h::Float64
     s::SysFilter
-    BeamSimulator(;h::Real = 0.01) = new(Float64(h), SysFilter(beam_system, h))
+    BeamSimulator(;h::Real = 0.01, bias=0) = new(Float64(h), SysFilter(beam_system, h))
 end
 
 struct BallAndBeam <: PhysicalProcess
@@ -96,7 +96,7 @@ bias(p::BallAndBeamSimulator)            = 0
 
 function control(p::AbstractBeamOrBallAndBeam, u::AbstractArray)
     length(u) == 1 || error("Process $(typeof(p)) only accepts one control signal, tried to send u=$u.")
-    send(p.control,u[1])
+    control(p,u[1])
 end
 control(p::AbstractBeamOrBallAndBeam, u::Number) = send(p.control,u)
 control(p::BeamSimulator, u::Number)             = p.s(u)
@@ -104,7 +104,7 @@ control(p::BallAndBeamSimulator, u::Number)      = error("Not yet implemented")
 
 measure(p::Beam)                         = read(p.measure)
 measure(p::BallAndBeam)                  = [read(p.measure1), read(p.measure2)]
-measure(p::BeamSimulator)                = vecdot(p.s.sys.C,p.s.state)
+measure(p::BeamSimulator)                = dot(p.s.sys.C,p.s.state)
 measure(p::BallAndBeamSimulator)         = error("Not yet implemented")
 
 
-- 
GitLab