@@ -123,10 +123,10 @@ class DefaultColorControlSceneHandler : public scenes::DefaultSceneHandlerImpl
123
123
}
124
124
AddAttributeValuePair (pairs, Attributes::ColorLoopActive::Id, loopActiveValue, attributeCount);
125
125
126
- ColorControl::ColorLoopDirectionEnum loopDirectionValue;
126
+ uint8_t loopDirectionValue;
127
127
if (Status::Success != Attributes::ColorLoopDirection::Get (endpoint, &loopDirectionValue))
128
128
{
129
- loopDirectionValue = ColorControl::ColorLoopDirectionEnum:: kDecrement ;
129
+ loopDirectionValue = 0x00 ;
130
130
}
131
131
AddAttributeValuePair (pairs, Attributes::ColorLoopDirection::Id, static_cast <uint32_t >(loopDirectionValue),
132
132
attributeCount);
@@ -201,7 +201,7 @@ class DefaultColorControlSceneHandler : public scenes::DefaultSceneHandlerImpl
201
201
// Initialize action attributes to default values in case they are not in the scene
202
202
ColorControl::EnhancedColorModeEnum targetColorMode = ColorControl::EnhancedColorModeEnum::kCurrentHueAndCurrentSaturation ;
203
203
uint8_t loopActiveValue = 0x00 ;
204
- ColorControl::ColorLoopDirectionEnum loopDirectionValue = ColorControl::ColorLoopDirectionEnum:: kDecrement ;
204
+ uint8_t loopDirectionValue = 0x00 ;
205
205
uint16_t loopTimeValue = 0x0019 ; // Default loop time value according to spec
206
206
207
207
while (pair_iterator.Next ())
@@ -242,7 +242,7 @@ class DefaultColorControlSceneHandler : public scenes::DefaultSceneHandlerImpl
242
242
loopActiveValue = static_cast <uint8_t >(decodePair.attributeValue );
243
243
break ;
244
244
case Attributes::ColorLoopDirection::Id:
245
- loopDirectionValue = static_cast <ColorControl::ColorLoopDirectionEnum >(decodePair.attributeValue );
245
+ loopDirectionValue = static_cast <uint8_t >(decodePair.attributeValue );
246
246
break ;
247
247
case Attributes::ColorLoopTime::Id:
248
248
loopTimeValue = static_cast <uint16_t >(decodePair.attributeValue );
@@ -934,7 +934,7 @@ void ColorControlServer::startColorLoop(EndpointId endpoint, uint8_t startFromSt
934
934
ColorHueTransitionState * colorHueTransitionState = getColorHueTransitionState (endpoint);
935
935
VerifyOrReturn (colorHueTransitionState != nullptr );
936
936
937
- ColorControl::ColorLoopDirectionEnum direction = ColorControl::ColorLoopDirectionEnum:: kDecrement ;
937
+ uint8_t direction = 0 ;
938
938
Attributes::ColorLoopDirection::Get (endpoint, &direction);
939
939
940
940
uint16_t time = 0x0019 ;
@@ -957,7 +957,7 @@ void ColorControlServer::startColorLoop(EndpointId endpoint, uint8_t startFromSt
957
957
958
958
colorHueTransitionState->initialEnhancedHue = startHue;
959
959
960
- if (direction == ColorLoopDirectionEnum::kIncrement )
960
+ if (direction == to_underlying ( ColorLoopDirectionEnum::kIncrement ) )
961
961
{
962
962
colorHueTransitionState->finalEnhancedHue = static_cast <uint16_t >(startHue - 1 );
963
963
}
@@ -966,7 +966,7 @@ void ColorControlServer::startColorLoop(EndpointId endpoint, uint8_t startFromSt
966
966
colorHueTransitionState->finalEnhancedHue = static_cast <uint16_t >(startHue + 1 );
967
967
}
968
968
969
- colorHueTransitionState->up = (direction == ColorLoopDirectionEnum::kIncrement );
969
+ colorHueTransitionState->up = (direction == to_underlying ( ColorLoopDirectionEnum::kIncrement ) );
970
970
colorHueTransitionState->repeat = true ;
971
971
972
972
colorHueTransitionState->stepsRemaining = static_cast <uint16_t >(time * TRANSITION_STEPS_PER_1S);
@@ -1904,7 +1904,7 @@ bool ColorControlServer::colorLoopCommand(app::CommandHandler * commandObj, cons
1904
1904
1905
1905
if (updateFlags.Has (UpdateFlagsBitmap::kUpdateDirection ))
1906
1906
{
1907
- Attributes::ColorLoopDirection::Set (endpoint, direction);
1907
+ Attributes::ColorLoopDirection::Set (endpoint, to_underlying ( direction) );
1908
1908
1909
1909
// Checks if color loop is active and stays active
1910
1910
if (isColorLoopActive && !deactiveColorLoop)
0 commit comments