1111import edu .wpi .first .wpilibj .SPI ;
1212
1313import edu .wpi .first .wpilibj .ADXL362 ;
14+ import edu .wpi .first .wpilibj .AnalogInput ;
15+ import edu .wpi .first .wpilibj .AnalogOutput ;
16+ import edu .wpi .first .wpilibj .DigitalInput ;
17+ import edu .wpi .first .wpilibj .DigitalOutput ;
1418import edu .wpi .first .wpilibj .TimedRobot ;
1519import edu .wpi .first .wpilibj .motorcontrol .Spark ;
1620import edu .wpi .first .wpilibj .smartdashboard .SendableChooser ;
1721import edu .wpi .first .wpilibj .smartdashboard .SmartDashboard ;
1822import edu .wpi .first .wpilibj .XboxController ;
23+ import edu .wpi .first .cameraserver .CameraServer ;
24+ import edu .wpi .first .cscore .CvSource ;
25+ import edu .wpi .first .cscore .VideoMode ;
26+ import org .opencv .core .Mat ;
27+ import org .opencv .imgproc .Imgproc ;
28+ import org .opencv .core .CvType ;
1929
2030import com .autodesk .synthesis .revrobotics .CANSparkMax ;
2131import com .kauailabs .navx .frc .AHRS ;
2232import com .autodesk .synthesis .ctre .TalonFX ;
33+ import com .autodesk .synthesis .Camera ;
34+ import com .autodesk .synthesis .CameraFrameHandler ;
35+ import com .autodesk .synthesis .WebSocketMessageHandler ;
36+ import com .autodesk .synthesis .SynthesisWebSocketServer ;
2337
2438/**
2539 * The VM is configured to automatically run this class, and to call the
@@ -43,6 +57,8 @@ public class Robot extends TimedRobot {
4357
4458 private ADXL362 m_Accelerometer = new ADXL362 (SPI .Port .kMXP , ADXL362 .Range .k8G );
4559 private AHRS m_Gyro = new AHRS ();
60+ private Camera m_Camera = new Camera ("USB Camera 0" , 0 );
61+ private CvSource m_videoSource ;
4662
4763 private DigitalInput m_DI = new DigitalInput (0 );
4864 private DigitalOutput m_DO = new DigitalOutput (1 );
@@ -188,6 +204,10 @@ public void disabledInit() {
188204 m_SparkMax5 .set (0.0 );
189205 m_SparkMax6 .set (0.0 );
190206 m_AO .setVoltage (12.0 );
207+
208+ // Stop WebSocket server when robot is disabled
209+ System .out .println ("🛑 Stopping WebSocket server..." );
210+ SynthesisWebSocketServer .getInstance ().stopServer ();
191211 }
192212
193213 /** This function is called periodically when disabled. */
0 commit comments