Add usage reporting to CameraServer (#682)

This commit is contained in:
sciencewhiz
2017-10-27 00:45:54 -07:00
committed by Peter Johnson
parent b65447b6f5
commit 12e96c6f13
2 changed files with 21 additions and 2 deletions

View File

@@ -10,6 +10,7 @@
#include <llvm/SmallString.h>
#include <llvm/raw_ostream.h>
#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<std::string> hosts) {
cs::AxisCamera camera{name, hosts};
StartAutomaticCapture(camera);
HAL_Report(HALUsageReporting::kResourceType_AxisCamera, camera.GetHandle());
return camera;
}

View File

@@ -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;
}