Selaa lähdekoodia

[megatec]add new request for kstar

balbekova 1 vuosi sitten
vanhempi
commit
e6b3e3ebfa
2 muutettua tiedostoa jossa 36 lisäystä ja 1 poistoa
  1. 35 1
      modules/MegaTec/megatec.c
  2. 1 0
      modules/MegaTec/megatec.h

+ 35 - 1
modules/MegaTec/megatec.c

@@ -102,6 +102,7 @@ const char *MegaTecCMD[] = {
     "PHV264\r",//264
     "QFLAG\r",
     "PEL\r",
+    "BT\r",
 };
 
 extern bool flUpdateLog;
@@ -931,6 +932,36 @@ void ups_qflag_status_get(char *data)
     }   
 }
 
+void ups_kstar_status_response(char *data)
+{
+    char value[20];
+    uint8_t len;
+    if (data[0] != '#') {
+        return;
+    }
+
+    DBG printf("ups_kstar_status_response: %s\r\n", data);
+
+    UPS.Present = UPS_CONNECTED;
+    UPS.Flag_Present = true;
+    UPS.cnt_err_ups = 0;
+
+    data++;
+
+    len = get_ups_param(data, " ", value);
+    data += (len + 1);
+    if (len > 0) {
+         UPS.work_time = atoi(value);
+    } 
+  /*   len = get_ups_param(data, "\r", value);
+    data += (len + 1);
+    if (len > 0) {
+         UPS.warn_status = value[3] - 0x30;
+    } 
+*/    
+
+}
+
 void ups_megatec_process_pdu(cmdMegaTecEnums_t command)
 {
     switch (command) {
@@ -983,6 +1014,9 @@ void ups_megatec_process_pdu(cmdMegaTecEnums_t command)
         case ups_qflag_status:
             ups_qflag_status_get(ups_pdu.data);
             break;
+        case ups_kstar_status:
+            ups_kstar_status_response(ups_pdu.data);
+            break;
         default:
             break;
     }
@@ -1106,7 +1140,7 @@ void kstar_mode(void)
 //void request_task(void)
 void request_task(void *params)
 {
-    uint8_t kestar_req[3] = { ups_status_req, ups_remain_time_reg, ups_info};
+    uint8_t kestar_req[4] = { ups_status_req, ups_remain_time_reg, ups_info, ups_kstar_status};
     uint8_t voltronic_req[8] = {ups_status_req, ups_akb_info, ups_model_req, ups_mode_req, ups_version_req, ups_version2_req, ups_serial_req, ups_warning_status};//
     uint8_t num_req = 0;
     uint8_t *req;

+ 1 - 0
modules/MegaTec/megatec.h

@@ -55,6 +55,7 @@ typedef enum{
 	ups_bypass_hvolt_264_set,
 	ups_qflag_status,
 	ups_cmd_enable_flag_l,
+	ups_kstar_status,
 
 	MegaTec_cmd_max
 } cmdMegaTecEnums_t;