Skip to content

Commit fdd6e41

Browse files
authored
Merge pull request #1814 from luxonis/fix/IMU_empty_params
Fix IMU empty parameters on RVC4 devcie
2 parents eb6383c + 39df273 commit fdd6e41

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

src/device/CalibrationHandler.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,9 @@ std::vector<std::vector<float>> CalibrationHandler::getExtrinsicsToOrigin(Camera
583583
}
584584

585585
CameraBoardSocket CalibrationHandler::getCameraWithLowestId() const {
586+
if(eepromData.cameraData.empty()) {
587+
throw std::runtime_error("No camera data available in the calibration data.");
588+
}
586589
dai::CameraBoardSocket currentCameraId = eepromData.cameraData.begin()->first;
587590
for(const auto& cameraData : eepromData.cameraData) {
588591
if(static_cast<int>(cameraData.first) < static_cast<int>(currentCameraId)) {

tests/src/onhost_tests/calibration_handler_test.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,11 @@ TEST_CASE("Calibration availability depends on version and camera entries", "[ha
382382
REQUIRE_FALSE(valid.hasCameraCalibration(CameraBoardSocket::CAM_B));
383383
}
384384

385+
TEST_CASE("Lowest camera id lookup throws for empty camera calibration", "[getCameraWithLowestId]") {
386+
dai::CalibrationHandler handler;
387+
REQUIRE_THROWS_WITH(handler.getCameraWithLowestId(), Catch::Matchers::ContainsSubstring("No camera data available"));
388+
}
389+
385390
TEST_CASE("Legacy calibration version blocks camera-level getters", "[legacyCalibration][getFov][getLensPosition][getDistortionModel][getCameraExtrinsics]") {
386391
auto handler = loadLegacyHandlerWithCamera();
387392

0 commit comments

Comments
 (0)