diff --git a/src/httpserver/http_fns.c b/src/httpserver/http_fns.c index 8959a8feb..6e1614661 100644 --- a/src/httpserver/http_fns.c +++ b/src/httpserver/http_fns.c @@ -423,15 +423,23 @@ int http_fn_index(http_request_t* request) { } else if (channelType == ChType_OffLowMidHigh || channelType == ChType_OffLowestLowMidHighHighest || channelType == ChType_LowestLowMidHighHighest || channelType == ChType_LowMidHighHighest - || channelType == ChType_OffLowMidHighHighest) { + || channelType == ChType_OffLowMidHighHighest || channelType == ChType_OffOnRemember) { const char** types; const char* types4[] = { "Off","Low","Mid","High" }; const char* typesLowMidHighHighest[] = { "Low","Mid","High","Highest" }; const char* typesOffLowMidHighHighest[] = { "Off", "Low","Mid","High","Highest" }; const char* types6[] = { "Off", "Lowest", "Low", "Mid", "High", "Highest" }; const char* types5NoOff[] = { "Lowest", "Low", "Mid", "High", "Highest" }; + const char* typesOffOnRemember[] = { "Off", "On", "Remember" }; int numTypes; + const char *what; + if (channelType == ChType_OffOnRemember) { + what = "memory"; + } + else { + what = "speed"; + } if (channelType == ChType_OffLowMidHigh) { types = types4; numTypes = 4; @@ -448,15 +456,19 @@ int http_fn_index(http_request_t* request) { types = types5NoOff; numTypes = 5; } + else if (channelType == ChType_OffOnRemember) { + types = typesOffOnRemember; + numTypes = 3; + } else { types = types6; numTypes = 6; } - + iValue = CHANNEL_Get(i); poststr(request, ""); - hprintf255(request, "

Select speed:

"); + hprintf255(request, "

Select %s:

", what); hprintf255(request, "", i); for (j = 0; j < numTypes; j++) { const char* check; diff --git a/src/new_pins.c b/src/new_pins.c index b84a1a6df..142350754 100644 --- a/src/new_pins.c +++ b/src/new_pins.c @@ -1869,6 +1869,9 @@ const char* g_channelTypeNames[] = { "SmokePercent", "Illuminance", "Toggle_Inv", + "OffOnRemember", + "error", + "error", "error", "error", }; diff --git a/src/new_pins.h b/src/new_pins.h index 06ce3556f..c3b32d8d7 100644 --- a/src/new_pins.h +++ b/src/new_pins.h @@ -838,14 +838,20 @@ typedef enum channelType_e { //chandetail:"file":"new_pins.h", //chandetail:"driver":""} ChType_Illuminance, - //chandetail:{"name":"Toggle_Inv", - //chandetail:"title":"TODO", - //chandetail:"descr":"Toggle_Inv", - //chandetail:"enum":"ChType_Toggle_Inv", - //chandetail:"file":"new_pins.h", - //chandetail:"driver":""} - ChType_Toggle_Inv, - + //chandetail:{"name":"Toggle_Inv", + //chandetail:"title":"TODO", + //chandetail:"descr":"Toggle_Inv", + //chandetail:"enum":"ChType_Toggle_Inv", + //chandetail:"file":"new_pins.h", + //chandetail:"driver":""} + ChType_Toggle_Inv, + //chandetail:{"name":"OffOnRemember", + //chandetail:"title":"TODO", + //chandetail:"descr":"OffOnRemember", + //chandetail:"enum":"ChType_OffOnRemember", + //chandetail:"file":"new_pins.h", + //chandetail:"driver":""} + ChType_OffOnRemember, //chandetail:{"name":"Max", //chandetail:"title":"TODO", //chandetail:"descr":"This is the current total number of available channel types.",