Skip to content

Commit adb70fc

Browse files
committed
8 Nodes Configuration Support
UI and configuration now supports 8 Nodes with two network interfaces per PC.
1 parent c3bebf7 commit adb70fc

14 files changed

+253
-27
lines changed

control/config/2x6_control_8N.cfg

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
[server]
2+
debug_mode = 1
3+
http_port = 8888
4+
http_addr = 127.0.0.1
5+
adapters = proxy, hexitec, system_info, live_view, live_histogram, fr, fp, file_interface
6+
7+
[tornado]
8+
logging = debug
9+
10+
[adapter.hexitec]
11+
module = hexitec.adapter.HexitecAdapter
12+
13+
fem =
14+
farm_mode = control/config/farm_mode8.json
15+
16+
[adapter.live_view]
17+
module = odin_data.live_view_adapter.LiveViewAdapter
18+
live_view_endpoints = tcp://192.168.0.52:5020
19+
default_colormap = Jet
20+
21+
[adapter.live_histogram]
22+
module = hexitec.live_histogram_adapter.LiveViewAdapter
23+
live_view_endpoints = tcp://192.168.0.52:5021
24+
default_colormap = Jet
25+
26+
[adapter.fr]
27+
module = odin_data.frame_receiver_adapter.FrameReceiverAdapter
28+
endpoints = 192.168.0.52:5210,
29+
192.168.0.53:5310,
30+
192.168.0.54:5410,
31+
192.168.0.51:5110,
32+
192.168.0.52:5211,
33+
192.168.0.53:5311,
34+
192.168.0.54:5411,
35+
192.168.0.51:5111
36+
update_interval = 2.0
37+
38+
[adapter.fp]
39+
module = odin_data.frame_processor_adapter.FrameProcessorAdapter
40+
endpoints = 192.168.0.52:5104,
41+
192.168.0.53:5204,
42+
192.168.0.54:5304,
43+
192.168.0.51:5004,
44+
192.168.0.52:5114,
45+
192.168.0.53:5214,
46+
192.168.0.54:5314,
47+
192.168.0.51:5014
48+
update_interval = 2.0
49+
50+
[adapter.system_info]
51+
module = odin.adapters.system_info.SystemInfoAdapter
52+
53+
[adapter.file_interface]
54+
module = hexitec.FileInterface.FileInterfaceAdapter
55+
directories =
56+
odin_data = data/config/
57+
58+
[adapter.proxy]
59+
module = odin.adapters.async_proxy.AsyncProxyAdapter
60+
targets =
61+
leak = http://hxtleak.aeg.lan/api/0.1/hxtleak/
62+
request_timeout = 2.0

control/config/farm_mode5.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"farm_server_2_mac": "5c:6f:69:f8:a3:e0",
1818
"farm_camera_2_ip": "10.0.1.102",
1919
"farm_camera_2_mac": "62:00:00:00:01:0C",
20-
"farm_target_ip": "10.0.1.2 10.0.1.3 10.0.1.4 10.0.1.1 10.0.1.2",
21-
"farm_target_mac": "5c:6f:69:f8:57:d0 5c:6f:69:f8:a3:e0 5c:6f:69:f8:7a:10 5c:6f:69:f8:6b:a0 5c:6f:69:f8:57:d0",
20+
"farm_target_ip": "10.0.1.2 10.0.1.3 10.0.1.4 10.0.1.1 10.0.2.2",
21+
"farm_target_mac": "5c:6f:69:f8:57:d0 5c:6f:69:f8:a3:e0 5c:6f:69:f8:7a:10 5c:6f:69:f8:6b:a0 5c:6f:69:f8:57:d1",
2222
"farm_target_port": "61649 61649 61649 61659 61650"
2323
}

control/config/farm_mode6.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"farm_server_2_mac": "5c:6f:69:f8:a3:e0",
1818
"farm_camera_2_ip": "10.0.1.102",
1919
"farm_camera_2_mac": "62:00:00:00:01:0C",
20-
"farm_target_ip": "10.0.1.2 10.0.1.3 10.0.1.4 10.0.1.1 10.0.1.2 10.0.1.3",
21-
"farm_target_mac": "5c:6f:69:f8:57:d0 5c:6f:69:f8:a3:e0 5c:6f:69:f8:7a:10 5c:6f:69:f8:6b:a0 5c:6f:69:f8:57:d0 5c:6f:69:f8:a3:e0",
20+
"farm_target_ip": "10.0.1.2 10.0.1.3 10.0.1.4 10.0.1.1 10.0.2.2 10.0.2.3",
21+
"farm_target_mac": "5c:6f:69:f8:57:d0 5c:6f:69:f8:a3:e0 5c:6f:69:f8:7a:10 5c:6f:69:f8:6b:a0 5c:6f:69:f8:57:d1 5c:6f:69:f8:a3:e1",
2222
"farm_target_port": "61649 61649 61649 61659 61650 61650"
2323
}

control/config/farm_mode8.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"camera_ctrl_ip": "10.0.1.100",
3+
"camera_ctrl_mac": "62:00:00:00:01:0A",
4+
"camera_ctrl_port": "61648",
5+
"server_ctrl_port": "61649",
6+
"control_interface": "ens2f0np0",
7+
"control_lane": "1",
8+
"data1_interface": "ens2f0np0",
9+
"data1_lane": "2",
10+
"data2_interface": "ens2f0np0",
11+
"data2_lane": "3",
12+
"farm_server_1_ip": "10.0.1.2",
13+
"farm_server_1_mac": "5c:6f:69:f8:57:d0",
14+
"farm_camera_1_ip": "10.0.1.101",
15+
"farm_camera_1_mac": "62:00:00:00:01:0B",
16+
"farm_server_2_ip": "10.0.1.3",
17+
"farm_server_2_mac": "5c:6f:69:f8:a3:e0",
18+
"farm_camera_2_ip": "10.0.1.102",
19+
"farm_camera_2_mac": "62:00:00:00:01:0C",
20+
"farm_target_ip": "10.0.1.2 10.0.1.3 10.0.1.4 10.0.1.1 10.0.2.2 10.0.2.3 10.0.2.4 10.0.2.1",
21+
"farm_target_mac": "5c:6f:69:f8:57:d0 5c:6f:69:f8:a3:e0 5c:6f:69:f8:7a:10 5c:6f:69:f8:6b:a0 5c:6f:69:f8:57:d1 5c:6f:69:f8:a3:e1 5c:6f:69:f8:7a:11 5c:6f:69:f8:6b:a1",
22+
"farm_target_port": "61649 61649 61649 61659 61650 61650 61659 61660"
23+
}

control/static/index.html

+102-14
Original file line numberDiff line numberDiff line change
@@ -1141,6 +1141,22 @@ <h2>Column 3</h2>
11411141
<td>Node4.Buffers empty</td>
11421142
<td><span id="buffers_empty4" style="float:right">&nbsp;</span></td>
11431143
</tr>
1144+
<tr>
1145+
<td>Node5.Buffers empty</td>
1146+
<td><span id="buffers_empty5" style="float:right">&nbsp;</span></td>
1147+
</tr>
1148+
<tr>
1149+
<td>Node6.Buffers empty</td>
1150+
<td><span id="buffers_empty6" style="float:right">&nbsp;</span></td>
1151+
</tr>
1152+
<tr>
1153+
<td>Node7.Buffers empty</td>
1154+
<td><span id="buffers_empty7" style="float:right">&nbsp;</span></td>
1155+
</tr>
1156+
<tr>
1157+
<td>Node8.Buffers empty</td>
1158+
<td><span id="buffers_empty8" style="float:right">&nbsp;</span></td>
1159+
</tr>
11441160
<tr>
11451161
<td>Node1.FR packets lost</td>
11461162
<td><span id="packets_lost1" style="float:right">&nbsp;</span></td>
@@ -1157,6 +1173,22 @@ <h2>Column 3</h2>
11571173
<td>Node4.FR packets lost</td>
11581174
<td><span id="packets_lost4" style="float:right">&nbsp;</span></td>
11591175
</tr>
1176+
<tr>
1177+
<td>Node5.FR packets lost</td>
1178+
<td><span id="packets_lost5" style="float:right">&nbsp;</span></td>
1179+
</tr>
1180+
<tr>
1181+
<td>Node6.FR packets lost</td>
1182+
<td><span id="packets_lost6" style="float:right">&nbsp;</span></td>
1183+
</tr>
1184+
<tr>
1185+
<td>Node7.FR packets lost</td>
1186+
<td><span id="packets_lost7" style="float:right">&nbsp;</span></td>
1187+
</tr>
1188+
<tr>
1189+
<td>Node8.FR packets lost</td>
1190+
<td><span id="packets_lost8" style="float:right">&nbsp;</span></td>
1191+
</tr>
11601192
<tr>
11611193
<td>Node1.Buffers mapped</td>
11621194
<td><span id="buffers_mapped1" style="float:right">&nbsp;</span></td>
@@ -1173,30 +1205,22 @@ <h2>Column 3</h2>
11731205
<td>Node4.Buffers mapped</td>
11741206
<td><span id="buffers_mapped4" style="float:right">&nbsp;</span></td>
11751207
</tr>
1176-
<!-- <tr>
1177-
<td>Node5.Buffers empty</td>
1178-
<td><span id="buffers_empty5" style="float:right">&nbsp;</span></td>
1179-
</tr>
11801208
<tr>
11811209
<td>Node5.Buffers mapped</td>
11821210
<td><span id="buffers_mapped5" style="float:right">&nbsp;</span></td>
11831211
</tr>
11841212
<tr>
1185-
<td>Node5.FR packets_lost</td>
1186-
<td><span id="packets_lost5" style="float:right">&nbsp;</span></td>
1213+
<td>Node6.Buffers mapped</td>
1214+
<td><span id="buffers_mapped6" style="float:right">&nbsp;</span></td>
11871215
</tr>
11881216
<tr>
1189-
<td>Node6.Buffers empty</td>
1190-
<td><span id="buffers_empty6" style="float:right">&nbsp;</span></td>
1217+
<td>Node7.Buffers mapped</td>
1218+
<td><span id="buffers_mapped7" style="float:right">&nbsp;</span></td>
11911219
</tr>
11921220
<tr>
1193-
<td>Node6.Buffers mapped</td>
1194-
<td><span id="buffers_mapped6" style="float:right">&nbsp;</span></td>
1221+
<td>Node8.Buffers mapped</td>
1222+
<td><span id="buffers_mapped8" style="float:right">&nbsp;</span></td>
11951223
</tr>
1196-
<tr>
1197-
<td>Node6.FR packets_lost</td>
1198-
<td><span id="packets_lost6" style="float:right">&nbsp;</span></td>
1199-
</tr> -->
12001224
</tbody>
12011225
</table>
12021226
<table class="table table-striped" style="width=100%">
@@ -1239,6 +1263,22 @@ <h2>Column 3</h2>
12391263
<td>Node4.Dropped</td>
12401264
<td><span id="frames_dropped4" style="float:right">&nbsp;</span></td>
12411265
</tr>
1266+
<tr>
1267+
<td>Node5.Dropped</td>
1268+
<td><span id="frames_dropped5" style="float:right">&nbsp;</span></td>
1269+
</tr>
1270+
<tr>
1271+
<td>Node6.Dropped</td>
1272+
<td><span id="frames_dropped6" style="float:right">&nbsp;</span></td>
1273+
</tr>
1274+
<tr>
1275+
<td>Node7.Dropped</td>
1276+
<td><span id="frames_dropped7" style="float:right">&nbsp;</span></td>
1277+
</tr>
1278+
<tr>
1279+
<td>Node8.Dropped</td>
1280+
<td><span id="frames_dropped8" style="float:right">&nbsp;</span></td>
1281+
</tr>
12421282
<tr>
12431283
<td>Node1.Timed out</td>
12441284
<td><span id="frames_timedout1" style="float:right">&nbsp;</span></td>
@@ -1279,6 +1319,22 @@ <h2>Column 3</h2>
12791319
<td>Node4.Timed out</td>
12801320
<td><span id="frames_timedout4" style="float:right">&nbsp;</span></td>
12811321
</tr>
1322+
<tr>
1323+
<td>Node5.Timed out</td>
1324+
<td><span id="frames_timedout5" style="float:right">&nbsp;</span></td>
1325+
</tr>
1326+
<tr>
1327+
<td>Node6.Timed out</td>
1328+
<td><span id="frames_timedout6" style="float:right">&nbsp;</span></td>
1329+
</tr>
1330+
<tr>
1331+
<td>Node7.Timed out</td>
1332+
<td><span id="frames_timedout7" style="float:right">&nbsp;</span></td>
1333+
</tr>
1334+
<tr>
1335+
<td>Node8.Timed out</td>
1336+
<td><span id="frames_timedout8" style="float:right">&nbsp;</span></td>
1337+
</tr>
12821338
</tbody>
12831339
</table>
12841340
</div>
@@ -1397,6 +1453,22 @@ <h2>Column 3</h2>
13971453
<td>Node4.FP Processed</td>
13981454
<td><span id="fp_processed4" style="float:right">&nbsp;</span></td>
13991455
</tr>
1456+
<tr>
1457+
<td>Node5.FP Processed</td>
1458+
<td><span id="fp_processed5" style="float:right">&nbsp;</span></td>
1459+
</tr>
1460+
<tr>
1461+
<td>Node6.FP Processed</td>
1462+
<td><span id="fp_processed6" style="float:right">&nbsp;</span></td>
1463+
</tr>
1464+
<tr>
1465+
<td>Node7.FP Processed</td>
1466+
<td><span id="fp_processed7" style="float:right">&nbsp;</span></td>
1467+
</tr>
1468+
<tr>
1469+
<td>Node8.FP Processed</td>
1470+
<td><span id="fp_processed8" style="float:right">&nbsp;</span></td>
1471+
</tr>
14001472
<tr>
14011473
<td>Node1.FP Errors</td>
14021474
<td><span id="fp_errors1" style="float:right">&nbsp;</span></td>
@@ -1413,6 +1485,22 @@ <h2>Column 3</h2>
14131485
<td>Node4.FP Errors</td>
14141486
<td><span id="fp_errors4" style="float:right">&nbsp;</span></td>
14151487
</tr>
1488+
<tr>
1489+
<td>Node5.FP Errors</td>
1490+
<td><span id="fp_errors5" style="float:right">&nbsp;</span></td>
1491+
</tr>
1492+
<tr>
1493+
<td>Node6.FP Errors</td>
1494+
<td><span id="fp_errors6" style="float:right">&nbsp;</span></td>
1495+
</tr>
1496+
<tr>
1497+
<td>Node7.FP Errors</td>
1498+
<td><span id="fp_errors7" style="float:right">&nbsp;</span></td>
1499+
</tr>
1500+
<tr>
1501+
<td>Node8.FP Errors</td>
1502+
<td><span id="fp_errors8" style="float:right">&nbsp;</span></td>
1503+
</tr>
14161504
<!-- <tr>
14171505
<td>daq stop</td>
14181506
<td><span id="daq_stop" style="float:right">&nbsp;</span></td>

control/static/js/odin_server.js

+2-3
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ function resetButtonClicked() {
121121
}
122122

123123
function disconnectButtonClicked() {
124-
// Disconnect automatically turns HV off, signal "off" to Software
124+
// Disconnect will automatically turn HV off, so signal "off" to Software
125125
hvOffButtonClicked();
126126
setTimeout(function () {
127127
disconnect_hardware();
@@ -371,12 +371,11 @@ function poll_fem() {
371371
const frames_received = result["detector"]["daq"]["status"]["frames_received"];
372372
const frames_processed = result["detector"]["daq"]["status"]["frames_processed"];
373373
const processed_remaining = result["detector"]["daq"]["status"]["processed_remaining"];
374-
const received_remaining = result["detector"]["daq"]["status"]["received_remaining"];
375374
const fraction_received = (frames_received / frames_expected).toFixed(2);
376375
const fraction_processed = (frames_processed / frames_expected).toFixed(2);
377376
document.querySelector('#total_frames_expected').innerHTML = frames_expected;
378377
document.querySelector('#total_frames_processed').innerHTML = frames_processed;
379-
// console.log(" rxd: " + frames_received + " " + received_remaining + " (" + fraction_received + ")" +
378+
// console.log(" rxd: " + frames_received + " (" + fraction_received + ")" +
380379
// " proc'd: " + frames_processed + " " + processed_remaining + " (" + fraction_processed + ")" +
381380
// " tot: " + frames_expected); /// DEBUGGING
382381
var daq_progress = document.getElementById("daq-progress");

data/config/fp_hxtdaq1_fp_0.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[
22
{
33
"fr_setup": {
4-
"fr_ready_cnxn": "tcp://127.0.0.1:5001",
5-
"fr_release_cnxn": "tcp://127.0.0.1:5002"
4+
"fr_ready_cnxn": "tcp://127.0.0.1:5501",
5+
"fr_release_cnxn": "tcp://127.0.0.1:5502"
66
}
77
}
88
]

data/config/fp_hxtdaq1_fp_1.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[
2+
{
3+
"fr_setup": {
4+
"fr_ready_cnxn": "tcp://127.0.0.1:5011",
5+
"fr_release_cnxn": "tcp://127.0.0.1:5012"
6+
}
7+
}
8+
]

data/config/fp_hxtdaq4_fp_1.json

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[
2+
{
3+
"fr_setup": {
4+
"fr_ready_cnxn": "tcp://127.0.0.1:5311",
5+
"fr_release_cnxn": "tcp://127.0.0.1:5312"
6+
}
7+
}
8+
]

data/config/fr_hxtdaq1_fr_0.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[
22
{
33
"ctrl_endpoint": "tcp://192.168.0.51:5110",
4-
"frame_ready_endpoint": "tcp://127.0.0.1:5001",
5-
"frame_release_endpoint": "tcp://127.0.0.1:5002",
4+
"frame_ready_endpoint": "tcp://127.0.0.1:5501",
5+
"frame_release_endpoint": "tcp://127.0.0.1:5502",
66
"shared_buffer_name": "HexitecFrameBuffer0",
77
"rx_address": "10.0.1.1",
88
"rx_ports": "61659",

data/config/fr_hxtdaq1_fr_1.json

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
[
2+
{
3+
"ctrl_endpoint": "tcp://192.168.0.51:5111",
4+
"frame_ready_endpoint": "tcp://127.0.0.1:5011",
5+
"frame_release_endpoint": "tcp://127.0.0.1:5012",
6+
"shared_buffer_name": "HexitecFrameBuffer01",
7+
"rx_address": "10.0.2.1",
8+
"rx_ports": "61660",
9+
"max_buffer_mem": 8000000000,
10+
"decoder_path": "lib/",
11+
"decoder_type": "Hexitec",
12+
"decoder_config": {
13+
"enable_packet_logging": false,
14+
"frame_timeout_ms": 1000,
15+
"fem_port_map": "61660:0",
16+
"sensors_layout": "2x6"
17+
}
18+
}
19+
]

data/config/fr_hxtdaq2_fr_1.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"frame_ready_endpoint": "tcp://127.0.0.1:5111",
55
"frame_release_endpoint": "tcp://127.0.0.1:5112",
66
"shared_buffer_name": "HexitecFrameBuffer11",
7-
"rx_address": "10.0.1.2",
7+
"rx_address": "10.0.2.2",
88
"rx_ports": "61650",
99
"max_buffer_mem": 8000000000,
1010
"decoder_path": "lib/",

data/config/fr_hxtdaq3_fr_1.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"frame_ready_endpoint": "tcp://127.0.0.1:5211",
55
"frame_release_endpoint": "tcp://127.0.0.1:5212",
66
"shared_buffer_name": "HexitecFrameBuffer21",
7-
"rx_address": "10.0.1.3",
7+
"rx_address": "10.0.2.3",
88
"rx_ports": "61650",
99
"max_buffer_mem": 8000000000,
1010
"decoder_path": "lib/",

0 commit comments

Comments
 (0)