2020-06-27 14:58:03 -07:00
|
|
|
package org.photonvision.server;
|
Module bringup (#95)
* Merge to fix git history
commit df76353dd5d4c9db7d4843c63bae2dcaf4a9b478
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sun Apr 12 12:21:31 2020 -0700
Add skeleton Manager and Server
Skeleton VisionModule/VisionModuleManager/Visionprocess
Add blank temp data class, flesh out VisionModule more
added server and socket handler template
Create Logger class
Run spotless
Add async to Logger
Revert "Add async to Logger"
This reverts commit 130df7b895dc73db6e4c0b7b101d383a2952b49e.
Add asyncronous file appending
commit 621e3a829ddace486680a9198538cfad278076da
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sun Apr 12 09:04:52 2020 -0700
Add offset method to get2020Target
commit 75e104770f36084a19fbf98e2470b937203e8dc0
Merge: 292071a 525cf52
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 21:33:12 2020 -0700
Merge branch 'logging' into pipeline-bringup
commit 292071adefd90c85355859a5407e9ab786aa2436
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 21:32:25 2020 -0700
Update .gitignore
commit a31f64fb65d42a81d1ecf0b4a8ebf03869c4ba03
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 21:31:17 2020 -0700
Refactor calibration into `common.calibration`
commit eb91324a263025afdd7fd59a5001c9e95f3d3e6c
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 16:48:52 2020 -0700
run spotless
commit a6e3f0dda55964c8fb1819ad9386bb21de58cdf9
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 16:48:28 2020 -0700
Fix JSON mat bug and lifecam default calibration for tests, fix 3d drawing
commit f2d5caea43747c80c9d7417b4ffda32dad95cd71
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 15:47:12 2020 -0700
Implement solvePNP, bounding box top and bottom
commit bbf1ea445d72876d5e3c53ae3f41be68adf401ca
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 15:46:32 2020 -0700
Add lifecam calibration data
commit 82684920224e5f5ba2924106cbe09beb3d30d42e
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 15:46:20 2020 -0700
Update geometry classes
commit cab6a68184b74055ae088d59660ecd7ddff58400
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 12:23:04 2020 -0700
Clean up draw 3d, fix convex hull bug in corner detection
commit bb3c247e398b72e93c77ece8c97929982edded3e
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 11:44:57 2020 -0700
Update Contour.java
commit 94c9b1dd342b17ceed5dca1020f1253cd6f59f62
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 11:41:05 2020 -0700
Make Draw2dContours pipe respect showMultiple
commit 0f231888accb19d4018ee2a2c1ccee5e28b48f69
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 11:40:38 2020 -0700
Add point detection, fix convex hull calculation in Contour
commit ef360ba7f814fad74b2f07025c08634f09eacf97
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Fri Apr 10 04:51:50 2020 -0400
Add ContourShape class for approxPolyDp Start on ColoredShape tracking
commit a4e9dd3d4221085e76425e99496bc7d03536a689
Author: Matt <matthew.morley.ca@gmail.com>
Date: Thu Apr 9 20:53:14 2020 -0700
Create CornerDetectionPipe based on old solvePNPPipe
commit 88cae18d63f8045a77e5c394af6b3f4d2fab98db
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Thu Apr 9 20:19:57 2020 -0400
Add perimeter, MatOfPoint2f getters to Contour
commit 525cf52ec4ac204f7996310fa3d12ad127362bf7
Author: Matt <matthew.morley.ca@gmail.com>
Date: Tue Mar 31 10:56:57 2020 -0700
Add slv4j logger to replace the current debugLogger
I'm waiting on stuff to be less skeletoned to add more
commit 50e70b907317e630ee66fb12b31d0b216e331156
Author: Matt <matthew.morley.ca@gmail.com>
Date: Tue Mar 31 10:40:42 2020 -0700
Add logback
commit b739ba287829c07a13079434751214e4ad4e769f
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Thu Apr 9 00:51:22 2020 -0400
various cleanups, add DummyFrameConsumer
commit 91c36cb60ee4d40ac3715e3c7f4249e172b15e2b
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Thu Apr 9 00:48:42 2020 -0400
Add CVMat, ReflectionUtils to help track rogue Mats
commit 7999c9ee935052436d44ff51d64d60a266aad1fd
Author: Matt <matthew.morley.ca@gmail.com>
Date: Wed Apr 8 21:48:02 2020 -0700
Apply spotless
commit c39d9dc6fd13aedd2f684d8b2654f8a277ccf587
Author: Matt <matthew.morley.ca@gmail.com>
Date: Wed Apr 8 21:45:19 2020 -0700
Resolve memory leaks due to unnecessary instantiation of Points
commit 7b507da3c860c2a68d70d968224648819695c489
Author: Matt <matthew.morley.ca@gmail.com>
Date: Wed Apr 8 21:29:53 2020 -0700
Fix ConcurrentModificationException bug in group contours pipe with potential targets
commit d5c7b26f73f9c74bb2b29723f9987c3f66f8c288
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Wed Apr 8 03:49:10 2020 -0400
Refactor CVPipeline, add ReflectivePipelineTest
commit 2e6a64862cc9c27faf30545cbf89053a4e9a9ed7
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Wed Apr 8 03:48:50 2020 -0400
add TestUtils class, move testimages
commit 6653eb981224f4851cb2ad1219c6ebe08ca70b8f
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Wed Apr 8 03:45:11 2020 -0400
add Releasable interface, implement in classes
commit ef1e3024a1ef8fdfee58d4a8ef00b8aa96146721
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 19:53:41 2020 -0400
Move test images
commit e25e736741d7432fca42a32f707099e62a1e5a14
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 18:42:43 2020 -0400
Apply Spotless
commit ff5cee953f80b59b938df5c1a6e1bef4e9fb6573
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 01:52:06 2020 -0400
Finish ReflectivePipeline, various tweaks
commit 7e6e65127a54ec784d048914fb49ca23b6ee4d29
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 01:49:14 2020 -0400
Add FrameStaticProperties as member in Frame
Add FrameStaticProperties as member in Frame
commit 09bf8cb500d89b8f3e11afe5e4d2c56d42ce18f9
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Mon Apr 6 17:45:25 2020 -0400
Add crosshair to DriverMode, cleanups
commit 570531afb28e422f1e866454cfb8f5b745979ec9
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Mon Apr 6 14:10:39 2020 -0400
Add DriverPipeline classes, apply spotless
commit 0376bdbdcb6bb9e468d353fff24d4c2ac1a0684a
Author: ori agranat <oriagranat9@gmail.com>
Date: Mon Apr 6 11:48:36 2020 +0300
updated Largest ContourSortMode and added centermost
commit 378ba923c06b9a68f4db4972ef5f2b643d8051fd
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Sun Apr 5 23:29:51 2020 -0400
Add pipeline classes, settings, separate enums
commit 3b41afe125d8cf34e71bcd9c30d85f4f7dac30a8
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Sun Apr 5 23:29:32 2020 -0400
Refactor package structure, various cleanups
* Apply spotless, attempt fix for SolvePNPTest
* Fix SolvePNP Draw, fix 2019 PNP
* Add active mat count to CVMat prints, fix NPE in contour release
* Change providers/consumers to extend Provider/Supplier classes
* ModuleManager bringup, spotless applied
* Pipeline Test fixes and cleanups
* Add getName to FrameProvider, set thread name in VisionRunner
* VisionModuleManager test
* God
* Apply Spotless
2020-05-25 14:55:03 -04:00
|
|
|
|
|
|
|
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
|
|
import com.fasterxml.jackson.core.type.TypeReference;
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
|
|
import io.javalin.websocket.*;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.nio.ByteBuffer;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import org.msgpack.jackson.dataformat.MessagePackFactory;
|
|
|
|
|
|
|
|
|
|
public class SocketHandler {
|
|
|
|
|
static List<WsContext> users = new ArrayList<>();
|
|
|
|
|
static ObjectMapper objectMapper = new ObjectMapper(new MessagePackFactory());
|
|
|
|
|
|
|
|
|
|
public static void onConnect(WsConnectContext context) {
|
|
|
|
|
users.add(context);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void onClose(WsCloseContext context) {
|
|
|
|
|
users.remove(context);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void onBinaryMessage(WsBinaryMessageContext context) {
|
|
|
|
|
try {
|
|
|
|
|
Map<String, Object> data =
|
|
|
|
|
objectMapper.readValue(context.data(), new TypeReference<Map<String, Object>>() {});
|
|
|
|
|
// TODO pass data to ui data provider
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void sendMessage(Object message, WsContext user) throws JsonProcessingException {
|
|
|
|
|
ByteBuffer b = ByteBuffer.wrap(objectMapper.writeValueAsBytes(message));
|
|
|
|
|
user.send(b);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void broadcastMessage(Object message, WsContext userToSkip)
|
|
|
|
|
throws JsonProcessingException {
|
|
|
|
|
for (WsContext user : users) {
|
|
|
|
|
if (user != userToSkip) {
|
|
|
|
|
sendMessage(message, user);
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-06-27 14:58:03 -07:00
|
|
|
return;
|
Module bringup (#95)
* Merge to fix git history
commit df76353dd5d4c9db7d4843c63bae2dcaf4a9b478
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sun Apr 12 12:21:31 2020 -0700
Add skeleton Manager and Server
Skeleton VisionModule/VisionModuleManager/Visionprocess
Add blank temp data class, flesh out VisionModule more
added server and socket handler template
Create Logger class
Run spotless
Add async to Logger
Revert "Add async to Logger"
This reverts commit 130df7b895dc73db6e4c0b7b101d383a2952b49e.
Add asyncronous file appending
commit 621e3a829ddace486680a9198538cfad278076da
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sun Apr 12 09:04:52 2020 -0700
Add offset method to get2020Target
commit 75e104770f36084a19fbf98e2470b937203e8dc0
Merge: 292071a 525cf52
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 21:33:12 2020 -0700
Merge branch 'logging' into pipeline-bringup
commit 292071adefd90c85355859a5407e9ab786aa2436
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 21:32:25 2020 -0700
Update .gitignore
commit a31f64fb65d42a81d1ecf0b4a8ebf03869c4ba03
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 21:31:17 2020 -0700
Refactor calibration into `common.calibration`
commit eb91324a263025afdd7fd59a5001c9e95f3d3e6c
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 16:48:52 2020 -0700
run spotless
commit a6e3f0dda55964c8fb1819ad9386bb21de58cdf9
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 16:48:28 2020 -0700
Fix JSON mat bug and lifecam default calibration for tests, fix 3d drawing
commit f2d5caea43747c80c9d7417b4ffda32dad95cd71
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 15:47:12 2020 -0700
Implement solvePNP, bounding box top and bottom
commit bbf1ea445d72876d5e3c53ae3f41be68adf401ca
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 15:46:32 2020 -0700
Add lifecam calibration data
commit 82684920224e5f5ba2924106cbe09beb3d30d42e
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 15:46:20 2020 -0700
Update geometry classes
commit cab6a68184b74055ae088d59660ecd7ddff58400
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 12:23:04 2020 -0700
Clean up draw 3d, fix convex hull bug in corner detection
commit bb3c247e398b72e93c77ece8c97929982edded3e
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 11:44:57 2020 -0700
Update Contour.java
commit 94c9b1dd342b17ceed5dca1020f1253cd6f59f62
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 11:41:05 2020 -0700
Make Draw2dContours pipe respect showMultiple
commit 0f231888accb19d4018ee2a2c1ccee5e28b48f69
Author: Matt <matthew.morley.ca@gmail.com>
Date: Sat Apr 11 11:40:38 2020 -0700
Add point detection, fix convex hull calculation in Contour
commit ef360ba7f814fad74b2f07025c08634f09eacf97
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Fri Apr 10 04:51:50 2020 -0400
Add ContourShape class for approxPolyDp Start on ColoredShape tracking
commit a4e9dd3d4221085e76425e99496bc7d03536a689
Author: Matt <matthew.morley.ca@gmail.com>
Date: Thu Apr 9 20:53:14 2020 -0700
Create CornerDetectionPipe based on old solvePNPPipe
commit 88cae18d63f8045a77e5c394af6b3f4d2fab98db
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Thu Apr 9 20:19:57 2020 -0400
Add perimeter, MatOfPoint2f getters to Contour
commit 525cf52ec4ac204f7996310fa3d12ad127362bf7
Author: Matt <matthew.morley.ca@gmail.com>
Date: Tue Mar 31 10:56:57 2020 -0700
Add slv4j logger to replace the current debugLogger
I'm waiting on stuff to be less skeletoned to add more
commit 50e70b907317e630ee66fb12b31d0b216e331156
Author: Matt <matthew.morley.ca@gmail.com>
Date: Tue Mar 31 10:40:42 2020 -0700
Add logback
commit b739ba287829c07a13079434751214e4ad4e769f
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Thu Apr 9 00:51:22 2020 -0400
various cleanups, add DummyFrameConsumer
commit 91c36cb60ee4d40ac3715e3c7f4249e172b15e2b
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Thu Apr 9 00:48:42 2020 -0400
Add CVMat, ReflectionUtils to help track rogue Mats
commit 7999c9ee935052436d44ff51d64d60a266aad1fd
Author: Matt <matthew.morley.ca@gmail.com>
Date: Wed Apr 8 21:48:02 2020 -0700
Apply spotless
commit c39d9dc6fd13aedd2f684d8b2654f8a277ccf587
Author: Matt <matthew.morley.ca@gmail.com>
Date: Wed Apr 8 21:45:19 2020 -0700
Resolve memory leaks due to unnecessary instantiation of Points
commit 7b507da3c860c2a68d70d968224648819695c489
Author: Matt <matthew.morley.ca@gmail.com>
Date: Wed Apr 8 21:29:53 2020 -0700
Fix ConcurrentModificationException bug in group contours pipe with potential targets
commit d5c7b26f73f9c74bb2b29723f9987c3f66f8c288
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Wed Apr 8 03:49:10 2020 -0400
Refactor CVPipeline, add ReflectivePipelineTest
commit 2e6a64862cc9c27faf30545cbf89053a4e9a9ed7
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Wed Apr 8 03:48:50 2020 -0400
add TestUtils class, move testimages
commit 6653eb981224f4851cb2ad1219c6ebe08ca70b8f
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Wed Apr 8 03:45:11 2020 -0400
add Releasable interface, implement in classes
commit ef1e3024a1ef8fdfee58d4a8ef00b8aa96146721
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 19:53:41 2020 -0400
Move test images
commit e25e736741d7432fca42a32f707099e62a1e5a14
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 18:42:43 2020 -0400
Apply Spotless
commit ff5cee953f80b59b938df5c1a6e1bef4e9fb6573
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 01:52:06 2020 -0400
Finish ReflectivePipeline, various tweaks
commit 7e6e65127a54ec784d048914fb49ca23b6ee4d29
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Tue Apr 7 01:49:14 2020 -0400
Add FrameStaticProperties as member in Frame
Add FrameStaticProperties as member in Frame
commit 09bf8cb500d89b8f3e11afe5e4d2c56d42ce18f9
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Mon Apr 6 17:45:25 2020 -0400
Add crosshair to DriverMode, cleanups
commit 570531afb28e422f1e866454cfb8f5b745979ec9
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Mon Apr 6 14:10:39 2020 -0400
Add DriverPipeline classes, apply spotless
commit 0376bdbdcb6bb9e468d353fff24d4c2ac1a0684a
Author: ori agranat <oriagranat9@gmail.com>
Date: Mon Apr 6 11:48:36 2020 +0300
updated Largest ContourSortMode and added centermost
commit 378ba923c06b9a68f4db4972ef5f2b643d8051fd
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Sun Apr 5 23:29:51 2020 -0400
Add pipeline classes, settings, separate enums
commit 3b41afe125d8cf34e71bcd9c30d85f4f7dac30a8
Author: Banks Troutman <btrout.dhrs@gmail.com>
Date: Sun Apr 5 23:29:32 2020 -0400
Refactor package structure, various cleanups
* Apply spotless, attempt fix for SolvePNPTest
* Fix SolvePNP Draw, fix 2019 PNP
* Add active mat count to CVMat prints, fix NPE in contour release
* Change providers/consumers to extend Provider/Supplier classes
* ModuleManager bringup, spotless applied
* Pipeline Test fixes and cleanups
* Add getName to FrameProvider, set thread name in VisionRunner
* VisionModuleManager test
* God
* Apply Spotless
2020-05-25 14:55:03 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void broadcastMessage(Object message) throws JsonProcessingException {
|
|
|
|
|
broadcastMessage(message, null);
|
|
|
|
|
}
|
|
|
|
|
}
|