523096025 11 月之前
父節點
當前提交
f9767e5c57

+ 1 - 0
huimv-env-admin/pom.xml

@@ -20,6 +20,7 @@
             <artifactId>spring-boot-starter-web</artifactId>
             <version>2.4.1</version>
         </dependency>
+
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>

+ 2 - 1
huimv-env-input/src/main/java/com/huimv/env/input/c/MyNativeClass.java

@@ -8,7 +8,8 @@ public class MyNativeClass {
     public  interface LibraryshowChar extends Library {
 //        LibraryshowChar LIBRARY_CHAR = Native.load("/c/libpredict.so", LibraryshowChar.class);
 //        LibraryshowChar LIBRARY_CHAR = Native.load("/c/libpredict_test.so", LibraryshowChar.class);
-        LibraryshowChar LIBRARY_CHAR = Native.load("/c/libpredict_printf.so", LibraryshowChar.class);
+
+        LibraryshowChar LIBRARY_CHAR = Native.load("/c/libpredict_free.so", LibraryshowChar.class);
         int current_detection( int[] lastData , int[] curretData);
     }
 

+ 28 - 22
huimv-env-input/src/main/java/com/huimv/env/input/controller/BaseFarmController.java

@@ -2,10 +2,7 @@ package com.huimv.env.input.controller;
 
 
 import com.huimv.env.input.c.MyNativeClass;
-import com.sun.jna.Function;
-import com.sun.jna.Library;
-import com.sun.jna.Native;
-import com.sun.jna.NativeLibrary;
+import com.sun.jna.*;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
@@ -23,9 +20,8 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/baseFarm")
 public class BaseFarmController {
 
-
-      @GetMapping("/test")
-        public  String add()    {
+       @GetMapping("/test")
+        public  String add()   {
 
             // 前有功功率	前无功功率	前视在功率  +  前 128个电流值
 //            int[] lastData = new int[131];
@@ -33,25 +29,35 @@ public class BaseFarmController {
 //            int[] curretData = new int[131];
 
 
-          NativeLibrary instance = NativeLibrary.getInstance("/c/libpredict_printf.so");
-          Function func = instance.getFunction("current_detection");
-          int[] lastData = new int[]{2,0,222,-5,-6,-8,-4,-2,-7,-2,-4,-5,-5,-7,-6,-2,-4,-7,0,-5,-5,-1,0,-2,-4,-6,-4,-2,-6,-5,-6,-3,-4,-6,-7,-6,1,-5,-7,-4,-5,-7,-4,-3,-3,-6,-5,-6,-7,-1,0,-5,-6,-4,-8,-7,-6,-5,-7,-5,-4,-5,-5,-5,-6,-3,-5,-4,-6,-6,-7,-4,-6,-5,-7,-6,-7,-12,1,-8,-6,-6,-4,-6,-5,-5,-4,-4,-4,-6,-4,-8,-11,-5,-2,-6,-5,-3,-7,-4,-6,-5,-5,-6,-7,-5,0,-3,-5,-3,-6,-4,-6,-6,-7,-5,-5,-4,-6,-3,-7,-7,-5,-6,-3,-6,-9,-6,-4,-7,-4};
-          int[] curretData = new int[]{110,22,178,3,-6,-8,-4,-5,-4,-6,-7,-7,-6,-8,-4,-7,-7,-8,-5,-12,-6,-8,-6,-5,-8,-5,-8,-8,-7,-4,-8,-169,-479,-389,-380,-336,-247,-191,-151,-137,-117,-85,-16,-5,-2,-6,-3,-4,-2,-7,-2,-4,-4,-8,-6,-3,-5,-4,-3,-3,-2,-3,-6,-3,-5,-3,-1,-4,-3,1,144,468,409,363,328,238,179,148,124,108,75,6,-7,-3,-6,-5,-3,-5,-8,-5,-7,-7,-7,-7,-1,-3,-5,-5,-9,-6,0,-12,-9,-4,-10,-6,-6,-6,-10,-132,-469,-446,-367,-334,-251,-191,-153,-133,-113,-89,-20,0,-3,-2,-6,-4,-4,-4,-3,-6,-4};
-          Object res = func.invoke(Integer.class, new Object[]{lastData,curretData});
-          System.out.println( res);
 
-//            for (int i = 0; i < 100; i++) {
-//                int[] lastData = new int[]{2,0,222,-5,-6,-8,-4,-2,-7,-2,-4,-5,-5,-7,-6,-2,-4,-7,0,-5,-5,-1,0,-2,-4,-6,-4,-2,-6,-5,-6,-3,-4,-6,-7,-6,1,-5,-7,-4,-5,-7,-4,-3,-3,-6,-5,-6,-7,-1,0,-5,-6,-4,-8,-7,-6,-5,-7,-5,-4,-5,-5,-5,-6,-3,-5,-4,-6,-6,-7,-4,-6,-5,-7,-6,-7,-12,1,-8,-6,-6,-4,-6,-5,-5,-4,-4,-4,-6,-4,-8,-11,-5,-2,-6,-5,-3,-7,-4,-6,-5,-5,-6,-7,-5,0,-3,-5,-3,-6,-4,-6,-6,-7,-5,-5,-4,-6,-3,-7,-7,-5,-6,-3,-6,-9,-6,-4,-7,-4};
-//                int[] curretData = new int[]{110,22,178,3,-6,-8,-4,-5,-4,-6,-7,-7,-6,-8,-4,-7,-7,-8,-5,-12,-6,-8,-6,-5,-8,-5,-8,-8,-7,-4,-8,-169,-479,-389,-380,-336,-247,-191,-151,-137,-117,-85,-16,-5,-2,-6,-3,-4,-2,-7,-2,-4,-4,-8,-6,-3,-5,-4,-3,-3,-2,-3,-6,-3,-5,-3,-1,-4,-3,1,144,468,409,363,328,238,179,148,124,108,75,6,-7,-3,-6,-5,-3,-5,-8,-5,-7,-7,-7,-7,-1,-3,-5,-5,-9,-6,0,-12,-9,-4,-10,-6,-6,-6,-10,-132,-469,-446,-367,-334,-251,-191,-153,-133,-113,-89,-20,0,-3,-2,-6,-4,-4,-4,-3,-6,-4};
-//                int num =  MyNativeClass.LibraryshowChar.LIBRARY_CHAR.current_detection(lastData, curretData);
+//          for (int i = 0; i < 100; i++) {
 //
-//                // 0没测到 1检测到
-//                System.out.println( i+"-->"+num);
-//            }
-
-
+//              NativeLibrary instance = NativeLibrary.getInstance("/c/libpredict_printf.so");
+//              Function func = instance.getFunction("current_detection");
+//              int[] lastData = new int[]{2,0,222,-5,-6,-8,-4,-2,-7,-2,-4,-5,-5,-7,-6,-2,-4,-7,0,-5,-5,-1,0,-2,-4,-6,-4,-2,-6,-5,-6,-3,-4,-6,-7,-6,1,-5,-7,-4,-5,-7,-4,-3,-3,-6,-5,-6,-7,-1,0,-5,-6,-4,-8,-7,-6,-5,-7,-5,-4,-5,-5,-5,-6,-3,-5,-4,-6,-6,-7,-4,-6,-5,-7,-6,-7,-12,1,-8,-6,-6,-4,-6,-5,-5,-4,-4,-4,-6,-4,-8,-11,-5,-2,-6,-5,-3,-7,-4,-6,-5,-5,-6,-7,-5,0,-3,-5,-3,-6,-4,-6,-6,-7,-5,-5,-4,-6,-3,-7,-7,-5,-6,-3,-6,-9,-6,-4,-7,-4};
+//              int[] curretData = new int[]{110,22,178,3,-6,-8,-4,-5,-4,-6,-7,-7,-6,-8,-4,-7,-7,-8,-5,-12,-6,-8,-6,-5,-8,-5,-8,-8,-7,-4,-8,-169,-479,-389,-380,-336,-247,-191,-151,-137,-117,-85,-16,-5,-2,-6,-3,-4,-2,-7,-2,-4,-4,-8,-6,-3,-5,-4,-3,-3,-2,-3,-6,-3,-5,-3,-1,-4,-3,1,144,468,409,363,328,238,179,148,124,108,75,6,-7,-3,-6,-5,-3,-5,-8,-5,-7,-7,-7,-7,-1,-3,-5,-5,-9,-6,0,-12,-9,-4,-10,-6,-6,-6,-10,-132,-469,-446,-367,-334,-251,-191,-153,-133,-113,-89,-20,0,-3,-2,-6,-4,-4,-4,-3,-6,-4};
+//              Object res = func.invoke(Integer.class, new Object[]{lastData,curretData});
+//              System.out.println( i+"-->"+res);
+//          }
+
+            for (int i = 0; i < 10000; i++) {
+                int[] lastData = new int[]{2,0,222,-5,-6,-8,-4,-2,-7,-2,-4,-5,-5,-7,-6,-2,-4,-7,0,-5,-5,-1,0,-2,-4,-6,-4,-2,-6,-5,-6,-3,-4,-6,-7,-6,1,-5,-7,-4,-5,-7,-4,-3,-3,-6,-5,-6,-7,-1,0,-5,-6,-4,-8,-7,-6,-5,-7,-5,-4,-5,-5,-5,-6,-3,-5,-4,-6,-6,-7,-4,-6,-5,-7,-6,-7,-12,1,-8,-6,-6,-4,-6,-5,-5,-4,-4,-4,-6,-4,-8,-11,-5,-2,-6,-5,-3,-7,-4,-6,-5,-5,-6,-7,-5,0,-3,-5,-3,-6,-4,-6,-6,-7,-5,-5,-4,-6,-3,-7,-7,-5,-6,-3,-6,-9,-6,-4,-7,-4};
+                int[] curretData = new int[]{110,22,178,3,-6,-8,-4,-5,-4,-6,-7,-7,-6,-8,-4,-7,-7,-8,-5,-12,-6,-8,-6,-5,-8,-5,-8,-8,-7,-4,-8,-169,-479,-389,-380,-336,-247,-191,-151,-137,-117,-85,-16,-5,-2,-6,-3,-4,-2,-7,-2,-4,-4,-8,-6,-3,-5,-4,-3,-3,-2,-3,-6,-3,-5,-3,-1,-4,-3,1,144,468,409,363,328,238,179,148,124,108,75,6,-7,-3,-6,-5,-3,-5,-8,-5,-7,-7,-7,-7,-1,-3,-5,-5,-9,-6,0,-12,-9,-4,-10,-6,-6,-6,-10,-132,-469,-446,-367,-334,-251,-191,-153,-133,-113,-89,-20,0,-3,-2,-6,-4,-4,-4,-3,-6,-4};
+                int num =  MyNativeClass.LibraryshowChar.LIBRARY_CHAR.current_detection(lastData, curretData);
+                // 0没测到 1检测到
+                if (num == -1){
+                    System.out.println( i+"-->"+num);
+                }
+            }
             return  "成功";
+    }
+
+    @GetMapping("/test1")
+    public  String add2() throws InterruptedException {
 
+        String add = add();
+        return add;
     }
 
+
 }

二進制
huimv-env-input/src/main/resources/c/libpredict_free.so