-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfigIO.go
52 lines (43 loc) · 1.15 KB
/
configIO.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package main
import (
"fmt"
"log"
"os"
"gopkg.in/yaml.v3"
)
func saveConfigYaml(data *DaqData, file string) {
configToSave := make(map[byte]map[string]any)
for card, values := range data.probeConfiguration {
configToSave[card] = make(map[string]any)
configToSave[card]["probeConfiguration"] = values
}
for card, values := range data.slowControlConfiguration {
configToSave[card]["slowControlConfiguration"] = values
}
dataTest, err := yaml.Marshal(configToSave)
if err != nil {
log.Fatal(err)
}
err2 := os.WriteFile(file, dataTest, 0644)
if err2 != nil {
log.Fatal(err2)
}
fmt.Println("data written")
_ = dataTest
}
func readConfigYaml(data *DaqData, file string) {
yfile, err := os.ReadFile(file)
if err != nil {
log.Fatal(err)
}
dataYaml := make(map[byte]map[string]map[string]any)
err2 := yaml.Unmarshal(yfile, &dataYaml)
_ = err2
for card, values := range dataYaml {
// Load only configuration for cards that are connected
if _, ok := data.probeConfiguration[card]; ok {
data.probeConfiguration[card] = values["probeConfiguration"]
data.slowControlConfiguration[card] = values["slowControlConfiguration"]
}
}
}