// Copyright (c) FIRST and other WPILib contributors.
// Open Source Software; you can modify and/or share it under the terms of
// the WPILib BSD license file in the root directory of this project.

#include <cstdio>

#include "wpi/cameraserver/CameraServer.hpp"
#include "wpi/framework/TimedRobot.hpp"

/**
 * Uses the CameraServer class to automatically capture video from a USB webcam
 * and send it to the dashboard without doing any vision processing. This is
 * the easiest way to get camera images to the dashboard. Just add this to
 * the robot class constructor.
 */
class Robot : public wpi::TimedRobot {
 public:
  Robot() {
#if defined(__linux__) || defined(_WIN32)
    wpi::CameraServer::StartAutomaticCapture();
#else
    std::fputs("Vision only available on Linux or Windows.\n", stderr);
    std::fflush(stderr);
#endif
  }
};

#ifndef RUNNING_WPILIB_TESTS
int main() {
  return wpi::StartRobot<Robot>();
}
#endif
