TelenkovDmitry 7 rokov pred
rodič
commit
cadcad4720

+ 14 - 7
modules/Ethernet/udp_netsetting.c

@@ -9,7 +9,6 @@
 #include "task.h"
 
 #include "lwip/api.h"
-
 #include "udp_netsetting.h"
 #include "stm32_uid.h"
 #include "parameters.h"
@@ -141,17 +140,24 @@ void udp_recieve_parser(char *buf, u16_t rcvlen)
   const uint8_t len = 100;
   char value[100];
   char str[100];
+  char work_buf[DATA_BUF_LEN1];
 
   memset(str, 0, 100);
 
- // ClearParamString(buf);
+  memset(work_buf, 0, DATA_BUF_LEN1);
+
+  //ClearParamString(buf);
 
   memset(value, 0, len);
   memset(str, 0, len);
+  if(rcvlen < (DATA_BUF_LEN1 - 1))
+	  strncpy(work_buf, buf, rcvlen);
+  else
+	  strncpy(work_buf, buf, (DATA_BUF_LEN1 - 1));
 
   DBG buf[rcvlen]='\0';
   DBG printf("Rcvd (%d bytes): \t%s\r\n", rcvlen, buf);
-  GetUDPParamValue(buf, "\"serno\"", value, &valueLen);
+  GetUDPParamValue(work_buf, "\"serno\"", value, &valueLen);
   if(valueLen != 0)
 	  GetSerialNumberStr(str, &len2);
   else
@@ -161,11 +167,11 @@ void udp_recieve_parser(char *buf, u16_t rcvlen)
   {
 	  memset(str, 0, len);
 
-	  GetUDPParamValue(buf, "\"dhcp\"", str, &valueLen);
+	  GetUDPParamValue(work_buf, "\"dhcp\"", str, &valueLen);
 
 	 // memset(str, 0, len);
 	  memset(value, 0, len);
-	  GetUDPParamValue(buf, "\"ipaddress\"", value, &valueLen);
+	  GetUDPParamValue(work_buf, "\"ipaddress\"", value, &valueLen);
 	  if(valueLen != 0)
 	  {
 		  SetUDPDhcpStateStr(str);
@@ -180,12 +186,12 @@ void udp_recieve_parser(char *buf, u16_t rcvlen)
 	  {
 		  memset(value, 0, len);
 
-		  GetUDPParamValue(buf, "\"gateway\"", value, &valueLen);
+		  GetUDPParamValue(work_buf, "\"gateway\"", value, &valueLen);
 		  if(valueLen != 0)
 			  SetGatewayStr(value);
 		  memset(value, 0, len);
 
-		  GetUDPParamValue(buf, "\"mask\"", value, &valueLen);
+		  GetUDPParamValue(work_buf, "\"mask\"", value, &valueLen);
 		  if(valueLen != 0)
 			  SetMaskStr(value);
 		  memset(value, 0, len);
@@ -224,6 +230,7 @@ bool http_server_serve(struct netconn *conn)
     if (res == ERR_OK)
     {
         netbuf_data(inbuf, (void**)&buf, &buflen);
+        //buf[buflen] = 0;
         udp_recieve_parser(buf, buflen);
         flag = true;
         netbuf_delete(inbuf);

+ 1 - 2
modules/HTTP_Server/web_params_api.c

@@ -395,7 +395,7 @@ void HTTP_GetUpsHistoryPage(char* buf, uint32_t pageNumber)
   * @brief  Возвращает uptime, freq, dutycicle
   */
 void HTTP_GetProgonParams(char *buf)
-{/*
+{
   char str[20];
   u32_t tick;  
   
@@ -409,7 +409,6 @@ void HTTP_GetProgonParams(char *buf)
   strncat(buf, str, strlen(str));
 
   strncat(buf, "\"}", 2);
-*/  
 }
 
 

+ 2 - 2
modules/monitor/ups_monitor.c

@@ -164,9 +164,9 @@ void UPS_CriticalAlarmMonitor(void)
 
   if(CriticalAlarmCurrent){
 	  if (UPS.Present)
-		  LED_Toggle(LED_MAJOR_R);
-	  else
 		  LED_On(LED_MAJOR_R);
+	  else
+		  LED_Toggle(LED_MAJOR_R);
   }
   else{
 	  LED_Off(LED_MAJOR_R);

+ 3 - 8
modules/parameters.c

@@ -337,7 +337,7 @@ void GetWorkTimeStr(char *str, uint8_t *len)
   uint8_t  hour;
   uint8_t  min;
 
-  //snmp_get_sysuptime(&tick);
+  snmp_get_sysuptime(&tick);
 
   day = tick/8640000;
   
@@ -980,25 +980,20 @@ void SetTimeStr(char *str)
 
 // ************************************************************************** //
 //                             Параметры SNTP
-
+#ifndef BT6702_SERVICE
 /**
   * @brief  Состояние SNTP
   */
 void SetSntpStateStr(char *str)
 {
-	bool old_sntpEnable = sSettings.sSNTP.sntpEnable;
   if (strncmp(str, "1", 1) == 0){
 	sSettings.sSNTP.sntpEnable = true;
-	if(old_sntpEnable != sSettings.sSNTP.sntpEnable){
-	//	SNTP_Enable(sSettings.sSNTP.sntpEnable);
-	//	SNTP_Poll();
 	}
-  }
   else{
 	sSettings.sSNTP.sntpEnable = false;
-//	SNTP_Enable(sSettings.sSNTP.sntpEnable);
   }
 }
+#endif
 
 /**
   * @brief  IP адрес SNTP сервера

BIN
output/BT_6702xx.bin


BIN
output/iap.bin


BIN
output/stm32bt6702.bin