LCOV - code coverage report
Current view: top level - mu2e-pcie-utils/dtcInterfaceLib - CFOandDTC_DMAs.cpp (source / functions) Coverage Total Hit
Test: mu2edaq.info.cleaned Lines: 0.0 % 17 0
Test Date: 2026-07-30 01:56:44 Functions: 0.0 % 7 0

            Line data    Source code
       1              : 
       2              : #include "TRACE/tracemf.h"
       3              : #define TRACE_NAME "CFOandDTC_DMAs.cpp"
       4              : 
       5              : #include "CFOandDTC_DMAs.h"
       6              : // #define TLVL_GetData TLVL_DEBUG + 5
       7              : // #define TLVL_GetJSONData TLVL_DEBUG + 6
       8              : // #define TLVL_ReadBuffer TLVL_DEBUG + 7
       9              : #define TLVL_ReadNextDAQPacket TLVL_DEBUG + 8
      10              : // #define TLVL_ReadNextDCSPacket TLVL_DEBUG + 9
      11              : // #define TLVL_SendDCSRequestPacket TLVL_DEBUG + 10
      12              : // #define TLVL_SendHeartbeatPacket TLVL_DEBUG + 11
      13              : // #define TLVL_VerifySimFileInDTC TLVL_DEBUG + 12
      14              : // #define TLVL_VerifySimFileInDTC2 TLVL_DEBUG + 13
      15              : // #define TLVL_VerifySimFileInDTC3 TLVL_DEBUG + 14
      16              : // #define TLVL_WriteSimFileToDTC TLVL_DEBUG + 15
      17              : // #define TLVL_WriteSimFileToDTC2 TLVL_DEBUG + 16
      18              : // #define TLVL_WriteSimFileToDTC3 TLVL_DEBUG + 17
      19              : // #define TLVL_WriteDetectorEmulatorData TLVL_DEBUG + 18
      20              : // #define TLVL_WriteDataPacket TLVL_DEBUG + 19
      21              : // #define TLVL_ReleaseBuffers TLVL_DEBUG + 20
      22              : #define TLVL_GetCurrentBuffer TLVL_DEBUG + 21
      23              : 
      24              : #include "dtcInterfaceLib/otsStyleCoutMacros.h"
      25              : 
      26              : #include <unistd.h>
      27              : #include <fstream>
      28              : #include <iostream>
      29              : #include <sstream>  // Convert uint to hex string
      30              : 
      31            0 : int DTCLib::CFOandDTC_DMAs::GetCurrentBuffer(DMAInfo* info)
      32              : {
      33            0 :         TLOG(TLVL_GetCurrentBuffer) << "GetCurrentBuffer BEGIN currentReadPtr=" << (void*)info->currentReadPtr
      34            0 :                                                                 << " buffer.size()=" << info->buffer.size();
      35              : 
      36            0 :         if (info->buffer.size())  // might crash in ReleaseBuffers if currentReadPtr = nullptr ????????????????????????????????
      37              :         {
      38            0 :                 TLOG(TLVL_GetCurrentBuffer) << "GetCurrentBuffer returning info->buffer.size()=" << info->buffer.size();
      39            0 :                 return info->buffer.size();
      40              :         }
      41              : 
      42            0 :         if (info->currentReadPtr == nullptr || info->buffer.size() == 0)
      43              :         {
      44            0 :                 TLOG(TLVL_GetCurrentBuffer) << "GetCurrentBuffer returning -1 because not currently reading a buffer";
      45            0 :                 return -1;
      46              :         }
      47              : 
      48              : #if 0
      49              :         for (size_t ii = 0; ii < info->buffer.size(); ++ii)
      50              :         {
      51              :                 auto bufferptr = *info->buffer[ii];
      52              :                 uint16_t bufferSize = *reinterpret_cast<uint16_t*>(bufferptr);
      53              :                 TLOG(TLVL_GetCurrentBuffer) << "GetCurrentBuffer bufferptr="<<(void*)bufferptr<<" bufferSize="<<bufferSize;
      54              :                 if (info->currentReadPtr > bufferptr &&
      55              :                         info->currentReadPtr < bufferptr + bufferSize)
      56              :                 {
      57              :                         TLOG(TLVL_GetCurrentBuffer) << "Found matching buffer at index " << ii << ".";
      58              :                         return ii;
      59              :                 }
      60              :         }
      61              : #endif
      62            0 :         TLOG(TLVL_GetCurrentBuffer) << "GetCurrentBuffer returning -2: Have buffers but none match read ptr position, need new";
      63            0 :         return -2;
      64              : }
      65              : 
      66            0 : uint16_t DTCLib::CFOandDTC_DMAs::GetBufferByteCount(DMAInfo* info, size_t index)
      67              : {
      68            0 :         if (index >= info->buffer.size()) return 0;
      69            0 :         auto bufferptr = *info->buffer[index];
      70            0 :         uint16_t bufferSize = *reinterpret_cast<uint16_t*>(bufferptr);
      71            0 :         TLOG(TLVL_ReadNextDAQPacket) << "bufferSize = " << bufferSize;
      72            0 :         return bufferSize;
      73              : }
        

Generated by: LCOV version 2.0-1