control/fem_api_extension/api/src/ExcaliburFemClientMpx3.cpp
void ExcaliburFemClient::mpx3TestPulseEnableSet(unsigned int aChipId, unsigned int aEnable)
{
  // If chip ID = 0, loop over all chips and call this function recursively
  if (aChipId == 0)
  {

    for (unsigned int iChip = 1; iChip <= kNumAsicsPerFem; iChip++)
    {
      this->mpx3TestPulseEnableSet(iChip, aEnable);
    }
  }
  else
  {
    // Internal chip index runs from 0 to 7
    unsigned int chipIdx = aChipId - 1;

    mMpx3OmrParams[chipIdx].testPulseEnable = aEnable;
  }

}
/** mpx3TestPulseEnableSet - enable/disable test pulses for a chip
 *
 * This method is a workaround to allow non-persistent client applications to user test pulses.
 * In normal circumstances, the TP enable/disable decision is made on the basis of the currently
 * loaded pixel configuration, which manages the individual TP enable fields of the OMRs of the
 * active chips, and allows a decision about running test pulses to be made at acquisition start.
 * With a non-persistent client (e.g. femApiTest), the configuration may be loaded into a device
 * by a separate invocation, so the this allows the enable to be forced to match the current
 * configuration.
 *
 * @param aChipId - chip to set enable on (0=all)
 * @param aEnable - enable flag (1=enabled, 0=disabled)
 */
enable/disable test pulses for a chip
This method is a workaround to allow non-persistent client applications to user test pulses.
In normal circumstances, the TP enable/disable decision is made on the basis of the currently
loaded pixel configuration, which manages the individual TP enable fields of the OMRs of the
active chips, and allows a decision about running test pulses to be made at acquisition start.
With a non-persistent client , the configuration may be loaded into a device
by a separate invocation, so the this allows the enable to be forced to match the current
configuration.

@param aChipId - chip to set enable on (0=all)
@param aEnable - enable flag (1=enabled, 0=disabled)
enable / disable test pulses for a chip This method is a workaround to allow non - persistent client applications to user test pulses . In normal circumstances the TP enable / disable decision is made on the basis of the currently loaded pixel configuration which manages the individual TP enable fields of the OMRs of the active chips and allows a decision about running test pulses to be made at acquisition start . With a non - persistent client the configuration may be loaded into a device by a separate invocation so the this allows the enable to be forced to match the current configuration . @param aChipId - chip to set enable on ( 0 = all ) @param aEnable - enable flag ( 1 = enabled 0 = disabled )
void ExcaliburFemClient::mpx3TestPulseEnableSet(unsigned int aChipId, unsigned int aEnable)
{
  if (aChipId == 0)
  {
    for (unsigned int iChip = 1; iChip <= kNumAsicsPerFem; iChip++)
    {
      this->mpx3TestPulseEnableSet(iChip, aEnable);
    }
  }
  else
  {
    unsigned int chipIdx = aChipId - 1;
    mMpx3OmrParams[chipIdx].testPulseEnable = aEnable;
  }
}
void ExcaliburFemClient :: mpx3TestPulseEnableSet ( unsigned int aChipId , unsigned int aEnable ) { if ( aChipId == 0 ) { for ( unsigned int iChip = 1 ; iChip <= kNumAsicsPerFem ; iChip ++ ) { this -> mpx3TestPulseEnableSet ( iChip , aEnable ) ; } } else { unsigned int chipIdx = aChipId - 1 ; mMpx3OmrParams [ chipIdx ] . testPulseEnable = aEnable ; } }
mpx3TestPulseEnableSet - enable/disable test pulses for a chip
 This method is a workaround to allow non-persistent client applications to user test pulses.
mpx3TestPulseEnableSet - enable / disable test pulses for a chip This method is a workaround to allow non - persistent client applications to user test pulses .
// If chip ID = 0, loop over all chips and call this function recursively // Internal chip index runs from 0 to 7