Example #1
0
        internal ServoServiceImpl(ServoControllerPrx proxy)
        {
            this.proxy = proxy;
            numServos  = 16; // todo: this should be retrieved from the qwerk

            // create and initialize the all-on mask array
            maskAllOn = new bool[numServos];
            for (int i = 0; i < maskAllOn.Length; i++)
            {
                maskAllOn[i] = true;
            }

            // create the array used for zero velocity or acceleration
            allZeros           = new int[numServos];
            allDefaultPosition = new int[numServos];
            defaultVelocities  = new int[numServos];
            for (int i = 0; i < numServos; i++)
            {
                allDefaultPosition[i] = SERVO_DEFAULT_POSITION;
                defaultVelocities[i]  = SERVO_DEFAULT_VELOCITY;
            }

            // build the mask arrays for each servo and store them in a map indexed on servo id
            servoIdToMaskArrayMap = new Dictionary <int, bool[]>(numServos);
            for (int i = 0; i < numServos; i++)
            {
                bool[] mask = new bool[numServos];
                mask[i] = true;
                servoIdToMaskArrayMap.Add(i, mask);
            }


            // build the servo mode arrays and store them in a map indexed on servo mode
            servoModeToModeArrayMap = new Dictionary <ServoMode, ServoMode[]>(numServos);
            ServoMode[] servoModeOffArray             = new ServoMode[numServos];
            ServoMode[] servoModePositionControlArray = new ServoMode[numServos];
            ServoMode[] servoModeSpeedControlArray    = new ServoMode[numServos];
            for (int i = 0; i < numServos; i++)
            {
                servoModeOffArray[i]             = ServoMode.ServoOff;
                servoModePositionControlArray[i] = ServoMode.ServoMotorPositionControl;
                servoModeSpeedControlArray[i]    = ServoMode.ServoMotorSpeedControl;
            }

            servoModeToModeArrayMap.Add(ServoMode.ServoOff, servoModeOffArray);
            servoModeToModeArrayMap.Add(ServoMode.ServoMotorPositionControl, servoModePositionControlArray);
            servoModeToModeArrayMap.Add(ServoMode.ServoMotorSpeedControl, servoModeSpeedControlArray);
        }
        internal ServoServiceImpl(ServoControllerPrx proxy)
        {
            this.proxy = proxy;
             numServos = 16; // todo: this should be retrieved from the qwerk

             // create and initialize the all-on mask array
             maskAllOn = new bool[numServos];
             for (int i = 0; i < maskAllOn.Length; i++)
            {
            maskAllOn[i] = true;
            }

             // create the array used for zero velocity or acceleration
             allZeros = new int[numServos];
             allDefaultPosition = new int[numServos];
             defaultVelocities = new int[numServos];
             for (int i = 0; i < numServos; i++)
            {
            allDefaultPosition[i] = SERVO_DEFAULT_POSITION;
            defaultVelocities[i] = SERVO_DEFAULT_VELOCITY;
            }

             // build the mask arrays for each servo and store them in a map indexed on servo id
             servoIdToMaskArrayMap = new Dictionary<int, bool[]>(numServos);
             for (int i = 0; i < numServos; i++)
            {
            bool[] mask = new bool[numServos];
            mask[i] = true;
            servoIdToMaskArrayMap.Add(i, mask);
            }

             // build the servo mode arrays and store them in a map indexed on servo mode
             servoModeToModeArrayMap = new Dictionary<ServoMode, ServoMode[]>(numServos);
             ServoMode[] servoModeOffArray = new ServoMode[numServos];
             ServoMode[] servoModePositionControlArray = new ServoMode[numServos];
             ServoMode[] servoModeSpeedControlArray = new ServoMode[numServos];
             for (int i = 0; i < numServos; i++)
            {
            servoModeOffArray[i] = ServoMode.ServoOff;
            servoModePositionControlArray[i] = ServoMode.ServoMotorPositionControl;
            servoModeSpeedControlArray[i] = ServoMode.ServoMotorSpeedControl;
            }

             servoModeToModeArrayMap.Add(ServoMode.ServoOff, servoModeOffArray);
             servoModeToModeArrayMap.Add(ServoMode.ServoMotorPositionControl, servoModePositionControlArray);
             servoModeToModeArrayMap.Add(ServoMode.ServoMotorSpeedControl, servoModeSpeedControlArray);
        }