diff --git a/wpilibc/src/main/native/cpp/CameraServer.cpp b/wpilibc/src/main/native/cpp/CameraServer.cpp index 7ed561dea0..02de3fb68b 100644 --- a/wpilibc/src/main/native/cpp/CameraServer.cpp +++ b/wpilibc/src/main/native/cpp/CameraServer.cpp @@ -10,6 +10,7 @@ #include #include +#include "HAL/HAL.h" #include "Utility.h" #include "WPIErrors.h" #include "networktables/NetworkTableInstance.h" @@ -493,7 +494,9 @@ CameraServer::CameraServer() } #ifdef __linux__ cs::UsbCamera CameraServer::StartAutomaticCapture() { - return StartAutomaticCapture(m_defaultUsbDevice++); + cs::UsbCamera camera = StartAutomaticCapture(m_defaultUsbDevice++); + HAL_Report(HALUsageReporting::kResourceType_PCVideoServer, camera.GetHandle()); + return camera; } cs::UsbCamera CameraServer::StartAutomaticCapture(int dev) { @@ -503,6 +506,7 @@ cs::UsbCamera CameraServer::StartAutomaticCapture(int dev) { cs::UsbCamera camera{name.str(), dev}; StartAutomaticCapture(camera); + HAL_Report(HALUsageReporting::kResourceType_PCVideoServer, camera.GetHandle()); return camera; } @@ -510,6 +514,7 @@ cs::UsbCamera CameraServer::StartAutomaticCapture(llvm::StringRef name, int dev) { cs::UsbCamera camera{name, dev}; StartAutomaticCapture(camera); + HAL_Report(HALUsageReporting::kResourceType_PCVideoServer, camera.GetHandle()); return camera; } @@ -517,6 +522,7 @@ cs::UsbCamera CameraServer::StartAutomaticCapture(llvm::StringRef name, llvm::StringRef path) { cs::UsbCamera camera{name, path}; StartAutomaticCapture(camera); + HAL_Report(HALUsageReporting::kResourceType_PCVideoServer, camera.GetHandle()); return camera; } #endif @@ -541,6 +547,7 @@ cs::AxisCamera CameraServer::AddAxisCamera(llvm::StringRef name, llvm::StringRef host) { cs::AxisCamera camera{name, host}; StartAutomaticCapture(camera); + HAL_Report(HALUsageReporting::kResourceType_AxisCamera, camera.GetHandle()); return camera; } @@ -548,6 +555,7 @@ cs::AxisCamera CameraServer::AddAxisCamera(llvm::StringRef name, const char* host) { cs::AxisCamera camera{name, host}; StartAutomaticCapture(camera); + HAL_Report(HALUsageReporting::kResourceType_AxisCamera, camera.GetHandle()); return camera; } @@ -555,6 +563,7 @@ cs::AxisCamera CameraServer::AddAxisCamera(llvm::StringRef name, const std::string& host) { cs::AxisCamera camera{name, host}; StartAutomaticCapture(camera); + HAL_Report(HALUsageReporting::kResourceType_AxisCamera, camera.GetHandle()); return camera; } @@ -562,6 +571,7 @@ cs::AxisCamera CameraServer::AddAxisCamera(llvm::StringRef name, llvm::ArrayRef hosts) { cs::AxisCamera camera{name, hosts}; StartAutomaticCapture(camera); + HAL_Report(HALUsageReporting::kResourceType_AxisCamera, camera.GetHandle()); return camera; } diff --git a/wpilibj/src/main/java/edu/wpi/first/wpilibj/CameraServer.java b/wpilibj/src/main/java/edu/wpi/first/wpilibj/CameraServer.java index 43bb6f7a69..9c2152a265 100644 --- a/wpilibj/src/main/java/edu/wpi/first/wpilibj/CameraServer.java +++ b/wpilibj/src/main/java/edu/wpi/first/wpilibj/CameraServer.java @@ -21,6 +21,8 @@ import edu.wpi.cscore.VideoMode.PixelFormat; import edu.wpi.cscore.VideoProperty; import edu.wpi.cscore.VideoSink; import edu.wpi.cscore.VideoSource; +import edu.wpi.first.wpilibj.hal.FRCNetComm.tResourceType; +import edu.wpi.first.wpilibj.hal.HAL; import edu.wpi.first.networktables.EntryListenerFlags; import edu.wpi.first.networktables.NetworkTable; import edu.wpi.first.networktables.NetworkTableEntry; @@ -477,7 +479,9 @@ public class CameraServer { * (e.g. 1, 2, etc). */ public UsbCamera startAutomaticCapture() { - return startAutomaticCapture(m_defaultUsbDevice.getAndIncrement()); + UsbCamera camera = startAutomaticCapture(m_defaultUsbDevice.getAndIncrement()); + HAL.report(tResourceType.kResourceType_PCVideoServer, camera.getHandle()); + return camera; } /** @@ -491,6 +495,7 @@ public class CameraServer { public UsbCamera startAutomaticCapture(int dev) { UsbCamera camera = new UsbCamera("USB Camera " + dev, dev); startAutomaticCapture(camera); + HAL.report(tResourceType.kResourceType_PCVideoServer, camera.getHandle()); return camera; } @@ -503,6 +508,7 @@ public class CameraServer { public UsbCamera startAutomaticCapture(String name, int dev) { UsbCamera camera = new UsbCamera(name, dev); startAutomaticCapture(camera); + HAL.report(tResourceType.kResourceType_PCVideoServer, camera.getHandle()); return camera; } @@ -515,6 +521,7 @@ public class CameraServer { public UsbCamera startAutomaticCapture(String name, String path) { UsbCamera camera = new UsbCamera(name, path); startAutomaticCapture(camera); + HAL.report(tResourceType.kResourceType_PCVideoServer, camera.getHandle()); return camera; } @@ -564,6 +571,7 @@ public class CameraServer { AxisCamera camera = new AxisCamera(name, host); // Create a passthrough MJPEG server for USB access startAutomaticCapture(camera); + HAL.report(tResourceType.kResourceType_AxisCamera, camera.getHandle()); return camera; } @@ -577,6 +585,7 @@ public class CameraServer { AxisCamera camera = new AxisCamera(name, hosts); // Create a passthrough MJPEG server for USB access startAutomaticCapture(camera); + HAL.report(tResourceType.kResourceType_AxisCamera, camera.getHandle()); return camera; }