Ejemplo n.º 1
0
        private void UdpReceiver_UpdatedExtra(object sender, EventArgs e)
        {
            BaseUdpReceiver udpReceiver = (BaseUdpReceiver)sender;

            Device.BeginInvokeOnMainThread(() =>
            {
                this.BatchBegin();
                wearFL.Color  = udpReceiver.InfoExtra.wearFL;
                wearFR.Color  = udpReceiver.InfoExtra.wearFR;
                wearRL.Color  = udpReceiver.InfoExtra.wearRL;
                wearRR.Color  = udpReceiver.InfoExtra.wearRR;
                Distance.Text = ((Single)udpReceiver.InfoExtra.DistanceTraveled).ToString("0.0");
                Position.Text = udpReceiver.InfoExtra.Position.ToString() + " / " + udpReceiver.InfoExtra.NumCars.ToString();
                Lap.Text      = (udpReceiver.InfoExtra.CompletedLaps + 1).ToString() + " / " + udpReceiver.InfoExtra.NumberOfLaps.ToString();
                if (udpReceiver.InfoExtra.FuelAvg == 0)
                {
                    Fuel.Text    = udpReceiver.InfoExtra.Fuel.ToString() + "l   /  -";
                    FuelKKm.Text = "-";
                }
                else
                {
                    Fuel.Text    = udpReceiver.InfoExtra.Fuel.ToString() + "l  /  " + ((Single)udpReceiver.InfoExtra.Fuel / udpReceiver.InfoExtra.FuelAvg * 10000).ToString("0") + "Km";
                    FuelKKm.Text = ((Single)udpReceiver.InfoExtra.FuelAvg).ToString(udpReceiver.InfoExtra.FuelAvg < 10 ? "0.0" : "0") + "l /100Km";
                }
                this.BatchCommit();
            });
        }
Ejemplo n.º 2
0
    private static void OnUdpDataReceived(IAsyncResult result)
    {
        BaseUdpReceiver thi        = (BaseUdpReceiver)result.AsyncState;
        IPEndPoint      remoteAddr = null;

        byte[] recvBuffer = null;
        try
        {
            recvBuffer = thi.udpClient.EndReceive(result, ref remoteAddr);
        }
        catch (Exception ex)
        {
            Debug.Print(ex.Message);
            return;
        }

        if (recvBuffer != null)
        {
            thi.setData(recvBuffer);
        }

        if (thi.udpClient != null)
        {
            thi.udpClient.BeginReceive(OnUdpDataReceived, thi);
        }
    }
Ejemplo n.º 3
0
        private void UdpReceiver_Updated(object sender, EventArgs e)
        {
            BaseUdpReceiver udpReceiver = (BaseUdpReceiver)sender;

            Device.BeginInvokeOnMainThread(() =>
            {
                this.BatchBegin();
                speed.Text           = udpReceiver.Info.speed.ToString();
                gear.Text            = udpReceiver.Info.gear;
                slipFL.Color         = udpReceiver.Info.slipFL;
                slipFR.Color         = udpReceiver.Info.slipFR;
                slipRL.Color         = udpReceiver.Info.slipRL;
                slipRR.Color         = udpReceiver.Info.slipRR;
                dirtFL.Color         = udpReceiver.Info.dirtFL;
                dirtFR.Color         = udpReceiver.Info.dirtFR;
                dirtRL.Color         = udpReceiver.Info.dirtRL;
                dirtRR.Color         = udpReceiver.Info.dirtRR;
                rpm.WidthRequest     = udpReceiver.Rpm1024();
                rpm.Color            = udpReceiver.RpmColor();
                gearAuto.Text        = udpReceiver.Info.gearAuto ? "Gear Auto" : "Gear Manual";
                clutch.HeightRequest = udpReceiver.Info.clutch * 325;
                brake.HeightRequest  = udpReceiver.Info.brake * 325;
                accel.HeightRequest  = udpReceiver.Info.accel * 325;
                Distance.Text        = ((Single)udpReceiver.InfoExtra.DistanceTraveled).ToString("0.0");
                Lap.Text             = (udpReceiver.InfoExtra.CompletedLaps + 1).ToString() + " / " + udpReceiver.InfoExtra.NumberOfLaps.ToString();
                if (udpReceiver.InfoExtra.FuelAvg == 0)
                {
                    FuelKMs.Text = "-";
                    FuelAvg.Text = "-";
                }
                else
                {
                    FuelKMs.Text = ((Single)udpReceiver.InfoExtra.Fuel / udpReceiver.InfoExtra.FuelAvg * 10).ToString("0");
                    FuelAvg.Text = (udpReceiver.InfoExtra.FuelAvg).ToString(udpReceiver.InfoExtra.FuelAvg < 10 ? "0.0" : "0");
                }

                this.BatchCommit();
            });
        }
Ejemplo n.º 4
0
 public App()
 {
     InitializeComponent();
     udpReceiver = new BaseUdpReceiver();
 }
Ejemplo n.º 5
0
 public void Start(BaseUdpReceiver udpReceiver)
 {
     udpReceiver.UpdatedExtra += new EventHandler(UdpReceiver_UpdatedExtra);
 }