Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • add-types
  • ci-run-on-release
  • dispatch-check
  • main
  • v0.1.0
  • v0.2.0
  • v0.3.0
  • v0.3.1
  • v0.4.0
  • v0.5.0
  • v0.5.1
  • v1.0.0
12 results

Target

Select target project
  • wotsubo/PSBoardDataBase
1 result
Select Git revision
  • add-types
  • ci-run-on-release
  • dispatch-check
  • main
  • v0.1.0
  • v0.2.0
  • v0.3.0
  • v0.3.1
  • v0.4.0
  • v0.5.0
  • v0.5.1
  • v1.0.0
12 results
Show changes
Commits on Source (33)
Showing
with 7241 additions and 1114 deletions
......@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.5.0] - 2025-01-23
Release for 7th campaign dispatching.
### Added
- QAQC progress plot notebook
- (notebook) PLLLD wait time scan
- Added QAQC campaign 7 to the database
- Added slave log validity columns to single and extra run result tables (!1418)
### Changed
- Separate notebook environment from main environment
- Modified ppconfig_error_analysis & pllld_count for new results
### Fixed
- Fixed wrong variable name ([!1414](https://gitlab.cern.ch/wotsubo/PSBoardDataBase/-/merge_requests/1414))
## [0.4.0] - 2024-12-12
Release for 6th campaign dispatching.
......@@ -93,7 +113,8 @@ Release for 6th campaign dispatching.
- Docs on the database and example of querying the database.
- Docs on the internal (Julia implementation)
[unreleased]: https://gitlab.cern.ch/wotsubo/PSBoardDataBase/-/compare/v0.4.0...main
[unreleased]: https://gitlab.cern.ch/wotsubo/PSBoardDataBase/-/compare/v0.5.0...main
[0.4.0]: https://gitlab.cern.ch/wotsubo/PSBoardDataBase/-/compare/v0.4.0...v0.5.0
[0.4.0]: https://gitlab.cern.ch/wotsubo/PSBoardDataBase/-/compare/v0.3.1...v0.4.0
[0.3.1]: https://gitlab.cern.ch/wotsubo/PSBoardDataBase/-/compare/v0.3.0...v0.3.1
[0.3.0]: https://gitlab.cern.ch/wotsubo/PSBoardDataBase/-/compare/v0.2.0...v0.3.0
......
# This file is machine-generated - editing it directly is not advised
julia_version = "1.11.2"
julia_version = "1.11.3"
manifest_format = "2.0"
project_hash = "e20af0781afd5866dc7398b8d852e9c8ee3e4f13"
......@@ -116,7 +116,7 @@ version = "1.6.0"
deps = ["Artifacts", "JLLWrappers", "Libdl"]
git-tree-sha1 = "e51db81749b0777b2147fbe7b783ee79045b8e99"
uuid = "2e619515-83b5-522b-bb60-26c02a35a201"
version = "2.6.4+1"
version = "2.6.4+3"
[[deps.FilePathsBase]]
deps = ["Compat", "Dates"]
......@@ -175,9 +175,9 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
version = "1.11.0"
[[deps.InvertedIndices]]
git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038"
git-tree-sha1 = "6da3c4316095de0f5ee2ebd875df8721e7e0bdbe"
uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f"
version = "1.3.0"
version = "1.3.1"
[[deps.IteratorInterfaceExtensions]]
git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856"
......@@ -186,9 +186,9 @@ version = "1.0.0"
[[deps.JLLWrappers]]
deps = ["Artifacts", "Preferences"]
git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b"
git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6"
uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
version = "1.6.1"
version = "1.7.0"
[[deps.JSON]]
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
......@@ -237,9 +237,9 @@ version = "1.11.0"
[[deps.Libiconv_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl"]
git-tree-sha1 = "61dfdba58e585066d8bce214c5a51eaa0539f269"
git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809"
uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531"
version = "1.17.0+1"
version = "1.18.0+0"
[[deps.LinearAlgebra]]
deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"]
......@@ -293,7 +293,7 @@ version = "0.3.27+1"
deps = ["Artifacts", "JLLWrappers", "Libdl"]
git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10"
uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
version = "3.0.15+1"
version = "3.0.15+3"
[[deps.OrderedCollections]]
git-tree-sha1 = "12f1439c4f986bb868acda6ea33ebc78e19b95ad"
......@@ -384,13 +384,13 @@ version = "1.6.1"
deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"]
git-tree-sha1 = "e84fab7d16107342d7638fbd519151d9a0d80720"
uuid = "76ed43ae-9a5d-5a62-8c75-30186b810ce8"
version = "3.47.2+0"
version = "3.47.2+2"
[[deps.SentinelArrays]]
deps = ["Dates", "Random"]
git-tree-sha1 = "d0553ce4031a081cc42387a9b9c8441b7d99f32d"
git-tree-sha1 = "712fb0231ee6f9120e005ccd56297abbc053e7e0"
uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c"
version = "1.4.7"
version = "1.4.8"
[[deps.Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
......@@ -408,9 +408,9 @@ version = "1.2.1"
[[deps.StaticArrays]]
deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"]
git-tree-sha1 = "777657803913ffc7e8cc20f0fd04b634f871af8f"
git-tree-sha1 = "47091a0340a675c738b1304b58161f3b0839d454"
uuid = "90137ffa-7385-5640-81b9-e52037218182"
version = "1.9.8"
version = "1.9.10"
[deps.StaticArrays.extensions]
StaticArraysChainRulesCoreExt = "ChainRulesCore"
......
name = "PSBoardDataBase"
uuid = "779f6a9c-59fa-41f1-8ed1-e9a91eccb2f5"
authors = ["Wataru Otsubo <wotsubo@icepp.s.u-tokyo.ac.jp>"]
version = "0.4.0"
version = "0.5.0"
[deps]
AutoHashEquals = "15f4f7f2-30c1-5605-9d31-71845cf9641f"
......
# This file is machine-generated - editing it directly is not advised
julia_version = "1.11.1"
julia_version = "1.11.3"
manifest_format = "2.0"
project_hash = "0c756de6376fd167a1756a34f8c071b8d2746ea3"
......@@ -109,9 +109,9 @@ version = "0.9.3"
[[deps.Documenter]]
deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "CodecZlib", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "TOML", "Test", "Unicode"]
git-tree-sha1 = "5a1ee886566f2fa9318df1273d8b778b9d42712d"
git-tree-sha1 = "d0ea2c044963ed6f37703cead7e29f70cba13d7e"
uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
version = "1.7.0"
version = "1.8.0"
[[deps.DocumenterInterLinks]]
deps = ["CodecZlib", "DocInventories", "Documenter", "DocumenterInventoryWritingBackport", "Markdown", "MarkdownAST", "TOML"]
......@@ -132,9 +132,9 @@ version = "1.6.0"
[[deps.Expat_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl"]
git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7"
git-tree-sha1 = "e51db81749b0777b2147fbe7b783ee79045b8e99"
uuid = "2e619515-83b5-522b-bb60-26c02a35a201"
version = "2.6.2+0"
version = "2.6.4+3"
[[deps.FilePathsBase]]
deps = ["Compat", "Dates"]
......@@ -164,9 +164,9 @@ version = "1.3.1"
[[deps.Git_jll]]
deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"]
git-tree-sha1 = "ea372033d09e4552a04fd38361cd019f9003f4f4"
git-tree-sha1 = "399f4a308c804b446ae4c91eeafadb2fe2c54ff9"
uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb"
version = "2.46.2+0"
version = "2.47.1+0"
[[deps.IOCapture]]
deps = ["Logging", "Random"]
......@@ -193,9 +193,9 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
version = "1.11.0"
[[deps.InvertedIndices]]
git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038"
git-tree-sha1 = "6da3c4316095de0f5ee2ebd875df8721e7e0bdbe"
uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f"
version = "1.3.0"
version = "1.3.1"
[[deps.IteratorInterfaceExtensions]]
git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856"
......@@ -204,9 +204,9 @@ version = "1.0.0"
[[deps.JLLWrappers]]
deps = ["Artifacts", "Preferences"]
git-tree-sha1 = "be3dc50a92e5a386872a493a10050136d4703f9b"
git-tree-sha1 = "a007feb38b422fbdab534406aeca1b86823cb4d6"
uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
version = "1.6.1"
version = "1.7.0"
[[deps.JSON]]
deps = ["Dates", "Mmap", "Parsers", "Unicode"]
......@@ -220,9 +220,9 @@ uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
version = "1.4.0"
[[deps.LazilyInitializedFields]]
git-tree-sha1 = "8f7f3cabab0fd1800699663533b6d5cb3fc0e612"
git-tree-sha1 = "0f2da712350b020bc3957f269c9caad516383ee0"
uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf"
version = "1.2.2"
version = "1.3.0"
[[deps.LibCURL]]
deps = ["LibCURL_jll", "MozillaCACerts_jll"]
......@@ -255,9 +255,9 @@ version = "1.11.0"
[[deps.Libiconv_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl"]
git-tree-sha1 = "61dfdba58e585066d8bce214c5a51eaa0539f269"
git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809"
uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531"
version = "1.17.0+1"
version = "1.18.0+0"
[[deps.LinearAlgebra]]
deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"]
......@@ -311,12 +311,12 @@ version = "0.3.27+1"
deps = ["Artifacts", "JLLWrappers", "Libdl"]
git-tree-sha1 = "7493f61f55a6cce7325f197443aa80d32554ba10"
uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
version = "3.0.15+1"
version = "3.0.15+3"
[[deps.OrderedCollections]]
git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5"
git-tree-sha1 = "12f1439c4f986bb868acda6ea33ebc78e19b95ad"
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
version = "1.6.3"
version = "1.7.0"
[[deps.PCRE2_jll]]
deps = ["Artifacts", "Libdl"]
......@@ -327,7 +327,7 @@ version = "10.42.0+1"
deps = ["AutoHashEquals", "CSV", "DBInterface", "DataFrames", "Dates", "Documenter", "Downloads", "Printf", "SQLite", "StaticArrays", "Tables"]
path = "/home/qwjyh/Documents/school/lab/PSBoard_QAQC/PSBoardDataBase"
uuid = "779f6a9c-59fa-41f1-8ed1-e9a91eccb2f5"
version = "0.2.0"
version = "0.5.0"
weakdeps = ["InteractiveUtils"]
[deps.PSBoardDataBase.extensions]
......@@ -410,15 +410,15 @@ version = "1.6.1"
[[deps.SQLite_jll]]
deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"]
git-tree-sha1 = "004fffbe2711abdc7263a980bbb1af9620781dd9"
git-tree-sha1 = "e84fab7d16107342d7638fbd519151d9a0d80720"
uuid = "76ed43ae-9a5d-5a62-8c75-30186b810ce8"
version = "3.45.3+0"
version = "3.47.2+2"
[[deps.SentinelArrays]]
deps = ["Dates", "Random"]
git-tree-sha1 = "305becf8af67eae1dbc912ee9097f00aeeabb8d5"
git-tree-sha1 = "712fb0231ee6f9120e005ccd56297abbc053e7e0"
uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c"
version = "1.4.6"
version = "1.4.8"
[[deps.Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
......@@ -436,9 +436,9 @@ version = "1.2.1"
[[deps.StaticArrays]]
deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"]
git-tree-sha1 = "777657803913ffc7e8cc20f0fd04b634f871af8f"
git-tree-sha1 = "47091a0340a675c738b1304b58161f3b0839d454"
uuid = "90137ffa-7385-5640-81b9-e52037218182"
version = "1.9.8"
version = "1.9.10"
[deps.StaticArrays.extensions]
StaticArraysChainRulesCoreExt = "ChainRulesCore"
......
This diff is collapsed.
This diff is collapsed.
# See https://domluna.github.io/JuliaFormatter.jl/stable/ for a list of options
whitespace_ops_in_indices = true
remove_extra_newlines = true
always_for_in = true
whitespace_typedefs = true
normalize_line_endings = "unix"
# format_docstrings = true
# format_markdown = true
align_assignment = true
align_struct_field = true
align_conditional = true
align_pair_arrow = true
align_matrix = true
This diff is collapsed.
[deps]
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
DBInterface = "a10d1c49-ce27-4219-8d33-6db1a4562965"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
FHist = "68837c9b-b678-4cd5-9925-8a54edc8f695"
PSBoardDataBase = "779f6a9c-59fa-41f1-8ed1-e9a91eccb2f5"
PlutoUI = "7f904dfe-b85e-4ff6-b463-dae2292396a8"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SQLite = "0aa819cd-b072-5ff4-a722-6bc24af294d9"
Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
Source diff could not be displayed: it is too large. Options to address this: view the blob.
### A Pluto.jl notebook ###
# v0.20.2
# v0.20.4
using Markdown
using InteractiveUtils
......@@ -184,47 +184,120 @@ combine(
)
# ╔═╡ a0baf37c-8b05-49c1-a6a4-027f3404f8b4
df_reset_failed_though_reconfig_done = combine(
groupby(qaqc_extra_run_results, :id),
AsTable([:psboard_id, :runid]) =>
(
sdf -> begin
@assert nrow(sdf) == 1
df_reset_failed_though_reconfig_done = transform(
qaqc_extra_run_results,
[:psboard_id, :runid] =>
ByRow(
(psboard_id, runid) -> begin
broken_list = @NamedTuple{psbid::Int64, runid::Int64}[
(psbid = 1050, runid = 385),
(psbid = 1113, runid = 392),
(psbid = 1121, runid = 392),
(psbid = 131, runid = 38),
(psbid = 133, runid = 38),
(psbid = 136, runid = 38),
(psbid = 137, runid = 38),
(psbid = 1545, runid = 474),
(psbid = 16959, runid = 48),
(psbid = 16959, runid = 59),
(psbid = 198, runid = 251),
(psbid = 202, runid = 45),
(psbid = 203, runid = 45),
(psbid = 205, runid = 45),
(psbid = 206, runid = 45),
(psbid = 206, runid = 57),
(psbid = 206, runid = 59),
(psbid = 208, runid = 45),
(psbid = 210, runid = 45),
(psbid = 214, runid = 45),
(psbid = 215, runid = 48),
(psbid = 221, runid = 55),
(psbid = 223, runid = 48),
(psbid = 224, runid = 48),
(psbid = 229, runid = 48),
(psbid = 231, runid = 48),
(psbid = 234, runid = 48),
(psbid = 235, runid = 48),
(psbid = 237, runid = 45),
(psbid = 238, runid = 45),
(psbid = 239, runid = 45),
(psbid = 263, runid = 69),
(psbid = 329, runid = 69),
(psbid = 339, runid = 69),
(psbid = 42, runid = 178),
(psbid = 488791279, runid = 63),
(psbid = 48879, runid = 47),
(psbid = 723, runid = 436),
]
if (; psbid = psboard_id, runid) in broken_list
@error "broken file psbid: $(psboard_id), runid: $(runid)"
return (;
psboard_id,
runid,
reset_failed_though_reconfig_done = missing,
)
end
logfilename = "$(sdf.psboard_id[1])_$(sdf.runid[1])_longrun.txt"
logfilename = "$(psboard_id)_$(runid)_longrun.txt"
logfile = joinpath("../test/input/slavelogs/main/", logfilename)
!ispath(logfile) && begin
@warn "logfile $(logfile) not found"
return (
psboard_id = sdf.psboard_id[1],
runid = sdf.runid[1],
psboard_id = psboard_id,
runid = runid,
reset_failed_though_reconfig_done = missing,
)
end
if sdf.runid[1] == 99
if runid == 99
@info "skipping runid 99 since it is not exactly 100 run"
return (
psboard_id = sdf.psboard_id[1],
runid = sdf.runid[1],
psboard_id = psboard_id,
runid = runid,
reset_failed_though_reconfig_done = missing,
)
end
slave_result =
if psboard_id == 1545 && runid == 474
@info "skipping psbid 1545 runid 474 since it is broken"
return (
psboard_id = psboard_id,
runid = runid,
reset_failed_though_reconfig_done = missing,
)
end
slave_result = try
PSBoardDataBase.SlaveLogParser.parse_slavelog_file(logfile)
catch e
@error "Failed to parse slavelog file: $(logfile)"
throw(e)
end
return (
psboard_id = sdf.psboard_id[1],
runid = sdf.runid[1],
psboard_id = psboard_id,
runid = runid,
reset_failed_though_reconfig_done = count(
slave_result.asdtp,
) do asdtp_result
asdtp_result.reconfig_done_2 == 0 &&
asdtp_result.pllld_fail_counter == 10
asdtp_result.reconfig_done_2 != asdtp_result.reconfig_done
end,
)
end
end,
) => [:psboard_id, :runid, :reset_failed_though_reconfig_done],
)
# ╔═╡ 20633b30-a703-47bc-92a6-8743abbd375c
sort(dropmissing(df_reset_failed_though_reconfig_done, :reset_failed_though_reconfig_done), :reset_failed_though_reconfig_done, rev = true)
# ╔═╡ 9cf8e7cb-a1f6-4c5b-8c3b-3872d2020e57
result =
PSBoardDataBase.SlaveLogParser.parse_slavelog_file("../test/input/slavelogs/main/1070_310_longrun.txt")
# ╔═╡ 9b055b29-cf54-457d-8776-39430554ef9f
findall(result.asdtp) do result
result.reconfig_done != result.reconfig_done_2
end
# ╔═╡ d5d479b5-4d55-4a55-aa5f-893141981838
result.asdtp[53]
# ╔═╡ 14519d45-a6a9-4ba1-a4f2-9597d1335b2c
let
df_compare = outerjoin(
......@@ -236,7 +309,7 @@ let
end
# ╔═╡ dfeb3900-539f-4d8d-8103-edb67cf4e890
#CSV.write("reset_failed_though_reconfig_done.csv", df_reset_failed_though_reconfig_done)
CSV.write("reset_failed_though_reconfig_done.csv", df_reset_failed_though_reconfig_done[:, [:psboard_id, :runid, :reset_failed_though_reconfig_done]])
# ╔═╡ 332b7481-f6dc-4027-a5c5-cf58d5b6acd3
md"""
......@@ -348,7 +421,7 @@ end
barplot(
asdtp_result_total_pp7_vs_ch,
axis = (;
title = "Campaign 7 B-1-9 PP ASIC7 BCID fail count vs channels",
title = "Campaign 7 B-1-9 PP ASIC7 BCID fail count vs channels",
xlabel = "PP ASIC 7 ch id",
ylabel = "total number of BCID passed",
),
......@@ -376,6 +449,10 @@ barplot(
# ╟─650482e5-9b79-4304-aa5a-2b7c9a377013
# ╠═4b9c0bd8-b17a-4933-8d6e-2da884fc4b5e
# ╠═a0baf37c-8b05-49c1-a6a4-027f3404f8b4
# ╠═20633b30-a703-47bc-92a6-8743abbd375c
# ╠═9cf8e7cb-a1f6-4c5b-8c3b-3872d2020e57
# ╠═9b055b29-cf54-457d-8776-39430554ef9f
# ╠═d5d479b5-4d55-4a55-aa5f-893141981838
# ╠═14519d45-a6a9-4ba1-a4f2-9597d1335b2c
# ╠═dfeb3900-539f-4d8d-8103-edb67cf4e890
# ╟─332b7481-f6dc-4027-a5c5-cf58d5b6acd3
......
### A Pluto.jl notebook ###
# v0.20.4
using Markdown
using InteractiveUtils
# ╔═╡ 39aff458-b7ad-11ef-36a8-11479bd3ad79
begin
using Pkg
Pkg.activate(".")
using PSBoardDataBase
using DataFrames
using CairoMakie
using FHist
using LinearAlgebra
using Printf
using Measurements
using Unitful
using Statistics
using Missings
using PlutoUI
end
# ╔═╡ 775bbe85-0bc3-4a6d-be3d-aa2338cc7091
md"""
# delay unit = 1で待つ時間を変えたときのロックしやすさのスキャン
"""
# ╔═╡ 8c8f15fb-508f-4068-8fc0-d6ad5905891d
df_psboards = DataFrame(
position = ["B-$(i)-$(j)" for j in 1:9 for i in 0:1],
psbid = [
001142,
000973,
000990,
000992,
001113,
001030,
001121,
001141,
001050,
001053,
001110,
001248,
001242,
001276,
000872,
000861,
000525,
000862,
],
)
# ╔═╡ 4ebadb4f-ba6f-412e-9def-450ca9d3f6b8
df_setups = DataFrame(
runid = [384, 386, 388, 389, 390, 391, 393, 396, 397, 398, 400, 401],
firmware = [
fill("PS_firmware_top_2024_11_27.zip", 6)
fill("PS_firmware_top_CPdrivability_2b00.zip", 6)
],
wait_length = [
missing,
100u"ns",
1u"μs",
10u"μs",
100u"μs",
1u"ms",
1u"ms",
100u"ns",
10u"μs",
1u"μs",
100u"μs",
100u"μs",
],
)
# ╔═╡ 8ae734be-7a93-4257-ad2a-02cdee82066a
df_configs = crossjoin(df_setups, df_psboards)
# ╔═╡ d6da8dca-e7f0-4f9e-88dd-53e91c8c55ad
function get_pllld_counter_hist(slaveresult)
h1 = Hist1D(; binedges = 1:1:11)
for asdtp_result in slaveresult.asdtp
push!(h1, asdtp_result.pllld_fail_counter + 1)
end
return h1
end
# ╔═╡ bc78bf6e-2d1f-4922-8b9e-48aaf1e8b0af
df_pllld_fail_counts = transform(
df_configs,
[:runid, :psbid] =>
ByRow(
(runid, psbid) -> begin
slavelog = "../test/input/slavelogs/main/$(psbid)_$(runid)_longrun.txt"
if !ispath(slavelog)
@info "file $(slavelog) not found"
return missing
end
slaveresult =
PSBoardDataBase.SlaveLogParser.parse_slavelog_file(slavelog)
# @info "" slaveresult
h_pllld_fail_count = get_pllld_counter_hist(slaveresult)
h_pllld_fail_count
end,
) => :pllld_count,
)
# ╔═╡ 6100e4a6-30ed-4540-9e8d-0171272e41e9
let df
df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_2024_11_27.zip" && ismissing(wait_length)
end
),
df_pllld_fail_counts,
)
@info "" nrow(df) nrow(df) == 18 * 1
combine(groupby(df, :wait_length), :pllld_count => sum)
end
# ╔═╡ 0100a27a-70a3-4d1d-916e-00be7b436f7e
let df
fig = Figure()
ax = Axis(fig[1, 1], xlabel = "number of reset", title = "same setup as 6th QAQC")
df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_2024_11_27.zip" && ismissing(wait_length)
end
),
df_pllld_fail_counts,
)
normhist = normalize(sum(df.pllld_count))
stephist!(ax, normhist)
errorbars!(ax, normhist)
fig
end
# ╔═╡ d1be7028-6c2d-40bc-8a76-352d59d1f91a
let df
df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_2024_11_27.zip" && !ismissing(wait_length)
end
),
df_pllld_fail_counts,
)
@info "" nrow(df) nrow(df) == 18 * 5
df_summarized = combine(groupby(df, :wait_length), :pllld_count => sum)
fig = Figure(size = (600, 1000))
Label(fig[0, 1], "normal firmware, softreset software for scanning", tellwidth = false)
for (i, row) in enumerate(eachrow(df_summarized))
ax = Axis(
fig[i, 1],
yscale = log10,
xlabel = "number of resets",
ylabel = "fraction",
title = "$(row.wait_length)",
limits = ((1, 11), (eps(), 100)),
)
normhist = normalize(row.pllld_count_sum)
stephist!(ax, normhist)
errorbars!(ax, normhist)
text!(
ax,
bincenters(normhist),
bincounts(normhist),
text = [@sprintf "%.4f" r for r in bincounts(normhist)],
)
end
fig
end
# ╔═╡ ae97c43d-34dd-4aad-8cf5-7158b717e5c1
let df
df = filter(
[:firmware, :wait_length] => (
(firmware, wait_length) -> begin
firmware == "PS_firmware_top_CPdrivability_2b00.zip"
end
),
df_pllld_fail_counts,
)
dropmissing!(df, :pllld_count)
@info "" nrow(df) nrow(df) == 18 * 6
df_summarized = combine(groupby(df, :wait_length, sort = true), :pllld_count => sum)
fig = Figure(size = (600, 1000))
Label(fig[0, 1], "minimum charge pump bias current", tellwidth = false)
for (i, row) in enumerate(eachrow(df_summarized))
ax = Axis(
fig[i, 1],
yscale = log10,
xlabel = "number of resets",
ylabel = "fraction",
title = "$(row.wait_length)",
limits = ((1, 11), (eps(), 100)),
)
normhist = normalize(row.pllld_count_sum)
stephist!(ax, normhist)
errorbars!(ax, normhist)
text!(
ax,
bincenters(normhist),
bincounts(normhist),
text = [@sprintf "%.4f" r for r in bincounts(normhist)],
)
end
fig
end
# ╔═╡ 6206becc-364c-47b6-bfe3-d295b784cade
md"""
TODO: **なぜrun393であんなに時間かかった????**
"""
# ╔═╡ b420835f-0f8c-4561-9662-975dedfe03c4
0.0002 * 1800
# ╔═╡ Cell order:
# ╠═775bbe85-0bc3-4a6d-be3d-aa2338cc7091
# ╠═39aff458-b7ad-11ef-36a8-11479bd3ad79
# ╠═8c8f15fb-508f-4068-8fc0-d6ad5905891d
# ╠═4ebadb4f-ba6f-412e-9def-450ca9d3f6b8
# ╠═8ae734be-7a93-4257-ad2a-02cdee82066a
# ╠═d6da8dca-e7f0-4f9e-88dd-53e91c8c55ad
# ╠═bc78bf6e-2d1f-4922-8b9e-48aaf1e8b0af
# ╠═6100e4a6-30ed-4540-9e8d-0171272e41e9
# ╠═0100a27a-70a3-4d1d-916e-00be7b436f7e
# ╠═d1be7028-6c2d-40bc-8a76-352d59d1f91a
# ╠═ae97c43d-34dd-4aad-8cf5-7158b717e5c1
# ╠═6206becc-364c-47b6-bfe3-d295b784cade
# ╠═b420835f-0f8c-4561-9662-975dedfe03c4
### A Pluto.jl notebook ###
# v0.20.2
# v0.20.4
using Markdown
using InteractiveUtils
......
### A Pluto.jl notebook ###
# v0.20.3
# v0.20.4
using Markdown
using InteractiveUtils
......@@ -18,7 +18,7 @@ begin
using DataFrames
using SQLite
using DBInterface
using CairoMakie
# using CairoMakie
using PlutoUI
end
......@@ -55,6 +55,9 @@ qaqc_single_run_results_with_ppconfig_error = transform(
if !ispath(logfilepath)
return missing
end
if psbid == 723 && runid == 434
return missing
end
slavelog =
PSBoardDataBase.SlaveLogParser.parse_slavelog_file(logfilepath)
result_asdtp = slavelog.asdtp
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
### A Pluto.jl notebook ###
# v0.20.2
using Markdown
using InteractiveUtils
# ╔═╡ cba1228a-b95e-11ef-0e06-5df9120a08ad
begin
using Pkg
Pkg.activate(".")
end
# ╔═╡ 0f44ab6d-8f68-495e-95b9-9168cdf22004
begin
using SQLite
using DataFrames
using CairoMakie
using Dates
end
# ╔═╡ 436f0b91-4cc8-4c22-b625-cfd4779e20ec
db = SQLite.DB("../psboard_qaqc.db")
# ╔═╡ 085176e5-c0f9-4cf2-8416-581a8d20c941
SQLite.tables(db)
# ╔═╡ 363afd96-5b0d-4b09-b480-64a40ddce8cd
qaqc_single_run_results =
DBInterface.execute(db, "select * from qaqc_single_run_results") |> DataFrame
# ╔═╡ 0467fb45-6b97-4148-8343-0e4b06a7c2ec
qaqc_runs = let
df = DBInterface.execute(db, "select * from qaqc_runs") |> DataFrame
transform!(df, :run_datetime => ByRow(passmissing(DateTime)) => :run_datetime)
df
end
# ╔═╡ 4c30b33a-e15e-4b3c-a0f5-50184e7a711f
qaqc_campaigns = let
df = DBInterface.execute(db, "select * from qaqc_campaigns") |> DataFrame
transform!(
df,
:start_date => ByRow(DateTime) => :start_date,
:end_date => ByRow(DateTime) => :end_date,
)
df
end
# ╔═╡ 560bbdc3-26a4-4fe9-8459-e5ecaad04082
qaqc_dispatch = let
df = DBInterface.execute(db, "select * from qaqc_dispatch") |> DataFrame
transform!(df, :qaqc_campaign_id => ByRow(x -> begin
if x == 0
x + 1
else
x
end
end) => :qaqc_campaign_id)
df
end
# ╔═╡ 89d90098-0324-4bc0-8881-819cd8685f5c
df_num_tested_boards = let
df = leftjoin(
select(qaqc_single_run_results, [:psboard_id, :runid]),
qaqc_runs,
on = :runid => :id,
)
sort!(df, :runid)
df = combine(groupby(df, :psboard_id), first)
df = combine(
groupby(df, :campaign_id),
:psboard_id => length unique => :num_tested_boards,
)
df = leftjoin(df, qaqc_campaigns, on = :campaign_id => :id)
df.num_total_tested = accumulate(+, df.num_tested_boards)
disallowmissing!(df, :end_date)
df
end
# ╔═╡ fa7565e0-2662-4f2c-8e1c-8f6158557d58
df_num_dispatched = let
df = combine(groupby(qaqc_dispatch, :qaqc_campaign_id), nrow => :num_dispatched)
df.num_total_dispatched = accumulate(+, df.num_dispatched)
df = leftjoin(df, qaqc_campaigns, on = :qaqc_campaign_id => :id)
disallowmissing!(df, :end_date)
df
end
# ╔═╡ 8a2ae739-0da0-49cc-9614-74ac7e133599
let
fig = Figure(size = (600, 400))
ax = Axis(fig[1, 1], limits = (nothing, (0, 1500)), title = "PS-Board QAQC progress")
n_campaings = nrow(df_num_dispatched)
num_testeds = let
v = df_num_tested_boards.num_total_tested |> copy
hcat([0, v[1:(end - 1)]...], v) |> transpose |> (a -> reshape(a, 2 * n_campaings))
end
num_dispatched = let
v = df_num_dispatched.num_total_dispatched |> copy
hcat([0, v[1:(end - 1)]...], v) |> transpose |> (a -> reshape(a, 2 * n_campaings))
end
start_end_dates =
vcat(
reshape(df_num_dispatched.start_date, (1, n_campaings)),
reshape(df_num_dispatched.end_date, (1, n_campaings)),
) |>
(a -> reshape(a, 12)) |>
skipmissing |>
collect
@info "" num_testeds num_dispatched
lines!(ax, start_end_dates, num_testeds, label = "tested")
lines!(ax, start_end_dates, num_dispatched, label = "passed")
middle_dates = let
starts = df_num_dispatched.start_date
@. (df_num_dispatched.end_date - starts) / 2 + starts
end
text!(
ax,
middle_dates,
df_num_tested_boards.num_total_tested,
text = ["1st", "2nd", "3rd", ("$(i)th" for i in 4:n_campaings)...],
align = (:center, :bottom),
)
axislegend(position = :rb)
save("qaqc_progress.svg", fig)
fig
end
# ╔═╡ Cell order:
# ╠═cba1228a-b95e-11ef-0e06-5df9120a08ad
# ╠═0f44ab6d-8f68-495e-95b9-9168cdf22004
# ╠═436f0b91-4cc8-4c22-b625-cfd4779e20ec
# ╠═085176e5-c0f9-4cf2-8416-581a8d20c941
# ╠═363afd96-5b0d-4b09-b480-64a40ddce8cd
# ╠═0467fb45-6b97-4148-8343-0e4b06a7c2ec
# ╠═4c30b33a-e15e-4b3c-a0f5-50184e7a711f
# ╠═560bbdc3-26a4-4fe9-8459-e5ecaad04082
# ╠═89d90098-0324-4bc0-8881-819cd8685f5c
# ╠═fa7565e0-2662-4f2c-8e1c-8f6158557d58
# ╠═8a2ae739-0da0-49cc-9614-74ac7e133599
This diff is collapsed.
This diff is collapsed.