HLS_C_Simulation_check_single_packet: check for memory content for missed packets

This commit is contained in:
2023-09-21 18:39:05 +02:00
parent 2eb85496f2
commit bb29e7e646

View File

@@ -282,6 +282,12 @@ TEST_CASE("HLS_C_Simulation_check_single_packet", "[FPGA][Full]") {
DiffractionExperiment x((DetectorGeometry(nmodules)));
uint16_t data[4096];
uint16_t wrong[4096];
for (int i = 0; i < 4096; i++) {
data[i] = (7 * i + 534 + 5 * i * i) % UINT16_MAX;
wrong[i] = UINT16_MAX;
}
x.Mode(DetectorMode::Raw);
x.PedestalG0Frames(0).ImagesPerTrigger(3).NumTriggers(1);
@@ -320,6 +326,18 @@ TEST_CASE("HLS_C_Simulation_check_single_packet", "[FPGA][Full]") {
REQUIRE(test.GetBytesReceived() == 15 * JUNGFRAU_PACKET_SIZE_BYTES);
REQUIRE(memcmp(test.GetFrameBuffer(0,0), data, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,0) + 1 * JUNGFRAU_PACKET_SIZE_BYTES/2, wrong, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,0) + 2 * JUNGFRAU_PACKET_SIZE_BYTES/2, wrong, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,0) + 3 * JUNGFRAU_PACKET_SIZE_BYTES/2, wrong, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,0) + 4 * JUNGFRAU_PACKET_SIZE_BYTES/2, data, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,0) + 5 * JUNGFRAU_PACKET_SIZE_BYTES/2, data, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,0) + 6 * JUNGFRAU_PACKET_SIZE_BYTES/2, wrong, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,0) + 64 * JUNGFRAU_PACKET_SIZE_BYTES/2, data, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,1) + 67 * JUNGFRAU_PACKET_SIZE_BYTES/2, data, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
REQUIRE(memcmp(test.GetFrameBuffer(0,1) + 65 * JUNGFRAU_PACKET_SIZE_BYTES/2, wrong, JUNGFRAU_PACKET_SIZE_BYTES) == 0);
JFJochProtoBuf::AcquisitionDeviceStatistics device_statistics;
REQUIRE_NOTHROW(test.SaveStatistics(x, device_statistics));
REQUIRE(device_statistics.good_packets() == 15);