Advertisement
Pandaaaa906

Untitled

Aug 22nd, 2022
1,235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.     var intervar;
  3.     // var tcom = null;
  4.     $(function () {
  5.         comlist();
  6.     })
  7.  
  8.     //获取端口的列表
  9.     function comlist() {
  10.         try {
  11.             $.get(
  12.                 "http://127.0.0.1:8333/comlist",
  13.                 function (result) {
  14.                     // console.log(result);
  15.                     if (result.ports.length > 0) {
  16.                         $(result.ports).each(function (i) {
  17.                             $("<option value='" + result.ports[i].name + "'>" + result.ports[i].name  + "</option>").insertBefore($("#comli option:first"))
  18.                         })
  19.                         document.getElementById("comli").selectedIndex = 0;
  20.                     }
  21.                 }
  22.             )
  23.         } catch (err) {
  24.             console.log(err);
  25.         }
  26.     }
  27.  
  28.     //关闭端口
  29.     function closeCom() {
  30.         try {
  31.             clearInterval(intervar);
  32.             console.log("close");
  33.             $.get(
  34.                 "http://127.0.0.1:8333/close",
  35.                 function (result) {
  36.                     return result;
  37.                 }
  38.             )
  39.         } catch (err) {
  40.             //console.log(err);
  41.         }
  42.     }
  43.  
  44.     //打开端口
  45.     var CUR_SJT = "";
  46.     function selComPort() {
  47.         try {
  48.             CUR_SJT = $("#character_encode").val();
  49.             var comNo = 0;
  50.             if ($("#comli").val() != "-1") {
  51.                 comNo = $("#comli").val();
  52.             } else {
  53.                 alert("请选择端口");
  54.                 return;
  55.             }
  56.  
  57.             if ($("#btn_open").val() == "Close") {
  58.                 setTimeout(() => {closeCom()}, 0);
  59.                 $("#btn_open").val("Open");
  60.                 $("#com_setting_div").show();
  61.                 return;
  62.             } else {
  63.                 setTimeout(() => {
  64.                     var port_info={
  65.                         "port":comNo,
  66.                         "baudrate":parseInt($("#baud_rate").val()),
  67.                         "databits":parseInt($("#data_bit").val()),
  68.                         "parity":$("#parity_bit").val(),
  69.                         "stopbits":$("#stop_bit").val(),
  70.                         "expected":"\\r",
  71.                         "timeout":5
  72.                     }
  73.                     $.ajax({
  74.                         url: "http://127.0.0.1:8333/open",
  75.                         data: JSON.stringify(port_info), //方法二   测试ok
  76.                         method: "post",
  77.                         dataType: "json",
  78.                         contentType: 'application/json',
  79.                         success: function (data) {
  80.                             if(data['status']=='success'){
  81.                                 //ok
  82.                                 $("#btn_open").val("Close");
  83.                                 $("#com_setting_div").hide();
  84.                                 intervar = setInterval(function(){
  85.                                     $.get(
  86.                                         "http://127.0.0.1:8333/read",
  87.                                         function (result) {
  88.                                             if(result.stat){console.log(result)};
  89.                                             if(result['data']){
  90.                                                 var res=$.trim(result['data'].replace("+","").replace("'",""));
  91.                                                 var pattern=/[1-9]\d*.\d*|0.\d*[1-9]\d*/;
  92.                                                 res=res.match(pattern);
  93.                                                 if(current_elt_id){
  94.                                                     //$("#"+current_elt_id).val(res);
  95.                                                     if(current_elt_id=="weight_before_input"){
  96.                                                         vm.info.weight_before=res[0];
  97.                                                         vm.save_info("weight_before");
  98.                                                     }else if(current_elt_id=="weight_after_input"){
  99.                                                         vm.info.weight_after=res[0];
  100.                                                         vm.save_info("weight_after");
  101.                                                     }else if(current_elt_id=="weight_input"){
  102.                                                         vm.info.weight=res[0];
  103.                                                         vm.save_info("weight");
  104.                                                     }
  105.                                                 }
  106.                                             }
  107.                                         }
  108.                                     )
  109.                                 },200);
  110.                             }else{
  111.                                 alert("打开端口失败!");
  112.                             }
  113.                         },
  114.                         error: function(){
  115.                             alert("打开端口失败!");
  116.                         }
  117.                     });
  118.                 }, 0);
  119.  
  120.             }
  121.         } catch (err) {
  122.             console.log(err);
  123.         }
  124.     }
  125.  
  126.     //退出时关闭串口
  127.     $(document).unbind('bjui.beforeCloseDialog').on('bjui.beforeCloseDialog', function (e) {
  128.         closeCom();
  129.     })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement