diff --git a/Manifest.toml b/Manifest.toml index 3321ccac32753d1868f66052fd9172fca897cc32..6b0f60375fd8dbc30529b140f6eba01b4eca6ce6 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -6,36 +6,6 @@ git-tree-sha1 = "7129d58ed99d42032cefe21bcd14171a878143d2" uuid = "7b86fcea-f67b-53e1-809c-8f1719c154e8" version = "2.34.1+2" -[[AbstractFFTs]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "051c95d6836228d120f5f4b984dd5aba1624f716" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "0.5.0" - -[[AbstractTrees]] -deps = ["Markdown"] -git-tree-sha1 = "86d092c2599f1f7bb01668bf8eb3412f98d61e47" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.3.2" - -[[Adapt]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "c88cfc7f9c1f9f8633cddf0b56e86302b70f64c5" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "1.0.1" - -[[ArnoldiMethod]] -deps = ["DelimitedFiles", "LinearAlgebra", "Random", "SparseArrays", "StaticArrays", "Test"] -git-tree-sha1 = "2b6845cea546604fb4dca4e31414a6a59d39ddcd" -uuid = "ec485272-7323-5ecc-a04f-4719b315124d" -version = "0.0.4" - -[[ArrayInterface]] -deps = ["LinearAlgebra", "Requires", "SparseArrays"] -git-tree-sha1 = "8683deff18ed6cd123e2b4d4147d2dc21f19391b" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "2.6.1" - [[AssetRegistry]] deps = ["Distributed", "JSON", "Pidfile", "SHA", "Test"] git-tree-sha1 = "b25e88db7944f98789130d7b503276bc34bc098e" @@ -45,18 +15,6 @@ version = "0.1.0" [[Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" -[[BinDeps]] -deps = ["Libdl", "Pkg", "SHA", "URIParser", "Unicode"] -git-tree-sha1 = "66158ad56b4bf6cc8413b37d0b7bc52402682764" -uuid = "9e28174c-4ba2-5203-b857-d8d62c4213ee" -version = "1.0.0" - -[[Blink]] -deps = ["Base64", "BinDeps", "Distributed", "JSExpr", "JSON", "Lazy", "Logging", "MacroTools", "Mustache", "Mux", "Reexport", "Sockets", "WebIO", "WebSockets"] -git-tree-sha1 = "0572de26fd4e4ffe041af0dd8800c3c4613a1300" -uuid = "ad839575-38b3-5650-b840-f874b8c74a25" -version = "0.12.2" - [[Bzip2_jll]] deps = ["Libdl", "Pkg"] git-tree-sha1 = "92463331a641b19fc3baa427e0b76cdbd54dc05d" @@ -81,12 +39,6 @@ git-tree-sha1 = "a414ebdc4bd60b0fda62797f47c7409670c4ad1c" uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" version = "1.16.0+2" -[[ChainRulesCore]] -deps = ["MuladdMacro"] -git-tree-sha1 = "840cdd255e267a4dfcb14cecd872facb2997a326" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "0.7.1" - [[ColorTypes]] deps = ["FixedPointNumbers", "Random"] git-tree-sha1 = "b9de8dc6106e09c79f3f776c27c62360d30e5eb8" @@ -99,48 +51,18 @@ git-tree-sha1 = "177d8b959d3c103a6d57574c38ee79c81059c31b" uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.11.2" -[[CommonSubexpressions]] -deps = ["Test"] -git-tree-sha1 = "efdaf19ab11c7889334ca247ff4c9f7c322817b0" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.2.0" - [[Compat]] deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] git-tree-sha1 = "ed2c4abadf84c53d9e58510b5fc48912c2336fbb" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" version = "2.2.0" -[[CompilerSupportLibraries_jll]] -deps = ["Libdl", "Pkg"] -git-tree-sha1 = "aa832564f930a7fc9290972526908d01a35aefac" -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "0.3.0+0" - -[[ConsoleProgressMonitor]] -deps = ["Logging", "ProgressMeter"] -git-tree-sha1 = "3ab7b2136722890b9af903859afcf457fa3059e8" -uuid = "88cd18e8-d9cc-4ea6-8889-5259c0d15c8b" -version = "0.1.2" - [[Contour]] deps = ["StaticArrays"] git-tree-sha1 = "6d56f927b33d3820561b8f89d7de311718683846" uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" version = "0.5.2" -[[ControlSystems]] -deps = ["Colors", "DSP", "DelayDiffEq", "IterTools", "LaTeXStrings", "LinearAlgebra", "OrdinaryDiffEq", "Plots", "Polynomials", "Printf", "Random", "SparseArrays", "Test"] -git-tree-sha1 = "22c0467bda8f44f5036fa1bbade7c4dd73f21ff3" -uuid = "a6e380b2-a6ca-5380-bf3e-84a91bcd477e" -version = "0.5.7" - -[[DSP]] -deps = ["FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "e10f3c579404419c172a8aa8d83a12fde99e9964" -uuid = "717857b8-e6f2-59f4-9121-6e50c889abd2" -version = "0.6.3" - [[DataAPI]] git-tree-sha1 = "674b67f344687a88310213ddfa8a2b3c76cc4252" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" @@ -152,11 +74,6 @@ git-tree-sha1 = "5a431d46abf2ef2a4d5d00bd0ae61f651cf854c8" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" version = "0.17.10" -[[DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - [[Dates]] deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" @@ -167,62 +84,20 @@ git-tree-sha1 = "72ff4d947383cc009e02d322f14c7653f7ab4b21" uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" version = "1.12.16+0" -[[DelayDiffEq]] -deps = ["DataStructures", "DiffEqBase", "LinearAlgebra", "Logging", "OrdinaryDiffEq", "Parameters", "Printf", "RecursiveArrayTools", "Reexport", "Roots"] -git-tree-sha1 = "71ee0eba1f9301462f94f9b2c7c7c321a2d501c8" -uuid = "bcd4f6db-9728-5f36-b5f7-82caef46ccdb" -version = "5.23.0" - [[DelimitedFiles]] deps = ["Mmap"] uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" -[[DiffEqBase]] -deps = ["ArrayInterface", "ChainRulesCore", "ConsoleProgressMonitor", "DataStructures", "Distributed", "DocStringExtensions", "FunctionWrappers", "IterativeSolvers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "LoggingExtras", "MuladdMacro", "Parameters", "Printf", "ProgressLogging", "RecipesBase", "RecursiveArrayTools", "RecursiveFactorization", "Requires", "Roots", "SparseArrays", "StaticArrays", "Statistics", "SuiteSparse", "TableTraits", "TerminalLoggers", "TreeViews", "ZygoteRules"] -git-tree-sha1 = "b20a1c5741d279787c7db100e11106ea14ee6dbf" -uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.25.0" - -[[DiffResults]] -deps = ["StaticArrays"] -git-tree-sha1 = "da24935df8e0c6cf28de340b958f6aac88eaa0cc" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.0.2" - -[[DiffRules]] -deps = ["NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "eb0c34204c8410888844ada5359ac8b96292cfd1" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.0.1" - -[[Distances]] -deps = ["LinearAlgebra", "Statistics"] -git-tree-sha1 = "23717536c81b63e250f682b0e0933769eecd1411" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.8.2" - [[Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" -[[DocStringExtensions]] -deps = ["LibGit2", "Markdown", "Pkg", "Test"] -git-tree-sha1 = "88bb0edb352b16608036faadcc071adda068582a" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.1" - [[Expat_jll]] deps = ["Libdl", "Pkg"] git-tree-sha1 = "e1b4190be75ba8d03ce2bec3a6cfc7a939c713ea" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" version = "2.2.7+0" -[[ExponentialUtilities]] -deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "1672dedeacaab85345fd359ad56dde8fb5d48a45" -uuid = "d4d017d3-3776-5f7e-afef-a10c40355c18" -version = "1.6.0" - [[FFMPEG]] deps = ["FFMPEG_jll"] git-tree-sha1 = "c82bef6fc01e30d500f588cd01d29bdd44f1924e" @@ -235,27 +110,9 @@ git-tree-sha1 = "814bf7865005bee373521cb49cad46182bec53b4" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" version = "4.1.0+2" -[[FFTW]] -deps = ["AbstractFFTs", "FFTW_jll", "IntelOpenMP_jll", "Libdl", "LinearAlgebra", "MKL_jll", "Reexport"] -git-tree-sha1 = "109d82fa4b00429f9afcce873e9f746f11f018d3" -uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.2.0" - -[[FFTW_jll]] -deps = ["Libdl", "Pkg"] -git-tree-sha1 = "ddb57f4cf125243b4aa4908c94d73a805f3cbf2c" -uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" -version = "3.3.9+4" - [[FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" -[[FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "f60e5d6944975f7140bde67278e10b6b01fb4f29" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.3.0" - [[FixedPointNumbers]] git-tree-sha1 = "4aaea64dd0c30ad79037084f8ca2b94348e65eaa" uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" @@ -267,12 +124,6 @@ git-tree-sha1 = "f610d280bfd1a3a43d5c815e63d395ff08692fe2" uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" version = "2.13.1+10" -[[ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "88b082d492be6b63f967b6c96b352e25ced1a34c" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.9" - [[FreeType2_jll]] deps = ["Bzip2_jll", "Libdl", "Pkg", "Zlib_jll"] git-tree-sha1 = "8e290780d75bc0f676548c3bb84c153f83d14bdc" @@ -285,11 +136,6 @@ git-tree-sha1 = "e479537bf8a8f060c546553c14fd0633978dda7e" uuid = "559328eb-81f9-559d-9380-de523a88c83c" version = "1.0.5+2" -[[FunctionWrappers]] -git-tree-sha1 = "e4813d187be8c7b993cb7f85cbf2b7bfbaadc694" -uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" -version = "1.1.1" - [[FunctionalCollections]] deps = ["Test"] git-tree-sha1 = "04cb9cfaa6ba5311973994fe3496ddec19b6292a" @@ -308,12 +154,6 @@ git-tree-sha1 = "19f11cf4e1b25ed45adb1c26c9877ebc212aca99" uuid = "77ec8976-b24b-556a-a1bf-49a033a670a6" version = "3.24.11+1" -[[GenericSVD]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "62909c3eda8a25b5673a367d1ad2392ebb265211" -uuid = "01680d73-4ee2-5a08-a1aa-533608c188bb" -version = "0.3.0" - [[GeometryTypes]] deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "StaticArrays"] git-tree-sha1 = "9d7520999ca80a51f1bf41be2268a9ac0e4f0619" @@ -374,12 +214,6 @@ git-tree-sha1 = "6187bb2d5fcbb2007c39e7ac53308b0d371124bd" uuid = "9fb69e20-1954-56bb-a84f-559cc56a8ff7" version = "0.2.2" -[[Inflate]] -deps = ["Pkg", "Printf", "Random", "Test"] -git-tree-sha1 = "b7ec91c153cf8bff9aff58b39497925d133ef7fd" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.1" - [[IniFile]] deps = ["Test"] git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" @@ -392,12 +226,6 @@ git-tree-sha1 = "4ebc2562f47be316d809666c0520a083fdb4ed6d" uuid = "d0351b0e-4b05-5898-87b3-e2a8edfddd1d" version = "0.3.6" -[[IntelOpenMP_jll]] -deps = ["Libdl", "Pkg"] -git-tree-sha1 = "fb8e1c7a5594ba56f9011310790e03b5384998d6" -uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2018.0.3+0" - [[Interact]] deps = ["CSSUtil", "InteractBase", "JSON", "Knockout", "Observables", "OrderedCollections", "Reexport", "WebIO", "Widgets"] git-tree-sha1 = "381c584142ac744bcc23af64bff3e3dc44d7f632" @@ -414,27 +242,11 @@ version = "0.10.3" deps = ["Markdown"] uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -[[IterTools]] -git-tree-sha1 = "05110a2ab1fc5f932622ffea2a003221f4782c18" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.3.0" - -[[IterativeSolvers]] -deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] -git-tree-sha1 = "f272a02b57a1a1d2150a1a6cc4a3441ee806ab96" -uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" -version = "0.8.3" - -[[IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - [[JSExpr]] deps = ["JSON", "MacroTools", "Observables", "WebIO"] -git-tree-sha1 = "ca99c457d67f7950e405f26044f4e38658a75e8a" +git-tree-sha1 = "829f37792c9a63904a95c3c579e3b5847b40802a" uuid = "97c1335a-c9c5-57fe-bc5d-ec35cebe8660" -version = "0.5.1" +version = "0.5.2" [[JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -466,19 +278,6 @@ git-tree-sha1 = "26ff20dc58051d7eda388662b90049d192f8d0a1" uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" version = "2.10.0+0" -[[LaTeXStrings]] -git-tree-sha1 = "de44b395389b84fd681394d4e8d39ef14e3a2ea8" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.1.0" - -[[LabConnections]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "1325a45c2fc6936b3ae51310f5db4fe639e56c08" -repo-rev = "julia1" -repo-url = "https://gitlab.control.lth.se/labdev/LabConnections.jl.git" -uuid = "e9ebaa62-f26d-11e8-0a59-692f6511a9a1" -version = "0.1.0" - [[LabGUI]] deps = ["Interact", "Mux", "WebIO"] git-tree-sha1 = "a3448740139bb8d52ffe1b95e98898fbb4064b93" @@ -487,26 +286,12 @@ repo-url = "https://gitlab.control.lth.se/processes/LabGUI.jl.git" uuid = "31661155-7747-5a32-9846-082300d6a5a6" version = "0.1.0" -[[LabProcesses]] -deps = ["ControlSystems", "DSP", "LabConnections", "Parameters"] -git-tree-sha1 = "87e628d38ae48299b8ea7934de4dd668c2291f45" -repo-rev = "julia1" -repo-url = "https://gitlab.control.lth.se/processes/LabProcesses.jl.git" -uuid = "a929d50c-24cc-431c-8c94-c602bef11634" -version = "0.1.0" - [[Lazy]] deps = ["MacroTools"] git-tree-sha1 = "ead48f10ad295afe72046ab0f2b9d704466452a0" uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" version = "0.14.0" -[[LeftChildRightSiblingTrees]] -deps = ["AbstractTrees"] -git-tree-sha1 = "71be1eb5ad19cb4f61fa8c73395c0338fd092ae0" -uuid = "1d6d02ad-be62-4b6b-8a6d-2f90e265016e" -version = "0.1.2" - [[LibGit2]] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" @@ -567,18 +352,6 @@ git-tree-sha1 = "5b0aaf3f931102e18b8b4b1590fe69708d3eb7d6" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" version = "2.34.0+3" -[[LightGraphs]] -deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "f40c4dbcd957cc3afc8cca0ff26c9f8304def00d" -uuid = "093fc24a-ae57-5d10-9952-331d41423f4d" -version = "1.3.1" - -[[LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf", "Test"] -git-tree-sha1 = "54eb90e8dbe745d617c78dee1d6ae95c7f6f5779" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.0.1" - [[LinearAlgebra]] deps = ["Libdl"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" @@ -586,22 +359,11 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" -[[LoggingExtras]] -git-tree-sha1 = "c867b50bfc564f0beded1c566f4fc66cfd8b5418" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "0.4.0" - -[[MKL_jll]] -deps = ["IntelOpenMP_jll", "Libdl", "Pkg"] -git-tree-sha1 = "720629cc8cbd12c146ca01b661fd1a6cf66e2ff4" -uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2019.0.117+2" - [[MacroTools]] -deps = ["DataStructures", "Markdown", "Random"] -git-tree-sha1 = "07ee65e03e28ca88bc9a338a3726ae0c3efaa94b" +deps = ["Markdown", "Random"] +git-tree-sha1 = "f7d2e3f654af75f01ec49be82c231c382214223a" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.4" +version = "0.5.5" [[Markdown]] deps = ["Base64"] @@ -633,35 +395,12 @@ version = "0.4.3" [[Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" -[[MuladdMacro]] -git-tree-sha1 = "c6190f9a7fc5d9d5915ab29f2134421b12d24a68" -uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" -version = "0.2.2" - -[[Mustache]] -deps = ["Printf", "Tables"] -git-tree-sha1 = "f39de3a12232eb47bd0629b3a661054287780276" -uuid = "ffc61752-8dc7-55ee-8c37-f3e9cdd09e70" -version = "0.5.13" - [[Mux]] deps = ["AssetRegistry", "Base64", "HTTP", "Hiccup", "Lazy", "Pkg", "Sockets", "WebSockets"] git-tree-sha1 = "3621676e7f711aca14d783d1bff9ac379d9df6b7" uuid = "a975b10e-0019-58db-a62f-e48ff68538c9" version = "0.7.1" -[[NLSolversBase]] -deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "7c4e66c47848562003250f28b579c584e55becc0" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.6.1" - -[[NLsolve]] -deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "cce0463af83a0f36c7bfa5820e373ac090cc46ad" -uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -version = "4.3.0" - [[NaNMath]] git-tree-sha1 = "928b8ca9b2791081dc71a51c55347c27c618760f" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" @@ -691,12 +430,6 @@ git-tree-sha1 = "33661eb9d5484220b4367d067f499b30bafc9c12" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" version = "1.1.1+1" -[[OpenSpecFun_jll]] -deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"] -git-tree-sha1 = "d51c416559217d974a1113522d5919235ae67a87" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.3+3" - [[Opus_jll]] deps = ["Libdl", "Pkg"] git-tree-sha1 = "c9931bf2fcdb57b48c227395c61ea82603212f7d" @@ -709,12 +442,6 @@ git-tree-sha1 = "c4c13474d23c60d20a67b217f1d7f22a40edf8f1" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.1.0" -[[OrdinaryDiffEq]] -deps = ["ArrayInterface", "DataStructures", "DiffEqBase", "ExponentialUtilities", "FiniteDiff", "ForwardDiff", "GenericSVD", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "NLsolve", "RecursiveArrayTools", "Reexport", "SparseArrays", "SparseDiffTools", "StaticArrays", "UnPack"] -git-tree-sha1 = "8351ae59bb662f19464691823aaf8a235e8005db" -uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -version = "5.32.0" - [[PCRE_jll]] deps = ["Libdl", "Pkg"] git-tree-sha1 = "859aa38f2823d45940312575bca3c856f4a1fbab" @@ -773,28 +500,10 @@ git-tree-sha1 = "a4b22be3bb271cf46466e44009b5788ef4aaef7d" uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" version = "0.29.8" -[[Polynomials]] -deps = ["LinearAlgebra", "RecipesBase"] -git-tree-sha1 = "1185511cac8ab9d0b658b663eae34fe9a95d4332" -uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "0.6.1" - [[Printf]] deps = ["Unicode"] uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" -[[ProgressLogging]] -deps = ["Logging", "SHA", "UUIDs"] -git-tree-sha1 = "e47914361d124d8760f5e356403daeb7f3b81633" -uuid = "33c8b6b6-d38a-422a-b730-caa89a2f386c" -version = "0.1.2" - -[[ProgressMeter]] -deps = ["Distributed", "Printf"] -git-tree-sha1 = "ea1f4fa0ff5e8b771bf130d87af5b7ef400760bd" -uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.2.0" - [[REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" @@ -808,18 +517,6 @@ git-tree-sha1 = "b4ed4a7f988ea2340017916f7c9e5d7560b52cae" uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" version = "0.8.0" -[[RecursiveArrayTools]] -deps = ["ArrayInterface", "RecipesBase", "Requires", "StaticArrays", "Statistics", "ZygoteRules"] -git-tree-sha1 = "bd13db2a3561fb3a3635220c5ee21e3356d7631e" -uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "2.1.0" - -[[RecursiveFactorization]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "6761a5d1f9646affb2a369ff932841fff77934a3" -uuid = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" -version = "0.1.0" - [[Reexport]] deps = ["Pkg"] git-tree-sha1 = "7b1d07f411bc8ddb7977ec7f377b97b158514fe0" @@ -832,12 +529,6 @@ git-tree-sha1 = "d37400976e98018ee840e0ca4f9d20baa231dc6b" uuid = "ae029012-a4dd-5104-9daa-d747884805df" version = "1.0.1" -[[Roots]] -deps = ["Printf"] -git-tree-sha1 = "869a9990ec6347862d59040d00416ecd0683b965" -uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" -version = "1.0.0" - [[SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -854,12 +545,6 @@ git-tree-sha1 = "e032c9df551fb23c9f98ae1064de074111b7bc39" uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" version = "0.3.1" -[[SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "2bdf3b6300a9d66fe29ee8bb51ba100c4df9ecbc" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.1" - [[Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" @@ -873,18 +558,6 @@ version = "0.3.1" deps = ["LinearAlgebra", "Random"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -[[SparseDiffTools]] -deps = ["Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "InteractiveUtils", "LightGraphs", "LinearAlgebra", "Requires", "SparseArrays", "VertexSafeGraphs"] -git-tree-sha1 = "6429f706e7da24a8c1c5e0416c3f0ce9974ab991" -uuid = "47a9eef4-7e08-11e9-0b38-333d64bd3804" -version = "1.4.0" - -[[SpecialFunctions]] -deps = ["OpenSpecFun_jll"] -git-tree-sha1 = "e19b98acb182567bcb7b75bb5d9eedf3a3b5ec6c" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "0.10.0" - [[StaticArrays]] deps = ["LinearAlgebra", "Random", "Statistics"] git-tree-sha1 = "5a3bcb6233adabde68ebc97be66e95dcb787424c" @@ -901,62 +574,17 @@ git-tree-sha1 = "19bfcb46245f69ff4013b3df3b977a289852c3a1" uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" version = "0.32.2" -[[SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "b1ad568ba658d8cbb3b892ed5380a6f3e781a81e" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.0" - -[[Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "TableTraits", "Test"] -git-tree-sha1 = "242b7fde70b8bc6a30d6476adf17ca3cf1ced6ee" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.0.3" - -[[TerminalLoggers]] -deps = ["LeftChildRightSiblingTrees", "Logging", "Markdown", "Printf", "ProgressLogging", "UUIDs"] -git-tree-sha1 = "8c05be75dfe73d90e5dfb6293e0c852013f7282d" -uuid = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" -version = "0.1.1" - [[Test]] deps = ["Distributed", "InteractiveUtils", "Logging", "Random"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -[[TreeViews]] -deps = ["Test"] -git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6" -uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7" -version = "0.3.0" - -[[URIParser]] -deps = ["Test", "Unicode"] -git-tree-sha1 = "6ddf8244220dfda2f17539fa8c9de20d6c575b69" -uuid = "30578b45-9adc-5946-b283-645ec420af67" -version = "0.4.0" - [[UUIDs]] deps = ["Random", "SHA"] uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" -[[UnPack]] -git-tree-sha1 = "e0cb9715adda456f7657e45377fd3063bf87179a" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "0.1.0" - [[Unicode]] uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" -[[VertexSafeGraphs]] -deps = ["LightGraphs"] -git-tree-sha1 = "35060f8047a2b79bdc8e4961bbbd2b7e30e62709" -uuid = "19fa3120-7c27-5ec5-8db8-b0b0aa330d6f" -version = "0.1.1" - [[Wayland_jll]] deps = ["Expat_jll", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] git-tree-sha1 = "0e7ae7fab73d43299b6b0332716dc2d0149f6b03" @@ -1203,12 +831,6 @@ git-tree-sha1 = "aa97e3e240e86010da61254b0045b7175ead0659" uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" version = "1.4.4+0" -[[ZygoteRules]] -deps = ["MacroTools"] -git-tree-sha1 = "b3b4882cc9accf6731a08cc39543fbc6b669dca8" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.0" - [[adwaita_icon_theme_jll]] deps = ["Libdl", "Pkg", "hicolor_icon_theme_jll"] git-tree-sha1 = "245d4d5884e54d171c9683e1d30213358ddeb648" diff --git a/Project.toml b/Project.toml index cfc4875fdb7d50fce29a52e2833c29460379751a..d4174bde25140428e108adcac2989ea62533e0ed 100644 --- a/Project.toml +++ b/Project.toml @@ -5,13 +5,9 @@ repo = "https://gitlab.control.lth.se/processes/DoubleTankLab.jl/commits/master" version = "0.1.0" [deps] -Blink = "ad839575-38b3-5650-b840-f874b8c74a25" -DelimitedFiles = "8bb1440f-4735-579b-a4ab-409b98df4dab" InspectDR = "d0351b0e-4b05-5898-87b3-e2a8edfddd1d" Interact = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1" -LabConnections = "e9ebaa62-f26d-11e8-0a59-692f6511a9a1" LabGUI = "31661155-7747-5a32-9846-082300d6a5a6" -LabProcesses = "a929d50c-24cc-431c-8c94-c602bef11634" Mux = "a975b10e-0019-58db-a62f-e48ff68538c9" Parameters = "d96e819e-fc66-5662-9728-84c9c7592b0a" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" diff --git a/src/DoubleTankLab.jl b/src/DoubleTankLab.jl index 9763bf8ad331c7366448d745cc40f0a0a119e99e..f3051c5f3d9158d923a66d6516a2865eaf62dd29 100644 --- a/src/DoubleTankLab.jl +++ b/src/DoubleTankLab.jl @@ -1,6 +1,5 @@ module DoubleTankLab -using Interact, WebIO, Plots, InspectDR, LabProcesses, LabGUI, Mux, - LabConnections, DelimitedFiles#, Blink +using Interact, WebIO, InspectDR, Plots, LabGUI, Mux include("tankgraphic.jl") include("doubletank.jl") include("tanklabgui.jl") diff --git a/src/doubletank.jl b/src/doubletank.jl index 6d60b4989dd694fa34a40cc7c075b90613ff1c81..49009ff2c38277b938fca5843afcbd513d5e0942 100644 --- a/src/doubletank.jl +++ b/src/doubletank.jl @@ -1,7 +1,5 @@ #export DoubleTankSimulator, DoubleTank -using LabConnections.Computer #for LabStream - const uppertankempty = 0.0 const lowertankempty = 0.0 const uppertankfull = 10.07 @@ -11,22 +9,6 @@ const venturimax = 14.0 using Parameters -#This should be changed in LabConnections in some reasonably manner -############################################################ -function LabConnections.Computer.getwritecommand(stream::ComediStream, input::AnalogOutput10V, val::Float64) - abs(val) <= 10 || error("Volatage $val not in range [-10,10]") - return (Int32(0),Int32(3),input.i,val) -end -function LabConnections.Computer.getreadcommand(stream::ComediStream, input::AnalogInput10V) - return (Int32(0),Int32(2),input.i) -end -############################################################ - -# This allows calibration without having to toggle the pump controller -function LabConnections.Computer.send(n::Cvoid, a::Number) - nothing -end - @with_kw mutable struct PID b::Float64 = 1.0 K::Float64 = 1.0 @@ -74,7 +56,7 @@ function (p::PID)(r, y, onv=(1,1,1)) Tot end -@with_kw mutable struct DoubleTankSimulator <: SimulatedProcess +@with_kw mutable struct DoubleTankSimulator h::Float64 = 0.05 x::Vector{Float64} = [0.5, 0.5] n::Int = 1 @@ -87,147 +69,12 @@ end σ::Float64 = 0.0 #in meters end - - -mutable struct Pump <: PhysicalProcess - h::Float64 - stream::LabStream - u::Float64 - v::Float64 - pid::PID - venturirange::Array{Float64, 1} - measure::AnalogInput10V - control::Union{AnalogOutput10V, Cvoid} -end - -function Pump(stream) - pid = PID() - pid.K = 0.21 - pid.Ti = 0.06 - pid.b = 0.0 - pid.h = 0.01 - Pump(pid.h, stream, 0.0, 0.0, pid, [venturimin, venturimax], AnalogInput10V(4), AnalogOutput10V(0)) -end - -outputrange(p::Pump) = [0.,10.] -inputrange(p::Pump) = [(0.,1.)] - -function control(p::Pump, yref) - p.u = yref -end - -function initialize(p::Pump) - @async while true - @periodically p.h begin - #normalized venturi - venturi = (read(p.measure)-p.venturirange[1])/(p.venturirange[2]-p.venturirange[1]) - flow = sqrt(max(venturi,0.0)) - p.v = p.pid(p.u, flow, (1,1,0)) - send(p.control, 10*clamp(p.v, 0.0, 1.0)) - end - end -end - -measure(p::Pump) = read(p.measure) - -struct DoubleTank <: PhysicalProcess - h::Float64 - stream::LabStream - measure::Array{AnalogInput10V, 1} - uprange::Array{Float64, 1} - lowrange::Array{Float64, 1} - pump::Pump -end - -function DoubleTank(; - h::Float64 = 0.05, - stream::LabStream = ComediStream(), - measure = [AnalogInput10V(0), AnalogInput10V(1)], - uprange = [uppertankempty, uppertankfull], - lowrange = [lowertankempty, lowertankfull], - pump::Pump = Pump(stream)) #Change - p = DoubleTank(Float64(h),stream,measure, uprange, lowrange, pump) - init_devices!(p.stream, p.measure..., pump.measure, pump.control) - initialize(pump) - p -end - -function control(p::DoubleTank, u) - control(p.pump, u) -end - - -""" -Calibrates the tanks. Sets the pump to max for filltime seconds, during which the flow is measured calpts times. The tank voltage is then measured, when they are presumably full. The pump is then set to min for emptytime and the flow is again measured calpts time. The tank voltage is then again measured, when they're presumably empty. These values are then used to set the parameters for the DoubleTank measure function and the DoubleTank.pump controller. -""" -function calibrate(p::DoubleTank) - print("Calibrating...\n") - filltime = 40 - emptytime = 30 - calpts = 20 - - #Override pump control - c = p.pump.control - p.pump.control = nothing - - measurements = zeros(1:calpts, Float64) - - send(c, 10.0) #just a number > 10 - for i in 1:calpts - sleep(filltime/calpts) - measurements[i] = measure(p.pump) - end - fulltanks = read.(p.measure) - venturimax = mean(measurements) - - print("Upper Full Voltage: $(fulltanks[1])\n") - print("Lower Full Voltage: $(fulltanks[2])\n") - print("Venturi Avg max: $venturimax\n") - - send(c, 0.0) - for i in 1:calpts - sleep(emptytime/calpts) - measurements[i] = measure(p.pump) - end - emptytanks = read.(p.measure) - venturimin = mean(measurements) - - print("Upper Empty Voltage: $(emptytanks[1])\n") - print("Lower Empty Voltage: $(emptytanks[2])\n") - print("Venturi Avg min: $venturimin\n") - - p.uprange[1] = emptytanks[1] - p.uprange[2] = fulltanks[1] - p.lowrange[1] = emptytanks[2] - p.lowrange[2] = fulltanks[2] - p.pump.venturirange = [venturimin, venturimax] - - #Return pump control - p.pump.control = c - print("Finished calibration\n") - nothing -end - -function calibrate(p::DoubleTankSimulator) - print("Simulator can't be calibrated!\n") -end - -function measure(p::DoubleTank) - #This should give an array of two values in the range [0,1] - minv = [p.uprange[1], p.lowrange[1]] - maxv = [p.uprange[2], p.lowrange[2]] - clamp.((read.(p.measure)-minv)./(maxv-minv), 0.0, 1.0) -end - - - -const AbstractDoubleTank = Union{DoubleTank, DoubleTankSimulator} -num_outputs(p::AbstractDoubleTank) = 2 -num_inputs(p::AbstractDoubleTank) = 1 -outputrange(p::AbstractDoubleTank) = [(0.0,1.0),(0.0,1.0)] -inputrange(p::AbstractDoubleTank) = [(0.,1.)] -isasstable(p::AbstractDoubleTank) = true -sampletime(p::AbstractDoubleTank) = p.h +num_outputs(p::DoubleTankSimulator) = 2 +num_inputs(p::DoubleTankSimulator) = 1 +outputrange(p::DoubleTankSimulator) = [(0.0,1.0),(0.0,1.0)] +inputrange(p::DoubleTankSimulator) = [(0.,1.)] +isasstable(p::DoubleTankSimulator) = true +sampletime(p::DoubleTankSimulator) = p.h bias(p::DoubleTankSimulator) = 0 function qu(p, u) @@ -262,13 +109,4 @@ function control(p::DoubleTankSimulator, u::Number) @pack! p = a1, a2, g, x, A, h end - measure(p::DoubleTankSimulator) = p.x + p.σ*p.scale*randn(2) - - -LabProcesses.initialize(p::DoubleTankSimulator) = nothing -LabProcesses.finalize(p::DoubleTankSimulator) = nothing - -LabProcesses.initialize(p::DoubleTank) = nothing -LabProcesses.finalize(p::DoubleTank) = nothing - diff --git a/src/tankdemo.jl b/src/tankdemo.jl index 6a8148ec3223c638bf8f1ce976b95c198ff7083a..406645725f6d3da2987ddb75eceb10b9f70a1ede 100644 --- a/src/tankdemo.jl +++ b/src/tankdemo.jl @@ -1,26 +1,12 @@ -export runprocess, runsimulation -""" -Alias for runprocess with simulated=true. - -""" -runsimulation(;webservice=true, port=8000, σ = 0.001, duration = 14400) = runprocess(simulated=true, webservice=webservice, port=port, σ=σ, duration=duration) - +export runsimulation """ runprocess(;simulated=false, webservice=true, port=8000, σ = 0.001, duration = 14400) Run the doubletank process with a GUI. """ -function runprocess(;simulated=false, webservice=true, port=8000, σ = 0.001, duration = 14400) - #Just for testing - - if simulated - print("Running simulated process\n") - R = DoubleTankSimulator(σ = σ) - else - print("Running physical process\n") - R = DoubleTank() - end +function runsimulation(;simulated=true, webservice=true, port=8000, σ = 0.001, duration = 14400) + R = DoubleTankSimulator(σ = σ) inspectdr(show=false) @@ -28,7 +14,6 @@ function runprocess(;simulated=false, webservice=true, port=8000, σ = 0.001, du y = 0.0 u = 0.0 n = 1 - LabProcesses.initialize(P) start_time = time() for t in 0:P.h:duration y = measure(P)[n] @@ -66,18 +51,10 @@ function runprocess(;simulated=false, webservice=true, port=8000, σ = 0.001, du start_time = end_time end println("The lab time is over, go home! 😊\n") #Easter egg, unlikely to be shown - LabProcesses.finalize(P) end g1, r1, tp = makegui(R, run_process, 10, 10) - if webservice - webio_serve(page("/", r1), port) - else - webio_serve(page("/", r1), port) - w = Window() - size(w, 1900, 900) - loadurl(w, "http:0.0.0.0:$port") - end + webio_serve(page("/", r1), port) end diff --git a/src/tanklabgui.jl b/src/tanklabgui.jl index f95c50012231e3684f21dead067f20f0adc69405..b242fc57bc36e35d95c17f15112a960e264a6981 100644 --- a/src/tanklabgui.jl +++ b/src/tanklabgui.jl @@ -89,28 +89,7 @@ function makegui(P, run_process, plottingframerate = 10, guiframerate = 10) plot!(p[2], lnv, gui.data[6][start:end], label="Tot", color=:black) end - #-----------------------------------------------# - #This should only exist in the simulated version# - # on(observe(run)) do val - # if val==1 - @async run_process(P, gui, tankpid) - # else - # observe(run).listeners[end] = x ->() - # end - # end - #-----------------------------------------------# - # And this should only exist in the real version# - # on(observe(cali)) do val - # calibrate(P) - # end - #-----------------------------------------------# - # on(observe(expcsv)) do val - # f = open("datatanklab.csv", "w") - # writedlm(f, ["t" "y" "r" "P" "I" "D" "Tot"], ',') - # writedlm(f, [gui.data[7] gui.data[1] gui.data[2] gui.data[3] gui.data[4] gui.data[5] gui.data[6]], ',') - # close(f) - # print("Data exported to datatanklab.csv\n") - # end + @async run_process(P, gui, tankpid) on(observe(mode)) do val if val=="Manual"