From 0673501ecc56da1534329566eb36f078144b3747 Mon Sep 17 00:00:00 2001 From: Frank Fenor Date: Sat, 24 Feb 2024 16:22:51 +0100 Subject: [PATCH] Handle plus/minus values as range --- .../InfoProviderSystem/Providers/LCSCProvider.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Services/InfoProviderSystem/Providers/LCSCProvider.php b/src/Services/InfoProviderSystem/Providers/LCSCProvider.php index 11a2ae59..e0d00444 100755 --- a/src/Services/InfoProviderSystem/Providers/LCSCProvider.php +++ b/src/Services/InfoProviderSystem/Providers/LCSCProvider.php @@ -284,6 +284,13 @@ class LCSCProvider implements InfoProviderInterface continue; } } + //If it's a plus/minus value, we'll also it like a range + } elseif (str_starts_with($attribute['paramValueEn'], '±')) { + [$number, $unit] = ParameterDTO::splitIntoValueAndUnit(ltrim($parts[0], " ±")) ?? [$attribute['paramValueEn'], null]; + if (is_numeric($number)) { + $result[] = new ParameterDTO(name: $attribute['paramNameEn'], value_min: (float) $number, value_max: (float) $number, unit: $unit, group: null); + continue; + } } $result[] = ParameterDTO::parseValueIncludingUnit(name: $attribute['paramNameEn'], value: $attribute['paramValueEn'], group: null); @@ -321,4 +328,4 @@ class LCSCProvider implements InfoProviderInterface ProviderCapabilities::FOOTPRINT, ]; } -} \ No newline at end of file +}