AcquisitionDevice: Enable access to integration results

This commit is contained in:
2023-09-22 20:31:48 +02:00
parent 3f3ce6f354
commit 5cf0d30603
9 changed files with 140 additions and 5 deletions
+27
View File
@@ -456,6 +456,33 @@ void HLSSimulatedDevice::HW_LoadCalibration(uint32_t modules, uint32_t storage_c
throw std::runtime_error("Datamover queue is not empty");
}
void HLSSimulatedDevice::HW_LoadIntegrationMap(uint32_t modules) {
if (logger)
logger->Info("Load calibration start");
auto in_mem_location32 = (uint32_t *) calibration_addr_bram;
for (int i = 0; i < modules; i++) {
in_mem_location32[2 * i ] = ((uint64_t) buffer_device[i]) & UINT32_MAX;
in_mem_location32[2 * i + 1] = ((uint64_t) buffer_device[i]) >> 32;
}
load_calibration(hbm.data(),
hbm.data(),
modules,
0,
hbm_if_size,
LOAD_CALIBRATION_DEST_INTEGRATION,
datamover_in.GetCtrlStream(),
datamover_in.GetDataStream(),
calibration_addr_bram);
if (logger)
logger->Info("Load integration_map");
if (!datamover_in.GetDataStream().empty())
throw std::runtime_error("Datamover queue is not empty");
}
uint32_t HLSSimulatedDevice::GetCompletedDescriptors() const {
return datamover_out.GetCompletedDescriptors();
}