Ejemplo n.º 1
0
        private void HandleMonitor3(BinaryReader br, double ts)
        {
            RMPMonitor3Msg msg = new RMPMonitor3Msg(br);

            if (isBackwards)
            {
                status.leftWheelSpeed  = -msg.rightWheelVel / 401.0;
                status.rightWheelSpeed = -msg.leftWheelVel / 401.0;
                status.yawRate         = msg.yawRate / 7.8;
            }
            else
            {
                status.leftWheelSpeed  = msg.leftWheelVel / 401.0;
                status.rightWheelSpeed = msg.rightWheelVel / 401.0;
                status.yawRate         = msg.yawRate / 7.8;
            }
            status.servoFrameCounter = msg.servoFrames * .01;
            status.wheelSpeedTs      = ts;
            wheelSpeedTs             = ts;
            if (StatusUpdated != null)
            {
                StatusUpdated(this, null);
            }
            if (WheelSpeedUpdate != null)
            {
                WheelSpeedUpdate(this, new TimestampedEventArgs <IRobotTwoWheelStatus>(ts, new SegwayStatus(status)));
            }
        }
Ejemplo n.º 2
0
 private void HandleMonitor3(BinaryReader br, double ts)
 {
     RMPMonitor3Msg msg = new RMPMonitor3Msg(br);
     if (isBackwards)
     {
         status.leftWheelSpeed = -msg.rightWheelVel / 401.0;
         status.rightWheelSpeed = -msg.leftWheelVel / 401.0;
         status.yawRate = msg.yawRate / 7.8;
     }
     else
     {
         status.leftWheelSpeed = msg.leftWheelVel / 401.0;
         status.rightWheelSpeed = msg.rightWheelVel / 401.0;
         status.yawRate = msg.yawRate / 7.8;
     }
     status.servoFrameCounter = msg.servoFrames * .01;
     status.wheelSpeedTs = ts;
     wheelSpeedTs = ts;
     if (StatusUpdated != null) StatusUpdated(this, null);
     if (WheelSpeedUpdate != null) WheelSpeedUpdate(this, new TimestampedEventArgs<IRobotTwoWheelStatus>(ts, new SegwayStatus(status)));
 }