diff --git a/src/httpserver/http_fns.c b/src/httpserver/http_fns.c
index c4277544a..f0dcabaef 100644
--- a/src/httpserver/http_fns.c
+++ b/src/httpserver/http_fns.c
@@ -62,6 +62,132 @@ unsigned char hexbyte( const char* hex ) {
return (hexdigit(*hex) << 4) | hexdigit(*(hex+1)) ;
}
+int http_fn_empty_url(http_request_t *request) {
+ poststr(request,"HTTP/1.1 302 OK\nLocation: /index\nConnection: close\n\n");
+ poststr(request, NULL);
+ return 0;
+}
+
+int http_fn_index(http_request_t *request) {
+ int relayFlags;
+ int pwmFlags;
+ int j, i;
+ char tmpA[128];
+
+ relayFlags = 0;
+ pwmFlags = 0;
+
+ http_setup(request, httpMimeTypeHTML);
+ poststr(request,htmlHeader);
+ poststr(request,"");
+ poststr(request,g_header);
+ if(http_getArg(request->url,"tgl",tmpA,sizeof(tmpA))) {
+ j = atoi(tmpA);
+ sprintf(tmpA,"
Toggled %i!
",j);
+ poststr(request,tmpA);
+ CHANNEL_Toggle(j);
+ }
+ if(http_getArg(request->url,"on",tmpA,sizeof(tmpA))) {
+ j = atoi(tmpA);
+ sprintf(tmpA,"Enabled %i!
",j);
+ poststr(request,tmpA);
+ CHANNEL_Set(j,255,1);
+ }
+ if(http_getArg(request->url,"off",tmpA,sizeof(tmpA))) {
+ j = atoi(tmpA);
+ sprintf(tmpA,"Disabled %i!
",j);
+ poststr(request,tmpA);
+ CHANNEL_Set(j,0,1);
+ }
+ if(http_getArg(request->url,"pwm",tmpA,sizeof(tmpA))) {
+ int newPWMValue = atoi(tmpA);
+ http_getArg(request->url,"pwmIndex",tmpA,sizeof(tmpA));
+ j = atoi(tmpA);
+ sprintf(tmpA,"Changed pwm %i to %i!
",j,newPWMValue);
+ poststr(request,tmpA);
+ CHANNEL_Set(j,newPWMValue,1);
+ }
+
+ for(i = 0; i < GPIO_MAX; i++) {
+ int role = PIN_GetPinRoleForPinIndex(i);
+ int ch = PIN_GetPinChannelForPinIndex(i);
+ if(role == IOR_Relay || role == IOR_Relay_n || role == IOR_LED || role == IOR_LED_n) {
+ BIT_SET(relayFlags,ch);
+ }
+ if(role == IOR_PWM) {
+ BIT_SET(pwmFlags,ch);
+ }
+ }
+ for(i = 0; i < CHANNEL_MAX; i++) {
+ if(BIT_CHECK(relayFlags,i)) {
+ const char *c;
+ if(CHANNEL_Check(i)) {
+ c = "r";
+ } else {
+ c = "g";
+ }
+ poststr(request,"",c,i);
+ poststr(request,tmpA);
+ }
+ if(BIT_CHECK(pwmFlags,i)) {
+ int pwmValue;
+
+ pwmValue = CHANNEL_Get(i);
+ sprintf(tmpA,"",i);
+ poststr(request,tmpA);
+
+
+ poststr(request,"");
+ }
+ }
+// strcat(outbuf,"");
+
+
+ if(http_getArg(request->url,"restart",tmpA,sizeof(tmpA))) {
+ poststr(request," Module will restart soon
");
+#if WINDOWS
+
+#elif PLATFORM_XR809
+
+#else
+ RESET_ScheduleModuleReset(3);
+#endif
+ }
+
+ poststr(request,"");
+
+ poststr(request," ");
+
+ poststr(request,"");
+
+
+ poststr(request,htmlReturnToMenu);
+ HTTP_AddBuildFooter(request);
+ poststr(request,htmlEnd);
+
+ poststr(request, NULL);
+ return 0;
+}
+
int http_fn_about(http_request_t *request){
http_setup(request, httpMimeTypeHTML);
poststr(request,htmlHeader);
@@ -75,6 +201,8 @@ int http_fn_about(http_request_t *request){
}
+
+
int http_fn_cfg_mqtt(http_request_t *request) {
int i;
http_setup(request, httpMimeTypeHTML);
@@ -156,6 +284,8 @@ int http_fn_cfg_mqtt_set(http_request_t *request) {
}
+
+
int http_fn_cfg_webapp(http_request_t *request) {
http_setup(request, httpMimeTypeHTML);
poststr(request,htmlHeader);
@@ -175,25 +305,6 @@ int http_fn_cfg_webapp(http_request_t *request) {
return 0;
}
-int http_fn_config_dump_table(http_request_t *request) {
- http_setup(request, httpMimeTypeHTML);
- poststr(request,htmlHeader);
- poststr(request,g_header);
-#if WINDOWS
- poststr(request,"Not implemented
");
-#elif PLATFORM_XR809
- poststr(request,"Not implemented
");
-#else
- poststr(request,"Dumped to log
");
- config_dump_table();
-#endif
- poststr(request,htmlReturnToCfg);
- HTTP_AddBuildFooter(request);
- poststr(request,htmlEnd);
- poststr(request, NULL);
- return 0;
-}
-
int http_fn_cfg_webapp_set(http_request_t *request) {
char tmpA[128];
http_setup(request, httpMimeTypeHTML);
@@ -218,78 +329,8 @@ int http_fn_cfg_webapp_set(http_request_t *request) {
return 0;
}
-int http_fn_cfg_wifi_set(http_request_t *request) {
- char tmpA[128];
- printf("HTTP_ProcessPacket: generating cfg_wifi_set \r\n");
- http_setup(request, httpMimeTypeHTML);
- poststr(request,htmlHeader);
- poststr(request,g_header);
- if(http_getArg(request->url,"open",tmpA,sizeof(tmpA))) {
- CFG_SetWiFiSSID("");
- CFG_SetWiFiPass("");
- poststr(request,"WiFi mode set: open access point.");
- } else {
- if(http_getArg(request->url,"ssid",tmpA,sizeof(tmpA))) {
- CFG_SetWiFiSSID(tmpA);
- }
- if(http_getArg(request->url,"pass",tmpA,sizeof(tmpA))) {
- CFG_SetWiFiPass(tmpA);
- }
- poststr(request,"WiFi mode set: connect to WLAN.");
- }
- printf("HTTP_ProcessPacket: calling CFG_SaveWiFi \r\n");
- CFG_SaveWiFi();
- printf("HTTP_ProcessPacket: done CFG_SaveWiFi \r\n");
- poststr(request,"Please wait for module to reset...");
-
- poststr(request,"
");
- poststr(request,"Return to WiFi settings");
- poststr(request,"
");
- poststr(request,htmlReturnToCfg);
- HTTP_AddBuildFooter(request);
- poststr(request,htmlEnd);
-
- poststr(request, NULL);
- return 0;
-}
-
-int http_fn_cfg_loglevel_set(http_request_t *request) {
- char tmpA[128];
- printf("HTTP_ProcessPacket: generating cfg_loglevel_set \r\n");
-
- http_setup(request, httpMimeTypeHTML);
- poststr(request,htmlHeader);
- poststr(request,g_header);
- if(http_getArg(request->url,"loglevel",tmpA,sizeof(tmpA))) {
-#if PLATFORM_BK7231T
- loglevel = atoi(tmpA);
-#endif
- poststr(request,"LOG level changed.");
- }
- poststr(request," ");
-
- poststr(request,"
");
- poststr(request,"Return to config settings");
- poststr(request,"
");
- poststr(request,htmlReturnToCfg);
- HTTP_AddBuildFooter(request);
- poststr(request,htmlEnd);
- poststr(request, NULL);
- return 0;
-}
int http_fn_cfg_wifi(http_request_t *request) {
// for a test, show password as well...
@@ -375,6 +416,83 @@ int http_fn_cfg_wifi(http_request_t *request) {
return 0;
}
+int http_fn_cfg_wifi_set(http_request_t *request) {
+ char tmpA[128];
+ printf("HTTP_ProcessPacket: generating cfg_wifi_set \r\n");
+
+ http_setup(request, httpMimeTypeHTML);
+ poststr(request,htmlHeader);
+ poststr(request,g_header);
+ if(http_getArg(request->url,"open",tmpA,sizeof(tmpA))) {
+ CFG_SetWiFiSSID("");
+ CFG_SetWiFiPass("");
+ poststr(request,"WiFi mode set: open access point.");
+ } else {
+ if(http_getArg(request->url,"ssid",tmpA,sizeof(tmpA))) {
+ CFG_SetWiFiSSID(tmpA);
+ }
+ if(http_getArg(request->url,"pass",tmpA,sizeof(tmpA))) {
+ CFG_SetWiFiPass(tmpA);
+ }
+ poststr(request,"WiFi mode set: connect to WLAN.");
+ }
+ printf("HTTP_ProcessPacket: calling CFG_SaveWiFi \r\n");
+ CFG_SaveWiFi();
+ printf("HTTP_ProcessPacket: done CFG_SaveWiFi \r\n");
+
+ poststr(request,"Please wait for module to reset...");
+
+ poststr(request,"
");
+ poststr(request,"Return to WiFi settings");
+ poststr(request,"
");
+ poststr(request,htmlReturnToCfg);
+ HTTP_AddBuildFooter(request);
+ poststr(request,htmlEnd);
+
+ poststr(request, NULL);
+ return 0;
+}
+
+
+
+
+int http_fn_cfg_loglevel_set(http_request_t *request) {
+ char tmpA[128];
+ printf("HTTP_ProcessPacket: generating cfg_loglevel_set \r\n");
+
+ http_setup(request, httpMimeTypeHTML);
+ poststr(request,htmlHeader);
+ poststr(request,g_header);
+ if(http_getArg(request->url,"loglevel",tmpA,sizeof(tmpA))) {
+#if PLATFORM_BK7231T
+ loglevel = atoi(tmpA);
+#endif
+ poststr(request,"LOG level changed.");
+ }
+ poststr(request," ");
+
+ poststr(request,"
");
+ poststr(request,"Return to config settings");
+ poststr(request,"
");
+ poststr(request,htmlReturnToCfg);
+ HTTP_AddBuildFooter(request);
+ poststr(request,htmlEnd);
+ poststr(request, NULL);
+ return 0;
+}
+
+
int http_fn_cfg_mac(http_request_t *request) {
// must be unsigned, else print below prints negatives as e.g. FFFFFFFe
unsigned char mac[6];
@@ -515,6 +633,28 @@ int http_fn_flash_read_tool(http_request_t *request) {
return 0;
}
+int http_fn_config_dump_table(http_request_t *request) {
+ http_setup(request, httpMimeTypeHTML);
+ poststr(request,htmlHeader);
+ poststr(request,g_header);
+#if WINDOWS
+ poststr(request,"Not implemented
");
+#elif PLATFORM_XR809
+ poststr(request,"Not implemented
");
+#else
+ poststr(request,"Dumped to log
");
+ config_dump_table();
+#endif
+ poststr(request,htmlReturnToCfg);
+ HTTP_AddBuildFooter(request);
+ poststr(request,htmlEnd);
+ poststr(request, NULL);
+ return 0;
+}
+
+
+
+
int http_fn_cfg_quick(http_request_t *request) {
char tmpA[128];
int j;
@@ -764,126 +904,6 @@ int http_fn_cfg_pins(http_request_t *request) {
return 0;
}
-int http_fn_index(http_request_t *request) {
- int relayFlags;
- int pwmFlags;
- int j, i;
- char tmpA[128];
-
- relayFlags = 0;
- pwmFlags = 0;
-
- http_setup(request, httpMimeTypeHTML);
- poststr(request,htmlHeader);
- poststr(request,"");
- poststr(request,g_header);
- if(http_getArg(request->url,"tgl",tmpA,sizeof(tmpA))) {
- j = atoi(tmpA);
- sprintf(tmpA,"Toggled %i!
",j);
- poststr(request,tmpA);
- CHANNEL_Toggle(j);
- }
- if(http_getArg(request->url,"on",tmpA,sizeof(tmpA))) {
- j = atoi(tmpA);
- sprintf(tmpA,"Enabled %i!
",j);
- poststr(request,tmpA);
- CHANNEL_Set(j,255,1);
- }
- if(http_getArg(request->url,"off",tmpA,sizeof(tmpA))) {
- j = atoi(tmpA);
- sprintf(tmpA,"Disabled %i!
",j);
- poststr(request,tmpA);
- CHANNEL_Set(j,0,1);
- }
- if(http_getArg(request->url,"pwm",tmpA,sizeof(tmpA))) {
- int newPWMValue = atoi(tmpA);
- http_getArg(request->url,"pwmIndex",tmpA,sizeof(tmpA));
- j = atoi(tmpA);
- sprintf(tmpA,"Changed pwm %i to %i!
",j,newPWMValue);
- poststr(request,tmpA);
- CHANNEL_Set(j,newPWMValue,1);
- }
-
- for(i = 0; i < GPIO_MAX; i++) {
- int role = PIN_GetPinRoleForPinIndex(i);
- int ch = PIN_GetPinChannelForPinIndex(i);
- if(role == IOR_Relay || role == IOR_Relay_n || role == IOR_LED || role == IOR_LED_n) {
- BIT_SET(relayFlags,ch);
- }
- if(role == IOR_PWM) {
- BIT_SET(pwmFlags,ch);
- }
- }
- for(i = 0; i < CHANNEL_MAX; i++) {
- if(BIT_CHECK(relayFlags,i)) {
- const char *c;
- if(CHANNEL_Check(i)) {
- c = "r";
- } else {
- c = "g";
- }
- poststr(request,"",c,i);
- poststr(request,tmpA);
- }
- if(BIT_CHECK(pwmFlags,i)) {
- int pwmValue;
-
- pwmValue = CHANNEL_Get(i);
- sprintf(tmpA,"",i);
- poststr(request,tmpA);
-
-
- poststr(request,"");
- }
- }
-// strcat(outbuf,"");
-
-
- if(http_getArg(request->url,"restart",tmpA,sizeof(tmpA))) {
- poststr(request," Module will restart soon
");
-#if WINDOWS
-
-#elif PLATFORM_XR809
-
-#else
- RESET_ScheduleModuleReset(3);
-#endif
- }
-
- poststr(request,"");
-
- poststr(request," ");
-
- poststr(request,"");
-
-
- poststr(request,htmlReturnToMenu);
- HTTP_AddBuildFooter(request);
- poststr(request,htmlEnd);
-
- poststr(request, NULL);
- return 0;
-}
-
int http_fn_ota_exec(http_request_t *request) {
char tmpA[128];
char tmpB[64];
@@ -927,12 +947,6 @@ int http_fn_ota(http_request_t *request) {
return 0;
}
-int http_fn_empty_url(http_request_t *request) {
- poststr(request,"HTTP/1.1 302 OK\nLocation: /index\nConnection: close\n\n");
- poststr(request, NULL);
- return 0;
-}
-
int http_fn_other(http_request_t *request) {
http_setup(request, httpMimeTypeHTML);
poststr(request,htmlHeader);
diff --git a/src/httpserver/new_http.c b/src/httpserver/new_http.c
index bcabab350..dbb926a47 100644
--- a/src/httpserver/new_http.c
+++ b/src/httpserver/new_http.c
@@ -491,25 +491,35 @@ int HTTP_ProcessPacket(http_request_t *request) {
}
}
+ if(http_checkUrlBase(urlStr,"")) return http_fn_empty_url(request);
+
+ if(http_checkUrlBase(urlStr,"index")) return http_fn_index(request);
+
if(http_checkUrlBase(urlStr,"about")) return http_fn_about(request);
+
if(http_checkUrlBase(urlStr,"cfg_mqtt")) return http_fn_cfg_mqtt(request);
if(http_checkUrlBase(urlStr,"cfg_mqtt_set")) return http_fn_cfg_mqtt_set(request);
+
if(http_checkUrlBase(urlStr,"cfg_webapp")) return http_fn_cfg_webapp(request);
- if(http_checkUrlBase(urlStr,"config_dump_table")) return http_fn_config_dump_table(request);
if(http_checkUrlBase(urlStr,"cfg_webapp_set")) return http_fn_cfg_webapp_set(request);
- if(http_checkUrlBase(urlStr,"cfg_wifi_set")) return http_fn_cfg_wifi_set(request);
- if(http_checkUrlBase(urlStr,"cfg_loglevel_set")) return http_fn_cfg_loglevel_set(request);
+
if(http_checkUrlBase(urlStr,"cfg_wifi")) return http_fn_cfg_wifi(request);
+ if(http_checkUrlBase(urlStr,"cfg_wifi_set")) return http_fn_cfg_wifi_set(request);
+
+ if(http_checkUrlBase(urlStr,"cfg_loglevel_set")) return http_fn_cfg_loglevel_set(request);
if(http_checkUrlBase(urlStr,"cfg_mac")) return http_fn_cfg_mac(request);
+
if(http_checkUrlBase(urlStr,"flash_read_tool")) return http_fn_flash_read_tool(request);
+ if(http_checkUrlBase(urlStr,"config_dump_table")) return http_fn_config_dump_table(request);
+
if(http_checkUrlBase(urlStr,"cfg_quick")) return http_fn_cfg_quick(request);
if(http_checkUrlBase(urlStr,"cfg_ha")) return http_fn_cfg_ha(request);
if(http_checkUrlBase(urlStr,"cfg")) return http_fn_cfg(request);
+
if(http_checkUrlBase(urlStr,"cfg_pins")) return http_fn_cfg_pins(request);
- if(http_checkUrlBase(urlStr,"index")) return http_fn_index(request);
- if(http_checkUrlBase(urlStr,"ota_exec")) return http_fn_ota_exec(request);
+
if(http_checkUrlBase(urlStr,"ota")) return http_fn_ota(request);
- if(http_checkUrlBase(urlStr,"")) return http_fn_empty_url(request);
+ if(http_checkUrlBase(urlStr,"ota_exec")) return http_fn_ota_exec(request);
return http_fn_other(request);
}