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:
Peter Johnson 2019-01-13 21:23:44 -08:00 committed by GitHub
parent 64b9491e15
commit 08163c0681
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 4 additions and 4 deletions

View File

@ -170,8 +170,8 @@ bool ReadConfig() {
cs::UsbCamera StartCamera(const CameraConfig& config) {
wpi::outs() << "Starting camera '" << config.name << "' on " << config.path
<< '\n';
cs::UsbCamera camera{config.name, config.path};
auto inst = frc::CameraServer::GetInstance();
cs::UsbCamera camera{config.name, config.path};
auto server = inst->StartAutomaticCapture(camera);
camera.SetConfigJson(config.config);

View File

@ -181,8 +181,8 @@ public final class Main {
*/
public static VideoSource startCamera(CameraConfig config) {
System.out.println("Starting camera '" + config.name + "' on " + config.path);
UsbCamera camera = new UsbCamera(config.name, config.path);
CameraServer inst = CameraServer.getInstance();
UsbCamera camera = new UsbCamera(config.name, config.path);
MjpegServer server = inst.startAutomaticCapture(camera);
Gson gson = new GsonBuilder().create();

View File

@ -134,8 +134,8 @@ def readConfig():
"""Start running the camera."""
def startCamera(config):
print("Starting camera '{}' on {}".format(config.name, config.path))
camera = UsbCamera(config.name, config.path)
inst = CameraServer.getInstance()
camera = UsbCamera(config.name, config.path)
server = inst.startAutomaticCapture(camera=camera, return_server=True)
camera.setConfigJson(json.dumps(config.config))

View File

@ -171,8 +171,8 @@ bool ReadConfig() {
void StartCamera(const CameraConfig& config) {
wpi::outs() << "Starting camera '" << config.name << "' on " << config.path
<< '\n';
cs::UsbCamera camera{config.name, config.path};
auto inst = frc::CameraServer::GetInstance();
cs::UsbCamera camera{config.name, config.path};
auto server = inst->StartAutomaticCapture(camera);
camera.SetConfigJson(config.config);