Skip to content

Commit 9fd34d3

Browse files
add notes in README about funky history
1 parent 8f14863 commit 9fd34d3

File tree

1 file changed

+37
-4
lines changed

1 file changed

+37
-4
lines changed

README.md

+37-4
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,34 @@ make
1717
./pftool -h # print help
1818
```
1919

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+
2040
## YAML->Register "Compilation"
2141
The more detailed documentation for this compilation can be found in the pflib/Compile.h file.
2242
The \hgcrocmanual is also a decent reference since that is where most of the parameter names are pulled from.
2343
The documentation of \dataformats is helpful for learning how to decode the raw files.
2444

2545
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.
2646
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.
2748

2849
**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.
2950

@@ -45,12 +66,24 @@ make install
4566
This software can communicate with the HGCROC and other front-end items using several different methods.
4667

4768
### 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.
5071

5172
## 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.
79+
80+
Layer | Description
81+
---|---
82+
OS | AlmaLinux 9.4
83+
gcc | 11.4.1
84+
cmake | 3.26.5
85+
readline | 8.1
86+
yaml-cpp | 0.6.3
5487

5588
### UMN Setup
5689
Layer | Description

0 commit comments

Comments
 (0)