From 7699a1f8275f3de16858c18358afc84b455b18cb Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 5 Nov 2021 23:30:10 -0700 Subject: [PATCH] [hal] Fix sim not working with automatic PD type and default module (#3707) --- hal/src/main/native/sim/PowerDistribution.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hal/src/main/native/sim/PowerDistribution.cpp b/hal/src/main/native/sim/PowerDistribution.cpp index 85646cfab9..47073750b7 100644 --- a/hal/src/main/native/sim/PowerDistribution.cpp +++ b/hal/src/main/native/sim/PowerDistribution.cpp @@ -30,6 +30,19 @@ extern "C" { HAL_PowerDistributionHandle HAL_InitializePowerDistribution( int32_t module, HAL_PowerDistributionType type, const char* allocationLocation, int32_t* status) { + if (type == HAL_PowerDistributionType_kAutomatic) { + if (module != HAL_DEFAULT_POWER_DISTRIBUTION_MODULE) { + *status = PARAMETER_OUT_OF_RANGE; + hal::SetLastError( + status, "Automatic PowerDistributionType must have default module"); + return HAL_kInvalidHandle; + } + + // TODO Make this not matter + type = HAL_PowerDistributionType_kCTRE; + module = 0; + } + if (!HAL_CheckPowerDistributionModule(module, type)) { *status = PARAMETER_OUT_OF_RANGE; hal::SetLastError(status, fmt::format("Invalid pdp module {}", module));