public static TelemetryData Initialize(int udpPort, Dispatcher dispatcher) { if (_instance != null) throw new TelemetryAlreadyInitializedException(); _instance = new TelemetryData(udpPort, dispatcher); Task.Run(() => _instance.Receiver()); return _instance; }
public RobotViewModel(TelemetryData telemetryData) { SideViewLeft = 200; SideViewBottom = 900; ShoulderAngle = 90; ElbowAngle = 0; WristAngle = 90; SideViewScale = 0.5; LeftGetterViewModel = new GetterViewModel(); RightGetterViewModel = new GetterViewModel(); _telemetryData = telemetryData; _propertyObserver = new PropertyObserver<TelemetryData>(_telemetryData) .RegisterHandler(t => t.ShoulderAngle, () => ShoulderAngle = _telemetryData.ShoulderAngle) .RegisterHandler(t => t.ElbowAngle, () => ElbowAngle = _telemetryData.ElbowAngle) .RegisterHandler(t => t.WristAngle, () => WristAngle = _telemetryData.WristAngle); }