From c2973f6ed3ba2d573b95f5fecc15af0aa98f624c Mon Sep 17 00:00:00 2001 From: Sven Rademakers Date: Wed, 12 Jul 2023 07:18:55 +0100 Subject: [PATCH] webserver.c: Expose boot pin over legacy API --- app/bmc/webserver.c | 34 ++++++++++++++++++++++++++++++++-- tp2bmc/package/bmc/bmc.mk | 2 +- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/bmc/webserver.c b/app/bmc/webserver.c index de33b3a8d..61da46327 100755 --- a/app/bmc/webserver.c +++ b/app/bmc/webserver.c @@ -206,13 +206,30 @@ static int get_usbmode(Webs* wp) } +static int reset_node(Webs* wp) +{ + char* node = NULL; + node = websGetVar(wp, "node", NULL); + + if(NULL == node ) + { + app_webS_PrintJsonErr(wp,400,"node argument is not set"); + return -1; + } + + tpi_reset_node(atoi(node)); + + return 0; +} + static int set_usbmode(Webs* wp) { char* mode = NULL; char* node = NULL; mode = websGetVar(wp, "mode", NULL); node = websGetVar(wp, "node", NULL); - // env_usb_t usb; + char* boot_pin = websGetVar(wp, "boot_pin", NULL); + if(NULL == node || NULL == mode) { app_webS_PrintJsonErr(wp,400,"mode or node is null"); @@ -222,7 +239,15 @@ static int set_usbmode(Webs* wp) usb->mode = atoi(mode); usb->node = atoi(node); set_env_usb(usb); - tpi_usb_mode(usb->mode,usb->node); + + if (NULL == boot_pin) { + tpi_usb_mode_v2(usb->mode,usb->node,1); + } else { + int boot = atoi(boot_pin); + tpi_usb_mode_v2(usb->mode,usb->node, boot); + } + + return 0; } @@ -874,6 +899,11 @@ static void bmcdemo(Webs *wp) { clear_usb_boot(wp); } + else if(0==strcasecmp(pType,"reset")) + { + reset_node(wp); + } + strcpy(json_result_buff,"{\"response\":[{\"result\":\"ok\"}]}"); websWrite(wp, "%s", json_result_buff); websFlush(wp, 0); diff --git a/tp2bmc/package/bmc/bmc.mk b/tp2bmc/package/bmc/bmc.mk index 92098a4a9..4b4cafad9 100644 --- a/tp2bmc/package/bmc/bmc.mk +++ b/tp2bmc/package/bmc/bmc.mk @@ -2,7 +2,7 @@ # bmc ########################################################### -BMC_VERSION:= 1.0.0 +BMC_VERSION:= 1.1.0 BMC_SITE:= $(TOPDIR)/../app/bmc BMC_SITE_METHOD:=local BMC_INSTALL_TARGET:=YES