RTC6 boards
Doc. Rev. 1.0.21 en-US
16 Appendix A: The RTC6 Ethernet Board
902
// Load 2D correction file as table 1
const auto loadCorrection = n_load_correction_file(card, CORRECTION_FILE_PATH, 1, 2);
if (loadCorrection != ERROR_NO_ERROR)
{
cout <<
"
n_load_correction_file for card
"
<< card <<
"
failed with error code:
"
<< loadCorrection << endl;
return false;
}
// select_cor_table( 1, 0 ); is done internally. Call select_cor_table, if you want a different setting.
const auto serialNumber = n_get_serial_number(card);
cout <<
"
Initialized card
"
<< card <<
"
(SN
"
<< serialNumber <<
"
)
"
<< endl;
return true;
}
bool InitializeRTC()
{
// Initialize DLL
const auto initDLL = init_rtc6_dll();
if (initDLL != ERROR_NO_ERROR)
{
if (initDLL & ERROR_VERSION_MISMATCH)
{
// Version mismatch can happen if a board has been previously used with a different software version.
// This error can be fixed by loading the current program file on to the board.
}
else if (initDLL & ERROR_NO_CARD)
{
// The
RTC6 DLL
will return ERROR_NO_CARD if no PCIe board has been found.
// We can still use Ethernet boards if available.
}
else
{
cout <<
"
init_rtc6_dll failed with error code:
"
<< initDLL << endl;
return false;
}
}
// Initialize PCIe boards
const auto foundCards = rtc6_count_cards();
for (auto card = 1; card <= foundCards; card++)
{
if (!LoadProgramAndCorrectionFile(card))
{
return false;
}
}