You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+37-4
Original file line number
Diff line number
Diff line change
@@ -17,13 +17,34 @@ make
17
17
./pftool -h # print help
18
18
```
19
19
20
+
### Brief History
21
+
Versions 1 and 2 were designed with a different board setup where we were connecting to
22
+
an intermediate *P*olar*F*ire board (hence the `pf` in the name) that connected to the HGCROC.
23
+
This mode was used for a preliminary testbeam and a lot of additional development was done
24
+
on top of the basic setup.
25
+
We have now switched to a connection where we SSH to a ZCU board which then connects to
26
+
the HGCROC directly. This connection has been enabled after branching off of v2.0.6
27
+
and is the new `main` branch which has led to a weird branch structure.
28
+
```
29
+
v2.0.6 tag
30
+
|
31
+
--o--o--o--o--o--o--o--o--o--o--o <- `main` branch where releases v3 and above will be
32
+
\
33
+
\o--o--o--o--o--o <- `v2` branch with releases >v2.0.6 and <v3
34
+
```
35
+
We (Jeremy and Tom) have decided to do this so that we can pick and choose which
36
+
features that were developed for the testbeam to copy over to the new connection
37
+
structure. Some of them rely on the old connection structure and so do not work
38
+
with the new structure.
39
+
20
40
## YAML->Register "Compilation"
21
41
The more detailed documentation for this compilation can be found in the pflib/Compile.h file.
22
42
The \hgcrocmanual is also a decent reference since that is where most of the parameter names are pulled from.
23
43
The documentation of \dataformats is helpful for learning how to decode the raw files.
24
44
25
45
Translating YAML files containing named settings and their values into actual register values that can be written to the chip requires a (you guessed it) YAML parser.
26
46
I have chosen to use [yaml-cpp](https://github.com/jbeder/yaml-cpp) which is very light and easy to install.
47
+
v0.6.3 is installed in the ZCU image Jeremy has shared.
27
48
28
49
**Note**: Make sure to build yaml-cpp with the `YAML_BUILD_SHARED_LIBS=ON` cmake option so that we can link it properly to our code.
29
50
@@ -45,12 +66,24 @@ make install
45
66
This software can communicate with the HGCROC and other front-end items using several different methods.
46
67
47
68
### Direct I2C
48
-
This mode of operation is used for the HCAL HGCROC board tester. It has no external dependencies as it uses /dev/i2c character
49
-
devices for communication.
69
+
This mode of operation is used for the HCAL HGCROC board tester.
70
+
It has no external dependencies as it uses /dev/i2c character devices for communication.
50
71
51
72
## Other Dependencies
52
-
Besides these two "larger" dependencies, we simply use some C++14 as well as the GNU readline library for the `pftool`.
53
-
This effectively restricts us to relatively new Linux systems; we haven't tested this library on a large set of potentional options.
73
+
Besides these two "larger" dependencies, we simply use some C++14 as well as the GNU readline library for the `pftool`.
74
+
This effectively restricts us to relatively new Linux systems; we haven't tested this library on a large set of potentional options.
75
+
76
+
### ZCU Image
77
+
For HGCROC tester setups, we connect to the HGCROV directly over I2C from
78
+
a ZCU with a standardized image Jeremy has shared via Google Drive.
0 commit comments