Ver código fonte

BT6706: add telnet settings

balbekova 7 anos atrás
pai
commit
580d687ab6

+ 11 - 0
modules/HTTP_Server/web_params_api.c

@@ -203,6 +203,17 @@ void HTTP_GetSettings(char *buf)
   GetDhcpStateStr(str, &len);  
   strcat(buf, "\",\"dhcp\":");
   strncat(buf, str, len);
+
+#ifdef HARDWARE_BT6706
+  GetTelnetPortStr(str, &len);
+  strcat(buf, "\",\"tn_port\":\"");
+  strncat(buf, str, len);
+
+  GetTelnetEnableStateStr(str, &len);
+  strcat(buf, "\",\"tn_enabled\":");
+  strncat(buf, str, len);
+#endif
+
 #ifdef HARDWARE_BT6702
   GetAuthEnableStateStr(str, &len);
   strcat(buf, ",\"swauth\":");

+ 54 - 0
modules/parameters.c

@@ -716,6 +716,35 @@ void GetAuthEnableStateStr(char *str, uint8_t *len)
 
 #endif
 
+#ifdef HARDWARE_BT6706
+// ************************************************************************** //
+//                             Параметры Telnet
+
+/**
+  * @brief Текущий Порт
+  */
+void GetTelnetPortStr(char *str, uint8_t *len)
+{
+  sprintf(str, "%d", sSettings.sTelnet.port);
+
+  *len = strlen(str);
+}
+
+/**
+  * @brief  Настройка вкл/ выкл Telnet сервера
+  */
+void GetTelnetEnableStateStr(char *str, uint8_t *len)
+{
+    if (sSettings.sTelnet.TelnetEnable)
+      *str = '1';
+    else
+      *str = '0';
+
+  *len = 1;
+}
+
+#endif
+
 // ************************************************************************** //
 //                          Флаги
 
@@ -958,6 +987,31 @@ void SetAuthEnableStateStr(char *str)
   else
 	  sSettings.sRADIUS.Auth_enable = 0;
 }
+#endif
+
+#ifdef HARDWARE_BT6706
+// ************************************************************************** //
+//                             Параметры Telnet
+
+/**
+  * @brief Текущий Порт
+  */
+void SetTelnetPortStr(char *str)
+{
+	sSettings.sTelnet.port = atoi(str);
+}
+
+/**
+  * @brief  Настройка вкл/ выкл Telnet сервера
+  */
+void SetTelnetEnableStateStr(char *str)
+{
+	  if (strncmp(str, "on", 2) == 0)
+		  sSettings.sTelnet.TelnetEnable = 1;
+	  else
+		  sSettings.sTelnet.TelnetEnable = 0;
+}
+
 #endif
 // ************************************************************************** //
 //                             Параметры даты и времени

+ 32 - 0
modules/parameters.h

@@ -298,6 +298,23 @@ void GetDOUT1StatusStr(char *str, uint8_t *len);
 void GetDOUT2StatusStr(char *str, uint8_t *len);
 #endif
 
+
+#ifdef HARDWARE_BT6706
+// ************************************************************************** //
+//                             Параметры Telnet
+
+/**
+  * @brief Текущий Порт
+  */
+void GetTelnetPortStr(char *str, uint8_t *len);
+
+/**
+  * @brief  Настройка вкл/ выкл Telnet сервера
+  */
+void GetTelnetEnableStateStr(char *str, uint8_t *len);
+
+#endif
+
 // ************************************************************************** //
 //                                Флаги
 
@@ -433,6 +450,21 @@ void SetAuthEnableStateStr(char *str);
 
 #endif
 
+#ifdef HARDWARE_BT6706
+// ************************************************************************** //
+//                             Параметры Telnet
+
+/**
+  * @brief Текущий Порт
+  */
+void SetTelnetPortStr(char *str);
+
+/**
+  * @brief  Настройка вкл/ выкл Telnet сервера
+  */
+void SetTelnetEnableStateStr(char *str);
+#endif
+
 // ************************************************************************** //
 //                             Параметры даты и времени
 

+ 20 - 0
modules/settings_api.c

@@ -221,6 +221,17 @@ void SETTINGS_SetSSLcrtDef(void){
 }
 #endif
 
+#ifdef HARDWARE_BT6706
+/**
+  * @brief  Установить параметры Telnet
+  */
+void SETTINGS_SetTelnetDef(void){
+	sSettings.sTelnet.TelnetEnable = true;
+	sSettings.sTelnet.port = 23;
+}
+
+#endif
+
 /**
   * @brief  Сброс настроек в значения по умолчанию
   */
@@ -236,6 +247,9 @@ void SETTINGS_SetDefault(void)
   SETTINGS_SetRADIUSDef();
   SETTINGS_SetSSLcrtDef();
 #endif
+#ifdef HARDWARE_BT6706
+  SETTINGS_SetTelnetDef();
+#endif
 
   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC();
 }
@@ -276,6 +290,9 @@ void SETTINGS_SetAllDefault(void)
   SETTINGS_SetRADIUSDef();
   SETTINGS_SetSSLcrtDef();
 #endif
+#ifdef HARDWARE_BT6706
+  SETTINGS_SetTelnetDef();
+#endif
   
   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC();
 
@@ -300,6 +317,9 @@ void SETTINGS_SetDefaultDebug(void)
   SETTINGS_SetRADIUSDef();
   SETTINGS_SetSSLcrtDef();
 #endif
+#ifdef HARDWARE_BT6706
+  SETTINGS_SetTelnetDef();
+#endif
   
   sSettings.CritSecCRC = SETTINGS_GetCritSecCRC();
 

+ 22 - 1
modules/settings_api.h

@@ -171,12 +171,22 @@ typedef struct
   bool Auth_enable;
   char    ServerIP[16];
   char    rds_password[17];
-  bool RDSEnable;  // 0 - DHCP отключен, 1 - включен
+  bool RDSEnable;  // 0 - отключен, 1 - включен
   uint32_t port;
   uint32_t key_access;
 
 } RADIUS_t;
 
+/**
+  * @brief  Параметры Telnet
+  */
+typedef struct
+{
+  bool TelnetEnable;  // 0 - отключен, 1 - включен
+  uint32_t port;
+
+} TELNET_t;
+
 /**
   * @brief  Общая структура настроек
   */
@@ -202,6 +212,9 @@ typedef struct
   RADIUS_t		sRADIUS;
   //char			our_srv_crt[1205];
   char			our_srv_crt[1705];
+#endif
+#ifdef HARDWARE_BT6706
+  TELNET_t		sTelnet;
 #endif
   uint32_t      controlWorld;  // Слово для контроля целостности структуры настроек
   
@@ -263,6 +276,14 @@ void SETTINGS_SetRADIUSDef(void);
   */
 void SETTINGS_SetSSLcrtDef(void);
 #endif
+
+#ifdef HARDWARE_BT6706
+/**
+  * @brief  Установить параметры Telnet
+  */
+void SETTINGS_SetTelnetDef(void);
+#endif
+
 /**
   * @brief  Установить значение сервисных настроек по умолчанию
   */