Пример #1
0
        /**
         * <summary>
         *   Retrieves a gyroscope for a given identifier.
         * <para>
         *   The identifier can be specified using several formats:
         * </para>
         * <para>
         * </para>
         * <para>
         *   - FunctionLogicalName
         * </para>
         * <para>
         *   - ModuleSerialNumber.FunctionIdentifier
         * </para>
         * <para>
         *   - ModuleSerialNumber.FunctionLogicalName
         * </para>
         * <para>
         *   - ModuleLogicalName.FunctionIdentifier
         * </para>
         * <para>
         *   - ModuleLogicalName.FunctionLogicalName
         * </para>
         * <para>
         * </para>
         * <para>
         *   This function does not require that the gyroscope is online at the time
         *   it is invoked. The returned object is nevertheless valid.
         *   Use the method <c>YGyro.isOnline()</c> to test if the gyroscope is
         *   indeed online at a given time. In case of ambiguity when looking for
         *   a gyroscope by logical name, no error is notified: the first instance
         *   found is returned. The search is performed first by hardware name,
         *   then by logical name.
         * </para>
         * </summary>
         * <param name="func">
         *   a string that uniquely characterizes the gyroscope
         * </param>
         * <returns>
         *   a <c>YGyro</c> object allowing you to drive the gyroscope.
         * </returns>
         */
        public static YGyro FindGyro(string func)
        {
            YGyro obj;

            obj = (YGyro)YFunction._FindFromCache("Gyro", func);
            if (obj == null)
            {
                obj = new YGyro(func);
                YFunction._AddToCache("Gyro", func, obj);
            }
            return(obj);
        }
Пример #2
0
        protected static void yInternalGyroCallback(YQt obj, String value)
        {
            YGyro gyro = (YGyro)obj.get_userData();

            if (gyro == null)
            {
                return;
            }
            string tmp       = obj.get_functionId().Substring(2);
            int    idx       = Convert.ToInt32(tmp);
            double dbl_value = Convert.ToDouble(value);

            gyro._invokeGyroCallbacks(idx, dbl_value);
        }