@@ -62,15 +62,18 @@ std::string FirmwareChecker::getFirmwareCompatibilityList()
6262 return fwStrings;
6363}
6464
65- void FirmwareChecker::checkFirmwareCompatibilityWrapped (std::shared_ptr<BarInterface> bar2 )
65+ void FirmwareChecker::checkFirmwareCompatibilityWrapped (Parameters::CardIdType cardId )
6666{
67+ auto bar0 = ChannelFactory ().getBar (cardId, 0 );
68+ auto bar2 = ChannelFactory ().getBar (cardId, 2 );
6769 auto firmware = bar2->getFirmwareInfo ().value_or (" " );
68- // firmware = firmware.substr(firmware.find_last_of("-") + 1);
6970 auto serial = bar2->getSerial ().value_or (-1 );
71+ auto endpoint = bar0->getEndpointNumber ();
7072 if (mCompatibleFirmwareList .find (firmware) == mCompatibleFirmwareList .end ()) {
7173 BOOST_THROW_EXCEPTION (Exception () << ErrorInfo::Message (
7274 std::string (" Firmware compatibility check failed.\n " ) +
7375 std::string (" Serial: " + std::to_string (serial) + " \n " ) +
76+ std::string (" Endpoint: " + std::to_string (endpoint) + " \n " ) +
7477 std::string (" Firmware: " + firmware + " \n " ) +
7578 std::string (" \n Compatible firmwares:" ) +
7679 getFirmwareCompatibilityList ()));
@@ -79,15 +82,12 @@ void FirmwareChecker::checkFirmwareCompatibilityWrapped(std::shared_ptr<BarInter
7982
8083void FirmwareChecker::checkFirmwareCompatibility (Parameters params)
8184{
82- auto bar2 = ChannelFactory ().getBar (params);
83- checkFirmwareCompatibilityWrapped (bar2);
85+ checkFirmwareCompatibilityWrapped (params.getCardIdRequired ());
8486}
8587
8688void FirmwareChecker::checkFirmwareCompatibility (Parameters::CardIdType cardId)
8789{
88- auto params = Parameters::makeParameters (cardId, 2 ); // access bar2 to check the firmware release
89- auto bar2 = ChannelFactory ().getBar (params);
90- checkFirmwareCompatibilityWrapped (bar2);
90+ checkFirmwareCompatibilityWrapped (cardId);
9191}
9292
9393} // namespace roc
0 commit comments