diff --git a/src/driver/drv_tuyaMCU.c b/src/driver/drv_tuyaMCU.c index 4ab89575c..f2f4566c9 100644 --- a/src/driver/drv_tuyaMCU.c +++ b/src/driver/drv_tuyaMCU.c @@ -664,6 +664,10 @@ void TuyaMCU_ApplyMapping(int fnID, int value) { // map TuyaMCU's dimmer range to OpenBK7231T_App's dimmer range 0..100 mappedValue = ((value - g_dimmerRangeMin) * 100) / (g_dimmerRangeMax - g_dimmerRangeMin); break; + case ChType_Dimmer256: + // map TuyaMCU's dimmer range to OpenBK7231T_App's dimmer range 0..256 + mappedValue = ((value - g_dimmerRangeMin) * 256) / (g_dimmerRangeMax - g_dimmerRangeMin); + break; default: break; } @@ -701,6 +705,10 @@ void TuyaMCU_OnChannelChanged(int channel, int iVal) { // map OpenBK7231T_App's dimmer range 0..100 to TuyaMCU's dimmer range mappediVal = (((g_dimmerRangeMax - g_dimmerRangeMin) * iVal) / 100) + g_dimmerRangeMin; break; + case ChType_Dimmer256: + // map OpenBK7231T_App's dimmer range 0..256 to TuyaMCU's dimmer range + mappediVal = (((g_dimmerRangeMax - g_dimmerRangeMin) * iVal) / 256) + g_dimmerRangeMin; + break; default: break; } diff --git a/src/httpserver/http_fns.c b/src/httpserver/http_fns.c index b98e5971d..4607f890e 100644 --- a/src/httpserver/http_fns.c +++ b/src/httpserver/http_fns.c @@ -416,16 +416,21 @@ int http_fn_index(http_request_t *request) { poststr(request, ""); } } - else if((bRawPWMs&&h_isChannelPWM(i)) || (channelType == ChType_Dimmer)) { - + else if((bRawPWMs&&h_isChannelPWM(i)) || (channelType == ChType_Dimmer) || (channelType == ChType_Dimmer256)) { + int maxValue; // PWM and dimmer both use a slider control const char *inputName = h_isChannelPWM(i) ? "pwm" : "dim"; int pwmValue; + if(channelType == ChType_Dimmer256) { + maxValue = 255; + } else { + maxValue = 100; + } pwmValue = CHANNEL_Get(i); poststr(request, "