private void XSensGyroDataAvailable(object sender, DataAvailableArgs e)
        {
            // Get Euler angles.
            XsEuler oriEuler = e.Packet.orientationEuler();
            _connectedData._orientation = oriEuler;

            if (_connectedData._orientation != null)
            {
                if (this.performZeroOnNextDataUpdate)
                {
                    this.zeroX = _connectedData._orientation.x();
                    this.zeroY = _connectedData._orientation.y();
                    this.zeroZ = _connectedData._orientation.z();
                    this.performZeroOnNextDataUpdate = false;
                }

                bikeController.bikeData.XsensGyro[0] = (float)-(_connectedData._orientation.z() - this.zeroZ);
                bikeController.bikeData.XsensGyro[1] = (float)(_connectedData._orientation.y() - this.zeroY);
                bikeController.bikeData.XsensGyro[2] = (float)(_connectedData._orientation.x() - this.zeroX);

                //Debug.LogFormat("{0,-5:f2}, {1,-5:f2}, {2,-5:f2} [°]\n",
                //                       _connectedData._orientation.x(),
                //                       _connectedData._orientation.y(),
                //                       _connectedData._orientation.z());
            }
        }
示例#2
0
        private void XSensGyroDataAvailable(object sender, DataAvailableArgs e)
        {
            // Get Euler angles.
            XsEuler oriEuler = e.Packet.orientationEuler();

            _connectedData._orientation = oriEuler;

            if (_connectedData._orientation != null)
            {
                if (this.performZeroOnNextDataUpdate)
                {
                    this.zeroX = _connectedData._orientation.x();
                    this.zeroY = _connectedData._orientation.y();
                    this.zeroZ = _connectedData._orientation.z();
                    this.performZeroOnNextDataUpdate = false;
                }

                bikeController.bikeData.XsensGyro[0] = (float)-(_connectedData._orientation.z() - this.zeroZ);
                bikeController.bikeData.XsensGyro[1] = (float)(_connectedData._orientation.y() - this.zeroY);
                bikeController.bikeData.XsensGyro[2] = (float)(_connectedData._orientation.x() - this.zeroX);

                //Debug.LogFormat("{0,-5:f2}, {1,-5:f2}, {2,-5:f2} [°]\n",
                //                       _connectedData._orientation.x(),
                //                       _connectedData._orientation.y(),
                //                       _connectedData._orientation.z());
            }
        }
示例#3
0
        /// <summary>
        /// Fires the OnDataAvailable event.
        /// </summary>
        private void FireDataAvailable(DataAvailableArgs dataAvailableArgs)
        {
            EventHandler <DataAvailableArgs> temp = OnDataAvailable;

            if (temp != null)
            {
                temp(this, dataAvailableArgs);
            }
        }
        static void _callbackHandler_DataAvailable(object sender, DataAvailableArgs e)
        {
            var battery = e.Device.batteryLevel();
            //Getting Euler angles.
            XsEuler oriEuler        = e.Packet.orientationEuler();
            var     rawAcceleration = e.Packet.rawAcceleration();
            var     xsRawGpsTimeUtc = e.Packet.rawGpsTimeUtc();
            var     altitude        = e.Packet.altitude();
            var     altitudeMsl     = e.Packet.altitudeMsl();

            _connectedMtwData[e.Device.deviceId().toInt()]._orientation            = oriEuler;
            _connectedMtwData[e.Device.deviceId().toInt()]._xsRawGpsTimeUtc        = xsRawGpsTimeUtc;
            _connectedMtwData[e.Device.deviceId().toInt()]._temperature            = e.Packet.temperature();
            _connectedMtwData[e.Device.deviceId().toInt()]._rawAcceleration        = rawAcceleration;
            _connectedMtwData[e.Device.deviceId().toInt()]._calibratedAcceleration = e.Packet.calibratedAcceleration();
            _connectedMtwData[e.Device.deviceId().toInt()]._freeAcceleration       = e.Packet.freeAcceleration();
            _connectedMtwData[e.Device.deviceId().toInt()]._utcTime = e.Packet.utcTime();


            _connectedMtwData[e.Device.deviceId().toInt()]._batteryLevel = battery;
            _connectedMtwData[e.Device.deviceId().toInt()]._rssi         = e.Device.lastKnownRssi();

            _connectedMtwData[e.Device.deviceId().toInt()]._containsRawAcceleration        = e.Packet.containsRawAcceleration();
            _connectedMtwData[e.Device.deviceId().toInt()]._containsCalibratedAcceleration = e.Packet.containsCalibratedAcceleration();
            _connectedMtwData[e.Device.deviceId().toInt()]._containsFreeAcceleration       = e.Packet.containsFreeAcceleration();
            _connectedMtwData[e.Device.deviceId().toInt()]._containsUtcTime        = e.Packet.containsUtcTime();
            _connectedMtwData[e.Device.deviceId().toInt()]._timeOfArrival_msTime   = e.Packet.timeOfArrival().msTime();
            _connectedMtwData[e.Device.deviceId().toInt()]._containsSampleTimeFine = e.Packet.containsSampleTimeFine();
            _connectedMtwData[e.Device.deviceId().toInt()]._sampleTimeFine         = e.Packet.sampleTimeFine();

            trackingDetailSaver.SaveTrackingDetail(e.Device.deviceId().toInt(),
                                                   sessionId,
                                                   DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture),
                                                   //DateTime.Now,
                                                   e.Packet.timeOfArrival().msTime(),
                                                   e.Device.batteryLevel(),
                                                   e.Device.lastKnownRssi(),
                                                   e.Packet.freeAcceleration().cartesianLength(),
                                                   e.Packet.calibratedAcceleration().cartesianLength());
        }
示例#5
0
 private void DataAvailableCallback(object sender, DataAvailableArgs e)
 {
     _connectedMtwData[e.Device.deviceId().toInt()].OnDataAvailable(e.Packet);
 }
示例#6
0
 /// <summary>
 /// Fires the OnDataAvailable event.
 /// </summary>
 private void FireDataAvailable(DataAvailableArgs dataAvailableArgs)
 {
     EventHandler<DataAvailableArgs> temp = OnDataAvailable;
     if (temp != null)
         temp(this, dataAvailableArgs);
 }
示例#7
0
 private void DataAvailable(object sender, DataAvailableArgs e)
 {
     this.FireDataAvailable(e);
 }
示例#8
0
 private void DataAvailable(object sender, DataAvailableArgs e)
 {
     this.FireDataAvailable(e);
 }