Fix ordering between CameraServer.getInstance and UsbCamera creation (#69)
If the CameraServer instance is started after the UsbCamer is created, it never gets the source created event to actually build the NetworkTable table.
This commit is contained in:
parent
64b9491e15
commit
08163c0681
2
deps/examples/cpp-multiCameraServer/main.cpp
vendored
2
deps/examples/cpp-multiCameraServer/main.cpp
vendored
|
@ -170,8 +170,8 @@ bool ReadConfig() {
|
||||||
cs::UsbCamera StartCamera(const CameraConfig& config) {
|
cs::UsbCamera StartCamera(const CameraConfig& config) {
|
||||||
wpi::outs() << "Starting camera '" << config.name << "' on " << config.path
|
wpi::outs() << "Starting camera '" << config.name << "' on " << config.path
|
||||||
<< '\n';
|
<< '\n';
|
||||||
cs::UsbCamera camera{config.name, config.path};
|
|
||||||
auto inst = frc::CameraServer::GetInstance();
|
auto inst = frc::CameraServer::GetInstance();
|
||||||
|
cs::UsbCamera camera{config.name, config.path};
|
||||||
auto server = inst->StartAutomaticCapture(camera);
|
auto server = inst->StartAutomaticCapture(camera);
|
||||||
|
|
||||||
camera.SetConfigJson(config.config);
|
camera.SetConfigJson(config.config);
|
||||||
|
|
|
@ -181,8 +181,8 @@ public final class Main {
|
||||||
*/
|
*/
|
||||||
public static VideoSource startCamera(CameraConfig config) {
|
public static VideoSource startCamera(CameraConfig config) {
|
||||||
System.out.println("Starting camera '" + config.name + "' on " + config.path);
|
System.out.println("Starting camera '" + config.name + "' on " + config.path);
|
||||||
UsbCamera camera = new UsbCamera(config.name, config.path);
|
|
||||||
CameraServer inst = CameraServer.getInstance();
|
CameraServer inst = CameraServer.getInstance();
|
||||||
|
UsbCamera camera = new UsbCamera(config.name, config.path);
|
||||||
MjpegServer server = inst.startAutomaticCapture(camera);
|
MjpegServer server = inst.startAutomaticCapture(camera);
|
||||||
|
|
||||||
Gson gson = new GsonBuilder().create();
|
Gson gson = new GsonBuilder().create();
|
||||||
|
|
|
@ -134,8 +134,8 @@ def readConfig():
|
||||||
"""Start running the camera."""
|
"""Start running the camera."""
|
||||||
def startCamera(config):
|
def startCamera(config):
|
||||||
print("Starting camera '{}' on {}".format(config.name, config.path))
|
print("Starting camera '{}' on {}".format(config.name, config.path))
|
||||||
camera = UsbCamera(config.name, config.path)
|
|
||||||
inst = CameraServer.getInstance()
|
inst = CameraServer.getInstance()
|
||||||
|
camera = UsbCamera(config.name, config.path)
|
||||||
server = inst.startAutomaticCapture(camera=camera, return_server=True)
|
server = inst.startAutomaticCapture(camera=camera, return_server=True)
|
||||||
|
|
||||||
camera.setConfigJson(json.dumps(config.config))
|
camera.setConfigJson(json.dumps(config.config))
|
||||||
|
|
2
deps/tools/multiCameraServer.cpp
vendored
2
deps/tools/multiCameraServer.cpp
vendored
|
@ -171,8 +171,8 @@ bool ReadConfig() {
|
||||||
void StartCamera(const CameraConfig& config) {
|
void StartCamera(const CameraConfig& config) {
|
||||||
wpi::outs() << "Starting camera '" << config.name << "' on " << config.path
|
wpi::outs() << "Starting camera '" << config.name << "' on " << config.path
|
||||||
<< '\n';
|
<< '\n';
|
||||||
cs::UsbCamera camera{config.name, config.path};
|
|
||||||
auto inst = frc::CameraServer::GetInstance();
|
auto inst = frc::CameraServer::GetInstance();
|
||||||
|
cs::UsbCamera camera{config.name, config.path};
|
||||||
auto server = inst->StartAutomaticCapture(camera);
|
auto server = inst->StartAutomaticCapture(camera);
|
||||||
|
|
||||||
camera.SetConfigJson(config.config);
|
camera.SetConfigJson(config.config);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user