Corrected threshold readingmasks for Type01sensors

Issue: The upper and lower threshold reading mask(Byte 16,18)
in SDR Type01 sensors are not set under any conditions.

Fix: Setting the threshold mask based on its respective threshold
conditions.

Tested:
1.Issue Get SDR command for [u,l][c,nc] sensors.
2.Check theresponse for the bits 5,4 of Byte 16 and 18 (lower and upper)
are set correctly for respective sensors.

Signed-off-by: Rashmi RV <rashmi.r.v@linux.intel.com>
Change-Id: I119560b937bf24c0173acb72cb95aa56d3311314
diff --git a/include/sensorcommands.hpp b/include/sensorcommands.hpp
index 21349e9..820c746 100644
--- a/include/sensorcommands.hpp
+++ b/include/sensorcommands.hpp
@@ -70,6 +70,9 @@
 
 enum class IPMISensorEventEnableThresholds : uint8_t
 {
+    nonRecoverableThreshold = (1 << 6),
+    criticalThreshold = (1 << 5),
+    nonCriticalThreshold = (1 << 4),
     upperNonRecoverableGoingHigh = (1 << 3),
     upperNonRecoverableGoingLow = (1 << 2),
     upperCriticalGoingHigh = (1 << 1),
diff --git a/src/sensorcommands.cpp b/src/sensorcommands.cpp
index f58f0e2..69bdf45 100644
--- a/src/sensorcommands.cpp
+++ b/src/sensorcommands.cpp
@@ -1438,6 +1438,8 @@
     {
         record.body.upper_critical_threshold = *thresholdData.criticalHigh;
         record.body.supported_deassertions[1] |= static_cast<uint8_t>(
+            IPMISensorEventEnableThresholds::criticalThreshold);
+        record.body.supported_deassertions[1] |= static_cast<uint8_t>(
             IPMISensorEventEnableThresholds::upperCriticalGoingHigh);
         record.body.supported_assertions[1] |= static_cast<uint8_t>(
             IPMISensorEventEnableThresholds::upperCriticalGoingHigh);
@@ -1447,6 +1449,8 @@
     if (thresholdData.warningHigh)
     {
         record.body.upper_noncritical_threshold = *thresholdData.warningHigh;
+        record.body.supported_deassertions[1] |= static_cast<uint8_t>(
+            IPMISensorEventEnableThresholds::nonCriticalThreshold);
         record.body.supported_deassertions[0] |= static_cast<uint8_t>(
             IPMISensorEventEnableThresholds::upperNonCriticalGoingHigh);
         record.body.supported_assertions[0] |= static_cast<uint8_t>(
@@ -1457,6 +1461,8 @@
     if (thresholdData.criticalLow)
     {
         record.body.lower_critical_threshold = *thresholdData.criticalLow;
+        record.body.supported_assertions[1] |= static_cast<uint8_t>(
+            IPMISensorEventEnableThresholds::criticalThreshold);
         record.body.supported_deassertions[0] |= static_cast<uint8_t>(
             IPMISensorEventEnableThresholds::lowerCriticalGoingLow);
         record.body.supported_assertions[0] |= static_cast<uint8_t>(
@@ -1467,6 +1473,8 @@
     if (thresholdData.warningLow)
     {
         record.body.lower_noncritical_threshold = *thresholdData.warningLow;
+        record.body.supported_assertions[1] |= static_cast<uint8_t>(
+            IPMISensorEventEnableThresholds::nonCriticalThreshold);
         record.body.supported_deassertions[0] |= static_cast<uint8_t>(
             IPMISensorEventEnableThresholds::lowerNonCriticalGoingLow);
         record.body.supported_assertions[0] |= static_cast<uint8_t>(