Example #1
0
        /// <inheritdoc />
        public SCSSdkClientDemo()
        {
            InitializeComponent();
            Telemetry             = new SCSSdkTelemetry();
            Telemetry.Data       += Telemetry_Data;
            Telemetry.JobStarted += TelemetryOnJobStarted;

            Telemetry.JobCancelled += TelemetryJobCancelled;
            Telemetry.JobDelivered += TelemetryJobDelivered;
            Telemetry.Fined        += TelemetryFined;
            Telemetry.Tollgate     += TelemetryTollgate;
            Telemetry.Ferry        += TelemetryFerry;
            Telemetry.Train        += TelemetryTrain;
            Telemetry.RefuelStart  += TelemetryRefuel;
            Telemetry.RefuelEnd    += TelemetryRefuelEnd;
            Telemetry.RefuelPayed  += TelemetryRefuelPayed;


            if (Telemetry.Error != null)
            {
                lbGeneral.Text =
                    "General info:\r\nFailed to open memory map " +
                    Telemetry.Map +
                    " - on some systems you need to run the client (this app) with elevated permissions, because e.g. you're running Steam/ETS2 with elevated permissions as well. .NET reported the following Exception:\r\n" +
                    Telemetry.Error.Message +
                    "\r\n\r\nStacktrace:\r\n" +
                    Telemetry.Error.StackTrace;
            }

            l_updateRate.Text = Telemetry.UpdateInterval + "ms";
        }
        void Start()
        {
            try
            {
                // load list of available network interfaces
                var networkInterfaces = NetworkHelper.GetAllActiveNetworkInterfaces();
                interfacesDropDown.Items.Clear();
                foreach (var networkInterface in networkInterfaces)
                {
                    interfacesDropDown.Items.Add(networkInterface);
                }
                // select remembered interface or default
                var rememberedInterface = networkInterfaces.FirstOrDefault(
                    i => i.Id == Settings.Instance.DefaultNetworkInterfaceId);
                if (rememberedInterface != null)
                {
                    interfacesDropDown.SelectedItem = rememberedInterface;
                }
                else
                {
                    interfacesDropDown.SelectedIndex = 0; // select default interface
                }
                // bind to all available interfaces
                _server = WebApp.Start <Startup>(IpToEndpointUrl("+"));

                // start ETS2 process watchdog timer
                statusUpdateTimer.Enabled = true;

                // turn on broadcasting if set
                if (!string.IsNullOrEmpty(BroadcastUrl))
                {
                    _broadcastHttpClient.DefaultRequestHeaders.Add("X-UserId", BroadcastUserId);
                    _broadcastHttpClient.DefaultRequestHeaders.Add("X-UserPassword", BroadcastUserPassword);
                    broadcastTimer.Interval = BroadcastRateInSeconds * 1000;
                    broadcastTimer.Enabled  = true;
                }

                // show tray icon
                trayIcon.Visible = true;

                // make sure that form is visible
                Activate();
                Telemetry               = new SCSSdkTelemetry();
                Telemetry.Data         += Telemetry_Data;
                Telemetry.Ferry        += TelemetryFerry;
                Telemetry.Fined        += TelemetryFine;
                Telemetry.Tollgate     += TelemetryTollGate;
                Telemetry.Train        += TelemetryTrainEvents;
                Telemetry.JobStarted   += TelemetryJobStarted;
                Telemetry.JobDelivered += TelemetryJobEnded;
                this.WindowState        = FormWindowState.Minimized;
                this.Hide();
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                ex.ShowAsMessageBox(this, @"Network error", MessageBoxIcon.Exclamation);
            }
        }
Example #3
0
        private void Form1_Load(object sender, EventArgs e)
        {
            toolStripStatusLabel1.Text = "Seeking game";
            Telemetry = new SCSSdkTelemetry();

            if (Telemetry.Error != null)
            {
                return;      // Break the code if SDK encounters an error
            }
            SubscribeData(); // If not Subscribe to the Listeners
        }
Example #4
0
        public ETS2game()
        {
            InvokeControl = new Control();
            InvokeControl.CreateControl();

            EtsTelemetry       = new SCSSdkTelemetry();
            EtsTelemetry.Data += EtsTelemetry_Data;

            pushJsonPeriodically         = new BackgroundWorker();
            pushJsonPeriodically.DoWork += PushTelemetryToSerial;
            pushJsonPeriodically.WorkerSupportsCancellation = true;
            pushJsonPeriodically.WorkerReportsProgress      = false;
            pushJsonPeriodically.RunWorkerAsync();
        }
Example #5
0
 public TelemetryHandler(MainWindow mainWindow, Translation translation)
 {
     this.mainWindow = mainWindow;
     DiscordHandler.init(translation);
     Telemetry               = new SCSSdkTelemetry();
     Telemetry.Data         += Telemetry_Data_Handler;
     Telemetry.JobStarted   += TelemetryHandler.JobStarted;
     Telemetry.JobCancelled += TelemetryHandler.JobCancelled;
     Telemetry.JobDelivered += TelemetryHandler.JobDelivered;
     Telemetry.Fined        += TelemetryHandler.Fined;
     Telemetry.Tollgate     += TelemetryHandler.Tollgate;
     Telemetry.Ferry        += TelemetryHandler.FerryUsed;
     Telemetry.Train        += TelemetryHandler.TrainUsed;
     Telemetry.RefuelStart  += TelemetryHandler.RefuelStart;
     Telemetry.RefuelEnd    += TelemetryHandler.RefuelEnd;
     Telemetry.RefuelPayed  += TelemetryHandler.RefuelPayed;
 }
        public Joschis_Design()
        {
            Logging.Make_Log_File(); // Muss als erstes stehen, damit vor allem anderen die Logs geleert werden !
            TelemetryInstaller.check();
            Telemetry               = new SCSSdkTelemetry();
            Telemetry.Data         += Telemetry_Data;
            Telemetry.JobStarted   += TelemetryHandler.JobStarted;
            Telemetry.JobCancelled += TelemetryHandler.JobCancelled;
            Telemetry.JobDelivered += TelemetryHandler.JobDelivered;
            Telemetry.Fined        += TelemetryHandler.Fined;
            Telemetry.Tollgate     += TelemetryHandler.Tollgate;
            Telemetry.Ferry        += TelemetryHandler.FerryUsed;
            Telemetry.Train        += TelemetryHandler.TrainUsed;
            Telemetry.RefuelStart  += TelemetryHandler.RefuelStart;
            Telemetry.RefuelEnd    += TelemetryHandler.RefuelEnd;
            Telemetry.RefuelPayed  += TelemetryHandler.RefuelPayed;
            jobHandler              = new JobHandler();

            InitializeComponent();
        }
Example #7
0
 /// <inheritdoc />
 public SCSSdkClientDemo()
 {
     InitializeComponent();
     Telemetry                      = new SCSSdkTelemetry();
     Telemetry.Data                += Telemetry_Data;
     Telemetry.JobFinished         += TelemetryOnJobFinished;
     Telemetry.JobStarted          += TelemetryOnJobStarted;
     Telemetry.TrailerConnected    += TelemetryTrailerConnected;
     Telemetry.TrailerDisconnected += TelemetryTrailerDisconnected;
     if (Telemetry.Error != null)
     {
         lbGeneral.Text =
             "General info:\r\nFailed to open memory map " +
             Telemetry.Map +
             " - on some systems you need to run the client (this app) with elevated permissions, because e.g. you're running Steam/ETS2 with elevated permissions as well. .NET reported the following Exception:\r\n" +
             Telemetry.Error.Message +
             "\r\n\r\nStacktrace:\r\n" +
             Telemetry.Error.StackTrace;
     }
 }
Example #8
0
        public Main()
        {
            //GetAllPorts();
            //PortManager = new Thread(new ThreadStart(portManager));
            Telemetry       = new SCSSdkTelemetry();
            Telemetry.Data += Telemetry_Data;

            /*            Telemetry.JobStarted += TelemetryOnJobStarted;
             *          Telemetry.JobCancelled += TelemetryJobCancelled;
             *          Telemetry.JobDelivered += TelemetryJobDelivered;
             *          Telemetry.Fined += TelemetryFined;
             *          Telemetry.Tollgate += TelemetryTollgate;
             *          Telemetry.Ferry += TelemetryFerry;
             *          Telemetry.Train += TelemetryTrain;*/
            //Telemetry.RefuelStart += TelemetryRefuel;
            //Telemetry.RefuelEnd += TelemetryRefuelEnd;
            //Telemetry.RefuelPayed += TelemetryRefuelPayed;

            if (Telemetry.Error != null)
            {
                MessageBox.Show("An error has occured!! OOPS!");
            }

            RadioTimer = new System.Threading.Timer(new TimerCallback(Radios.RadioCheck),
                                                    null,
                                                    0,
                                                    4500);
            LocationTimer = new System.Threading.Timer(new TimerCallback(Coord.getDistance),
                                                       null,
                                                       3000,
                                                       20000);
            UITimer = new System.Threading.Timer(new TimerCallback(setUIValues),
                                                 null,
                                                 0,
                                                 100);
            PortManager = new Thread(portManager);
            PortManager.Start();
            InitializeComponent();
        }
Example #9
0
        public MainWindow()
        {
            Logging.Make_Log_File();
            TelemetryInstaller.check();
            Telemetry       = new SCSSdkTelemetry();
            Telemetry.Data += Telemetry_Data_Handler;
            TelemetryInstaller.check();
            jobHandler  = new JobHandler();
            Truck_Daten = new Truck_Daten();


            InitializeComponent();

            Lade_Voreinstellungen();
            Lade_Themes();
            lade_Translations();
            //must be after lade_Translations
            telemetryhandler = new TelemetryHandler(this, translation);
            utils.Build_Registry();



            this.DataContext = Truck_Daten;
        }
Example #10
0
        /// <summary>
        ///     Create a Logbook view/Window
        /// </summary>
        /// <param name="account">Account of the Logbook</param>
        public LogBook(Account account)
        {
            _account = account;
            _toSave  = new List <LogEntry>(SaveTime);
            InitializeComponent();
            Text = string.Format(LogBookCode.LogBook_LogBook_Logbook_of__0_, account.Name);

            // init the telemetry to start getting data
            _telemetry       = new SCSSdkTelemetry();
            _telemetry.Data += Telemetry_Data;

            // not used atm
            //_telemetry.JobFinished += TelemetryOnJobFinished;
            //_telemetry.JobStarted += TelemetryOnJobStarted;

            // Graph stuff need later
            //To handle live data easily, in this case we built a specialized type
            //the MeasureModel class, it only contains 2 properties
            //DateTime and Value
            //We need to configure LiveCharts to handle MeasureModel class
            //The next code configures MEasureModel  globally, this means
            //that livecharts learns to plot MeasureModel and will use this config every time
            //a speedChart instance uses this type.
            //this code ideally should only run once, when application starts is reccomended.
            //you can configure series in many ways, learn more at http://lvcharts.net/App/examples/v1/wpf/Types%20and%20Configuration
            // TODO: Create a function for later -> more graphics (live graphics)
            var mapper = Mappers.Xy <MeasureModel>()
                         .X(model => model.DateTime.Ticks)        //use DateTime.Ticks as X
                         .Y(model => model.Value);                //use the value property as Y

            //lets save the mapper globally.
            Charting.For <MeasureModel>(mapper);

            //the speedChart property will store our values array
            speedChart             = new ChartValues <MeasureModel>();
            fuelNeed               = new ChartValues <MeasureModel>();
            odoMeters              = new ChartValues <MeasureModel>();
            cartesianChart1.Series = new SeriesCollection {
                new LineSeries {
                    Values            = speedChart,
                    PointGeometrySize = 5,
                    StrokeThickness   = 1
                }
            };
            cartesianChart1.AxisX.Add(new Axis {
                DisableAnimations = true,
                LabelFormatter    =
                    value => new DateTime((long)value).ToString("mm:ss"),
                Separator = new Separator {
                    Step = TimeSpan.FromSeconds(5).Ticks
                }
            });
            cartesianChart2.Series = new SeriesCollection {
                new LineSeries {
                    Values            = fuelNeed,
                    PointGeometrySize = 5,
                    StrokeThickness   = 1
                }
            };
            cartesianChart2.AxisX.Add(new Axis {
                DisableAnimations = true,
                LabelFormatter    =
                    value => new DateTime((long)value).ToString("mm:ss"),
                Separator = new Separator {
                    Step = TimeSpan.FromSeconds(5).Ticks
                }
            });
            cartesianChart3.Series = new SeriesCollection {
                new LineSeries {
                    Values            = odoMeters,
                    PointGeometrySize = 5,
                    StrokeThickness   = 1
                }
            };
            cartesianChart3.AxisX.Add(new Axis {
                DisableAnimations = true,
                LabelFormatter    =
                    value => new DateTime((long)value).ToString("mm:ss"),
                Separator = new Separator {
                    Step = TimeSpan.FromSeconds(5).Ticks
                }
            });
            SetAxisLimits(DateTime.Now, cartesianChart1);
            SetAxisLimits(DateTime.Now, cartesianChart2);
            SetAxisLimits(DateTime.Now, cartesianChart3);
            solidGauge1.To = 120;
            solidGauge2.To = 1000; //TODO: SET TO FUEL SIZE
            _odoMeter      = new List <double>(11);
            _fuel          = new List <double>(11);
        }