Exemple #1
0
    /**
     * <summary>
     *   Returns the state of the relays at device startup (A for the idle position,
     *   B for the active position, UNCHANGED to leave the relay state as is).
     * <para>
     * </para>
     * <para>
     * </para>
     * </summary>
     * <returns>
     *   a value among <c>YRelay.STATEATPOWERON_UNCHANGED</c>, <c>YRelay.STATEATPOWERON_A</c> and
     *   <c>YRelay.STATEATPOWERON_B</c> corresponding to the state of the relays at device startup (A for
     *   the idle position,
     *   B for the active position, UNCHANGED to leave the relay state as is)
     * </returns>
     * <para>
     *   On failure, throws an exception or returns <c>YRelay.STATEATPOWERON_INVALID</c>.
     * </para>
     */
    public int get_stateAtPowerOn()
    {
        int res;

        lock (_thisLock)
        {
            if (this._cacheExpiration <= YAPI.GetTickCount())
            {
                if (this.load(YAPI._yapiContext.GetCacheValidity()) != YAPI.SUCCESS)
                {
                    return(STATEATPOWERON_INVALID);
                }
            }
            res = this._stateAtPowerOn;
        }
        return(res);
    }
    /**
     * <summary>
     *   Returns the current measured value.
     * <para>
     * </para>
     * <para>
     * </para>
     * </summary>
     * <returns>
     *   a floating point number corresponding to the current measured value
     * </returns>
     * <para>
     *   On failure, throws an exception or returns <c>YCurrent.CURRENTVALUE_INVALID</c>.
     * </para>
     */
    public double get_currentValue()
    {
        if (_cacheExpiration <= YAPI.GetTickCount())
        {
            if (YAPI.YISERR(load(YAPI.DefaultCacheValidity)))
            {
                return(YCurrent.CURRENTVALUE_INVALID);
            }
        }
        double res = YAPI._applyCalibration(_currentRawValue, _calibrationParam, _calibrationOffset, _resolution);

        if (res != YCurrent.CURRENTVALUE_INVALID)
        {
            return(res);
        }
        return(_currentValue);
    }
Exemple #3
0
        public override async Task <int> Run()
        {
            YModule m;
            string  errmsg = "";

            if (await YAPI.RegisterHub(HubURL) != YAPI.SUCCESS)
            {
                WriteLine("RegisterHub error: " + errmsg);
                return(-1);
            }
            m = YModule.FindModule(Target + ".module"); // use serial or logical name
            if (await m.isOnline())
            {
                if (Beacon)
                {
                    await m.set_beacon(YModule.BEACON_ON);
                }
                else
                {
                    await m.set_beacon(YModule.BEACON_OFF);
                }

                WriteLine("serial: " + await m.get_serialNumber());
                WriteLine("logical name: " + await m.get_logicalName());
                WriteLine("luminosity: " + await m.get_luminosity());
                Write("beacon: ");
                if (await m.get_beacon() == YModule.BEACON_ON)
                {
                    WriteLine("ON");
                }
                else
                {
                    WriteLine("OFF");
                }
                WriteLine("upTime: " + (await m.get_upTime() / 1000) + " sec");
                WriteLine("USB current: " + await m.get_usbCurrent() + " mA");
                WriteLine("Logs:\r\n" + await m.get_lastLogs());
            }
            else
            {
                WriteLine(Target + " not connected  on" + HubURL +
                          "(check identification and USB cable)");
            }
            YAPI.FreeAPI();
            return(0);
        }
Exemple #4
0
        static void Main(String[] args)
        {
            constants.init(args);
            string errsmg = "";

            YAPI.RegisterLogFunction(LogManager.APIlog);
            if (YAPI.InitAPI(YAPI.DETECT_NONE, ref errsmg) == YAPI.SUCCESS)
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
            }
            else
            {
                MessageBox.Show("Yoctopuce API init error:" + errsmg);
            }
        }
Exemple #5
0
    /**
     * <summary>
     *   Returns estimated quality of the orientation (Yocto-3D-V2 only).
     * <para>
     *   This function returns
     *   an integer between 0 and 3 representing the degree of confidence of the position
     *   estimate. When the value is 3, the estimation is reliable. Below 3, one should
     *   expect sudden corrections, in particular for heading (<c>compass</c> function).
     *   The most frequent causes for values below 3 are magnetic interferences, and
     *   accelerations or rotations beyond the sensor range.
     * </para>
     * </summary>
     * <returns>
     *   an integer between 0 and 3 (3 when the measure is reliable)
     * </returns>
     * <para>
     *   On failure, throws an exception or returns a negative error code.
     *   For the Yocto-3D (V1), this function always return -3 (unsupported function).
     * </para>
     */
    public virtual int get_measureQuality()
    {
        string     calibParam;
        List <int> iCalib = new List <int>();
        int        caltyp;
        int        res;

        calibParam = this.get_calibrationParam();
        iCalib     = YAPI._decodeFloats(calibParam);
        caltyp     = ((iCalib[0]) / (1000));
        if (caltyp != 33)
        {
            return(YAPI.NOT_SUPPORTED);
        }
        res = ((iCalib[2]) / (1000));
        return(res);
    }
Exemple #6
0
        static void HubDiscovered(string serial, string url)
        {
            // The call-back can be called several times for the same hub
            // (the discovery technique is based on a periodic broadcast)
            // So we use a dictionnary to avoid duplicates
            if (KnownHubs.Contains(serial))
            {
                return;
            }

            Console.WriteLine("hub found: " + serial + " (" + url + ")");

            // connect to the hub
            string msg = "";

            YAPI.RegisterHub(url, ref msg);

            //  find the hub module
            YModule hub = YModule.FindModule(serial);

            // iterate on all functions on the module and find the ports
            int fctCount = hub.functionCount();

            for (int i = 0; i < fctCount; i++)
            {
                // retreive the hardware name of the ith function
                string fctHwdName = hub.functionId(i);
                if (fctHwdName.Length > 7)
                {
                    if (fctHwdName.Substring(0, 7) == "hubPort")
                    {
                        // The port logical name is always the serial#
                        // of the connected device
                        string deviceid = hub.functionName(i);
                        Console.WriteLine("  " + fctHwdName + " : " + deviceid);
                    }
                }
            }
            // add the hub to the dictionnary so we won't have to
            // process is again.
            KnownHubs.Add(serial);

            // disconnect from the hub
            YAPI.UnregisterHub(url);
        }
Exemple #7
0
    // Token: 0x060000A5 RID: 165 RVA: 0x000051B0 File Offset: 0x000033B0
    protected int _nextFunction(ref string hwid)
    {
        int    fundescr   = 0;
        int    devdescr   = 0;
        string serial     = "";
        string funcId     = "";
        string funcName   = "";
        string funcVal    = "";
        string errmsg     = "";
        int    neededsize = 0;
        IntPtr p          = 0;

        int[] pdata = new int[1];
        int   res   = this._getDescriptor(ref fundescr, ref errmsg);

        if (YAPI.YISERR(res))
        {
            this._throw(res, errmsg);
            return(res);
        }
        int maxsize = Marshal.SizeOf(pdata[0]);

        p   = Marshal.AllocHGlobal(maxsize);
        res = YAPI.apiGetFunctionsByClass(this._className, fundescr, p, maxsize, ref neededsize, ref errmsg);
        Marshal.Copy(p, pdata, 0, 1);
        Marshal.FreeHGlobal(p);
        if (YAPI.YISERR(res))
        {
            this._throw(res, errmsg);
            return(res);
        }
        if (Convert.ToInt32(neededsize / Marshal.SizeOf(pdata[0])) == 0)
        {
            hwid = "";
            return(0);
        }
        res = YAPI.yapiGetFunctionInfo(pdata[0], ref devdescr, ref serial, ref funcId, ref funcName, ref funcVal, ref errmsg);
        if (YAPI.YISERR(res))
        {
            this._throw(res, errmsg);
            return(0);
        }
        hwid = serial + "." + funcId;
        return(0);
    }
        public YoctoLightV3Manager()
        {
            string errorMsg = string.Empty;

            if (YAPI.RegisterHub("usb", ref errorMsg) != YAPI.SUCCESS)
            {
                throw new InvalidOperationException(errorMsg);
            }

            YAPI.RegisterDeviceArrivalCallback(this.OnDeviceConnected);
            YAPI.RegisterDeviceRemovalCallback(this.OnDeviceDisconnected);

            this.workingThread = new Thread(this.RunSensorLoop)
            {
                IsBackground = true
            };
            this.workingThread.Start();
        }
    void EfficientApproach()
    {
        ulong  tm_start = YAPI.GetTickCount();
        string errmsg   = "";
        int    res      = YAPI.HandleEvents(ref errmsg);

        if (res != YAPI.SUCCESS)
        {
            errorText.text = errmsg;
            return;
        }
        ulong tm_stop = YAPI.GetTickCount();

        Debug.Log(string.Format("Get values (r{0:f} p{1:f} took {2:d}ms", _x, _z, tm_stop - tm_start));
        Vector3 movement = new Vector3((float)_x, 0.0f, (float)_z);

        rb.AddForce(movement * speed);
    }
Exemple #10
0
        private void AddrTimer_Tick(object sender, EventArgs e)
        {
            string errmsg = "";

            AddrTimer.Enabled = false;
            ClearPreviousRegister();
            CurrentConnectionAddr = DeviceAddr.Text;
            if (CurrentConnectionAddr != "")
            {
                LogManager.Log("registering " + CurrentConnectionAddr);
                if (YAPI.PreregisterHub(CurrentConnectionAddr, ref errmsg) != YAPI.SUCCESS)
                {
                    ChooseSensorErrorLabel.Text = "cannot connect to " + CurrentConnectionAddr + " : " + errmsg;
                    LogManager.Log(ChooseSensorErrorLabel.Text);
                    return;
                }
            }
        }
Exemple #11
0
        async Task dispatcherTimer_Tick()
        {
            long start = DateTime.Now.Ticks;

            try {
                await YAPI.HandleEvents();
            } catch (YAPI_Exception ex) {
                await FatalError(ex.Message);
            }

            long stop  = DateTime.Now.Ticks;
            long delta = (stop - start) / 1000;

            if (delta > 50)
            {
                Debug.WriteLine("Long Timer handler :{0}ms", delta);
            }
        }
Exemple #12
0
    /**
     * <summary>
     *   Returns the 3D sensor calibration state (Yocto-3D-V2 only).
     * <para>
     *   This function returns
     *   an integer representing the calibration state of the 3 inertial sensors of
     *   the BNO055 chip, found in the Yocto-3D-V2. Hundredths show the calibration state
     *   of the accelerometer, tenths show the calibration state of the magnetometer while
     *   units show the calibration state of the gyroscope. For each sensor, the value 0
     *   means no calibration and the value 3 means full calibration.
     * </para>
     * </summary>
     * <returns>
     *   an integer representing the calibration state of Yocto-3D-V2:
     *   333 when fully calibrated, 0 when not calibrated at all.
     * </returns>
     * <para>
     *   On failure, throws an exception or returns a negative error code.
     *   For the Yocto-3D (V1), this function always return -3 (unsupported function).
     * </para>
     */
    public virtual int get_calibrationState()
    {
        string     calibParam;
        List <int> iCalib = new List <int>();
        int        caltyp;
        int        res;

        // may throw an exception
        calibParam = this.get_calibrationParam();
        iCalib     = YAPI._decodeFloats(calibParam);
        caltyp     = ((iCalib[0]) / (1000));
        if (caltyp != 33)
        {
            return(YAPI.NOT_SUPPORTED);
        }
        res = ((iCalib[1]) / (1000));
        return(res);
    }
Exemple #13
0
    // Token: 0x060000A4 RID: 164 RVA: 0x00005168 File Offset: 0x00003368
    protected int _getDevice(ref YAPI.YDevice dev, ref string errMsg)
    {
        int fundescr = 0;
        int res      = this._getDescriptor(ref fundescr, ref errMsg);

        if (YAPI.YISERR(res))
        {
            return(res);
        }
        int devdescr = YAPI.yapiGetDeviceByFunction(fundescr, ref errMsg);

        if (YAPI.YISERR(devdescr))
        {
            return(devdescr);
        }
        dev = YAPI.YDevice.getDevice(devdescr);
        return(0);
    }
Exemple #14
0
        private void RefreshTimer_Tick(object sender, EventArgs e)
        {
            string errmsg = "";

            YAPI.HandleEvents(ref errmsg);
            refreshUI();
            ulong now = YAPI.GetTickCount();

            if (now - eventTick >= 1000)
            {
                for (int i = 0; i < eventCount.Length; i++)
                {
                    freq[i]       = (int)Math.Round(eventCount[i] * 1000.0 / (now - eventTick));
                    eventCount[i] = 0;
                }
                eventTick = now;
            }
        }
Exemple #15
0
        private async void OnLoad(object sender, RoutedEventArgs e)
        {
            HwIdTextBox.Text = "No sensor detected";
            TempTextBox.Text = "N/A";
            try {
                await YAPI.RegisterHub("usb");
            } catch (YAPI_Exception ex) {
                var dialog = new MessageDialog("Init error:" + ex.Message);
                await dialog.ShowAsync();

                return;
            }

            timer          = new NonReentrantDispatcherTimer();
            timer.Interval = new TimeSpan(0, 0, 0, 0, 100);
            timer.TickTask = async() => { await dispatcherTimer_Tick(); };
            timer.Start();
        }
Exemple #16
0
        public override async Task <int> Run()
        {
            DateTime _epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);

            try {
                await YAPI.RegisterHub(HubURL);

                // Enumerate all connected sensors
                YSensor        sensor;
                List <YSensor> sensorList = new List <YSensor>();
                sensor = YSensor.FirstSensor();
                while (sensor != null)
                {
                    sensorList.Add(sensor);
                    sensor = sensor.nextSensor();
                }

                if (sensorList.Count == 0)
                {
                    WriteLine("No Yoctopuce sensor connected (check USB cable)");
                }
                else
                {
                    // Generate consolidated CSV output for all sensors
                    YConsolidatedDataSet data   = new YConsolidatedDataSet(0, 0, sensorList);
                    List <Double>        record = new List <Double>();
                    while (await data.nextRecord(record) < 100)
                    {
                        string line = _epoch.AddSeconds(record[0]).ToString("yyyy-MM-ddTHH:mm:ss.fff");
                        for (int i = 1; i < record.Count; i++)
                        {
                            line += String.Format(";{0:0.000}", record[i]);
                        }
                        WriteLine(line);
                    }
                }
            } catch (YAPI_Exception ex) {
                WriteLine("Error:" + ex.Message);
            }


            YAPI.FreeAPI();
            return(0);
        }
    public virtual int _loadQuaternion()
    {
        int now_stamp;
        int age_ms;

        now_stamp = (int)((YAPI.GetTickCount()) & (0x7FFFFFFF));
        age_ms    = (((now_stamp - this._qt_stamp)) & (0x7FFFFFFF));
        if ((age_ms >= 10) || (this._qt_stamp == 0))
        {
            if (this.load(10) != YAPI.SUCCESS)
            {
                return(YAPI.DEVICE_NOT_FOUND);
            }
            if (this._qt_stamp == 0)
            {
                this._qt_w = YQt.FindQt("" + this._serial + ".qt1");
                this._qt_x = YQt.FindQt("" + this._serial + ".qt2");
                this._qt_y = YQt.FindQt("" + this._serial + ".qt3");
                this._qt_z = YQt.FindQt("" + this._serial + ".qt4");
            }
            if (this._qt_w.load(9) != YAPI.SUCCESS)
            {
                return(YAPI.DEVICE_NOT_FOUND);
            }
            if (this._qt_x.load(9) != YAPI.SUCCESS)
            {
                return(YAPI.DEVICE_NOT_FOUND);
            }
            if (this._qt_y.load(9) != YAPI.SUCCESS)
            {
                return(YAPI.DEVICE_NOT_FOUND);
            }
            if (this._qt_z.load(9) != YAPI.SUCCESS)
            {
                return(YAPI.DEVICE_NOT_FOUND);
            }
            this._w        = this._qt_w.get_currentValue();
            this._x        = this._qt_x.get_currentValue();
            this._y        = this._qt_y.get_currentValue();
            this._z        = this._qt_z.get_currentValue();
            this._qt_stamp = now_stamp;
        }
        return(YAPI.SUCCESS);
    }
Exemple #18
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YHumidity    hsensor;
                YTemperature tsensor;
                YPressure    psensor;

                if (Target.ToLower() == "any")
                {
                    hsensor = YHumidity.FirstHumidity();
                    tsensor = YTemperature.FirstTemperature();
                    psensor = YPressure.FirstPressure();

                    if ((hsensor == null) || (tsensor == null) || (psensor == null))
                    {
                        WriteLine("No module connected (check USB cable) ");
                        return(-1);
                    }
                }
                else
                {
                    hsensor = YHumidity.FindHumidity(Target + ".humidity");
                    tsensor = YTemperature.FindTemperature(Target + ".temperature");
                    psensor = YPressure.FindPressure(Target + ".pressure");
                }

                while (await hsensor.isOnline())
                {
                    WriteLine("Humidity:    " + await hsensor.get_currentValue() + " %RH");
                    WriteLine("Temperature: " + await tsensor.get_currentValue() + " °C");
                    WriteLine("Pressure:    " + await psensor.get_currentValue() + " hPa");
                    await YAPI.Sleep(1000);
                }

                WriteLine("Module not connected (check identification and USB cable)");
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #19
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YVoltageOutput vout1;
                YVoltageOutput vout2;
                double         voltage;

                voltage = Convert.ToDouble(RequestedVoltage);
                if (Target.ToLower() == "any")
                {
                    vout1 = YVoltageOutput.FirstVoltageOutput();
                    if (vout1 == null)
                    {
                        WriteLine("No module connected (check USB cable) ");
                        return(-1);
                    }

                    Target = await(await vout1.get_module()).get_serialNumber();
                }

                vout1 = YVoltageOutput.FindVoltageOutput(Target + ".voltageOutput1");
                vout2 = YVoltageOutput.FindVoltageOutput(Target + ".voltageOutput2");

                if (await vout1.isOnline())
                {
                    WriteLine("output 1 : immediate change to " + voltage);
                    await vout1.set_currentVoltage(voltage);

                    WriteLine("output 2 : immediate smooth change to " + voltage);
                    await vout2.voltageMove(voltage, 3000);
                }
                else
                {
                    WriteLine("Module not connected (check identification and USB cable)");
                }
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #20
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YRelay relay;
                if (Target.ToLower() == "any")
                {
                    relay = YRelay.FirstRelay();
                    if (relay == null)
                    {
                        WriteLine("No module connected (check USB cable) ");
                        return(-1);
                    }

                    Target = await(await relay.get_module()).get_serialNumber();
                }

                WriteLine("using " + Target + ".relay" + Channel);
                relay = YRelay.FindRelay(Target + ".relay" + Channel);

                if (await relay.isOnline())
                {
                    if (RequestedState.ToUpper() == "ON")
                    {
                        await relay.set_output(YRelay.OUTPUT_ON);
                    }
                    else
                    {
                        await relay.set_output(YRelay.OUTPUT_OFF);
                    }
                }
                else
                {
                    WriteLine("Module not connected (check identification and USB cable)");
                }
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #21
0
        static void Main(string[] args)
        {
            DateTime _epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
            string   errmsg = "";

            if (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS)
            {
                Console.WriteLine("RegisterHub error: " + errmsg);
                Environment.Exit(1);
            }

            // Enumerate all connected sensors
            List <YSensor> sensorList = new List <YSensor>();
            YSensor        sensor;

            sensor = YSensor.FirstSensor();
            while (sensor != null)
            {
                sensorList.Add(sensor);
                sensor = sensor.nextSensor();
            }
            if (sensorList.Count == 0)
            {
                Console.WriteLine("No Yoctopuce sensor connected (check USB cable)");
                Environment.Exit(1);
            }

            // Generate consolidated CSV output for all sensors
            YConsolidatedDataSet data   = new YConsolidatedDataSet(0, 0, sensorList);
            List <double>        record = new List <double>();

            while (data.nextRecord(record) < 100)
            {
                string line = _epoch.AddSeconds(record[0]).ToString("yyyy-MM-ddTHH:mm:ss.fff");
                for (int i = 1; i < record.Count; i++)
                {
                    line += String.Format(";{0:0.000}", record[i]);
                }
                Console.WriteLine(line);
            }

            YAPI.FreeAPI();
        }
Exemple #22
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YLightSensor ir, al;
                YProximity   p;

                if (Target.ToLower() == "any")
                {
                    p = YProximity.FirstProximity();
                    if (p == null)
                    {
                        WriteLine("No module connected (check USB cable) ");
                        return(-1);
                    }

                    Target = await(await p.get_module()).get_serialNumber();
                }
                else
                {
                    p = YProximity.FindProximity(Target + ".proximity1");
                }

                al = YLightSensor.FindLightSensor(Target + ".lightSensor1");
                ir = YLightSensor.FindLightSensor(Target + ".lightSensor2");

                while (await p.isOnline())
                {
                    Write("Proximity: " + await p.get_currentValue());
                    Write("\tAmbiant: " + await al.get_currentValue());
                    WriteLine("\tIR: " + await ir.get_currentValue());
                    await YAPI.Sleep(1000);
                }

                WriteLine("Module not connected (check identification and USB cable)");
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #23
0
        public Form1()
        {
            InitializeComponent();
            _t.Interval = 1000;
            _t.Enabled  = true;
            _t.Tick    += (sender, args) =>
            {
                YAPI.HandleEvents(ref _err);
            };

            YAPI.RegisterHub("USB", ref _err);
            YAPI.UpdateDeviceList(ref _err);
            var sensor = YSensor.FirstSensor();

            sensor.registerTimedReportCallback(timedReport);
            _t.Start();

            tbLux.Text = sensor.FriendlyName;
        }
Exemple #24
0
        static void Main(string[] args)
        {
            string errmsg = "";

            if (YAPI.RegisterHub("usb", ref errmsg) != YAPI.SUCCESS)
            {
                Console.WriteLine("RegisterHub error : " + errmsg);
                Environment.Exit(0);
            }

            YAPI.RegisterDeviceArrivalCallback(deviceArrival);

            Console.WriteLine("Hit Ctrl-C to Stop ");
            while (true)
            {
                YAPI.UpdateDeviceList(ref errmsg); // traps plug/unplug events
                YAPI.Sleep(500, ref errmsg);       // traps others events
            }
        }
Exemple #25
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YRelay relay;

                if (Target.ToLower() == "any")
                {
                    relay = YRelay.FirstRelay();
                    if (relay == null)
                    {
                        WriteLine("No module connected (check USB cable) ");
                        return(-1);
                    }
                }
                else
                {
                    relay = YRelay.FindRelay(Target + ".relay1");
                }

                if (await relay.isOnline())
                {
                    if (RequestedState.ToUpper() == "A")
                    {
                        await relay.set_state(YRelay.STATE_A);
                    }
                    else
                    {
                        await relay.set_state(YRelay.STATE_B);
                    }
                }
                else
                {
                    WriteLine("Module not connected (check identification and USB cable)");
                }
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #26
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YVoltage sensor;
                YVoltage sensorDC = null;
                YVoltage sensorAC = null;

                if (Target.ToLower() == "any")
                {
                    // retreive any voltage sensor (can be AC or DC)
                    sensor = YVoltage.FirstVoltage();
                    if (sensor == null)
                    {
                        WriteLine("No module connected");
                        return(-1);
                    }

                    Target = await(await sensor.get_module()).get_serialNumber();
                }

                WriteLine("using " + Target);
                // we need to retreive both DC and AC voltage from the device.
                sensorDC = YVoltage.FindVoltage(Target + ".voltage1");
                sensorAC = YVoltage.FindVoltage(Target + ".voltage2");

                while (await sensorDC.isOnline())
                {
                    Write("DC: " + await sensorDC.get_currentValue() + " v ");
                    WriteLine("AC: " + await sensorAC.get_currentValue() + " v ");
                    await YAPI.Sleep(1000);
                }

                WriteLine("Module not connected (check identification and USB cable)");
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #27
0
        public void runForever()
        {
            YPwmInput pwmInput;

            if (_hwid != "")
            {
                pwmInput = YPwmInput.FindPwmInput(_hwid);
                if (!pwmInput.isOnline())
                {
                    throw new Exception("No Yocto-PWM-Rx name " + _hwid + " found");
                }
            }
            else
            {
                pwmInput = YPwmInput.FirstPwmInput();
                if (pwmInput == null)
                {
                    throw new Exception("No Yocto-PWM-Rx connected");
                }
            }

            log("use PWM " + pwmInput.get_hardwareId());

            configurePWMInput(pwmInput);

            pwmInput.resetCounter();
            ResetRun(pwmInput.get_pulseCounter());
            pwmInput.registerValueCallback(count_callback);
            string errmsg = "";

            while (true)
            {
                YAPI.Sleep(1000, ref errmsg);
                _liveUpdateCb(getCurrentSpeedKmh(), getDistanceM(), getDurationS(), getMaxSpeedKmh(), getAVGSpeedKmh());
                if (CheckExpiration())
                {
                    _endOfExerciceCb(getStartTime(), getDurationS(), getAVGSpeedKmh(), getMaxSpeedKmh(), getDistanceM());
                    ResetRun(pwmInput.get_pulseCounter());
                    Stop();
                }
            }
        }
Exemple #28
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YGps gps;

                if (Target.ToLower() == "any")
                {
                    gps = YGps.FirstGps();
                    if (gps == null)
                    {
                        WriteLine("No module connected (check USB cable) ");
                        return(-1);
                    }
                }
                else
                {
                    gps = YGps.FindGps(Target + ".gps");
                }

                while (await gps.isOnline())
                {
                    if (await gps.get_isFixed() != YGps.ISFIXED_TRUE)
                    {
                        WriteLine("fixing... ");
                    }
                    else
                    {
                        WriteLine(await gps.get_latitude() + "  " + await gps.get_longitude());
                    }
                    await YAPI.Sleep(1000);
                }

                WriteLine("Module not connected (check identification and USB cable)");
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #29
0
        public override async Task <int> Run()
        {
            try {
                await YAPI.RegisterHub(HubURL);

                YLed led;
                if (Target.ToLower() == "any")
                {
                    led = YLed.FirstLed();
                    if (led == null)
                    {
                        WriteLine("No module connected (check USB cable) ");
                        return(-1);
                    }
                }
                else
                {
                    led = YLed.FindLed(Target + ".led");
                }

                if (await led.isOnline())
                {
                    if (OnOff.ToUpper() == "ON")
                    {
                        await led.set_power(YLed.POWER_ON);
                    }
                    else
                    {
                        await led.set_power(YLed.POWER_OFF);
                    }
                }
                else
                {
                    WriteLine("Module not connected (check identification and USB cable)");
                }
            } catch (YAPI_Exception ex) {
                WriteLine("error: " + ex.Message);
            }

            YAPI.FreeAPI();
            return(0);
        }
Exemple #30
0
        public static string RegisterHub(string addr)
        {
            string errmsg = "";

            if (!InternalStuff.initYoctopuceLibrary(ref errmsg, true))
            {
                string msg = addr + " Yoctopuce API init failed (" + errmsg + ")";
                return(msg);
            }

            InternalStuff.log("Registering Hub (" + addr + ") ...");
            if (YAPI.RegisterHub(addr, ref errmsg) != YAPI.SUCCESS)
            {
                string msg = addr + " Hub registering failed (" + errmsg + ")";
                return(msg);
            }

            try { YAPI.UpdateDeviceList(ref errmsg); } catch (Exception) { }
            return("");
        }
 //--- (YWakeUpSchedule implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "minutesA")
     {
         _minutesA = (int)member.ivalue;
         return;
     }
     if (member.name == "minutesB")
     {
         _minutesB = (int)member.ivalue;
         return;
     }
     if (member.name == "hours")
     {
         _hours = (int)member.ivalue;
         return;
     }
     if (member.name == "weekDays")
     {
         _weekDays = (int)member.ivalue;
         return;
     }
     if (member.name == "monthDays")
     {
         _monthDays = (int)member.ivalue;
         return;
     }
     if (member.name == "months")
     {
         _months = (int)member.ivalue;
         return;
     }
     if (member.name == "nextOccurence")
     {
         _nextOccurence = member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
Exemple #32
0
    // Return a pointer to our device caching object (may trigger a hub scan)
    protected YRETCODE _getDevice(ref YAPI.YDevice dev, ref string errMsg)
    {
        YRETCODE functionReturnValue = default(YRETCODE);
        YFUN_DESCR fundescr = default(YFUN_DESCR);
        YDEV_DESCR devdescr = default(YDEV_DESCR);
        YRETCODE res = default(YRETCODE);

        // Resolve function name
        res = _getDescriptor(ref fundescr, ref errMsg);
        if ((YAPI.YISERR(res)))
        {
          functionReturnValue = res;
          return functionReturnValue;
        }

        // Get device descriptor
        devdescr = YAPI.yapiGetDeviceByFunction(fundescr, ref errMsg);
        if ((YAPI.YISERR(devdescr)))
        {
          return devdescr;
        }

        // Get device object
        dev = YAPI.YDevice.getDevice(devdescr);

        functionReturnValue = YAPI.SUCCESS;
        return functionReturnValue;
    }
 //--- (YAccelerometer implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "xValue")
     {
         _xValue = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "yValue")
     {
         _yValue = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "zValue")
     {
         _zValue = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "gravityCancellation")
     {
         _gravityCancellation = member.ivalue > 0 ? 1 : 0;
         return;
     }
     base._parseAttr(member);
 }
Exemple #34
0
 public void setImmutableAttributes(ref YAPI.yDeviceSt infos)
 {
     _serialNumber = infos.serial;
     _productName = infos.productname;
     _productId = infos.deviceid;
 }
 //--- (YColorLed implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "rgbColor")
     {
         _rgbColor = (int)member.ivalue;
         return;
     }
     if (member.name == "hslColor")
     {
         _hslColor = (int)member.ivalue;
         return;
     }
     if (member.name == "rgbMove")
     {
         if (member.recordtype == YAPI.TJSONRECORDTYPE.JSON_STRUCT) {
             YAPI.TJSONRECORD submemb;
             for (int l=0 ; l<member.membercount ; l++)
             {   submemb = member.members[l];
                 if (submemb.name == "moving")
                     _rgbMove.moving = (int) submemb.ivalue;
                 else if (submemb.name == "target")
                     _rgbMove.target = (int) submemb.ivalue;
                 else if (submemb.name == "ms")
                     _rgbMove.ms = (int) submemb.ivalue;
             }
         }
         return;
     }
     if (member.name == "hslMove")
     {
         if (member.recordtype == YAPI.TJSONRECORDTYPE.JSON_STRUCT) {
             YAPI.TJSONRECORD submemb;
             for (int l=0 ; l<member.membercount ; l++)
             {   submemb = member.members[l];
                 if (submemb.name == "moving")
                     _hslMove.moving = (int) submemb.ivalue;
                 else if (submemb.name == "target")
                     _hslMove.target = (int) submemb.ivalue;
                 else if (submemb.name == "ms")
                     _hslMove.ms = (int) submemb.ivalue;
             }
         }
         return;
     }
     if (member.name == "rgbColorAtPowerOn")
     {
         _rgbColorAtPowerOn = (int)member.ivalue;
         return;
     }
     if (member.name == "blinkSeqSize")
     {
         _blinkSeqSize = (int)member.ivalue;
         return;
     }
     if (member.name == "blinkSeqMaxSize")
     {
         _blinkSeqMaxSize = (int)member.ivalue;
         return;
     }
     if (member.name == "blinkSeqSignature")
     {
         _blinkSeqSignature = (int)member.ivalue;
         return;
     }
     if (member.name == "command")
     {
         _command = member.svalue;
         return;
     }
     base._parseAttr(member);
 }
 protected override int _parse(YAPI.TJSONRECORD j)
 {
     YAPI.TJSONRECORD member = default(YAPI.TJSONRECORD);
     int i = 0;
     if ((j.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT)) goto failed;
     for (i = 0; i <= j.membercount - 1; i++)
     {
       member = j.members[i];
       if (member.name == "logicalName")
       {
     _logicalName = member.svalue;
       }
       else if (member.name == "advertisedValue")
       {
     _advertisedValue = member.svalue;
       }
       else if (member.name == "oldestRunIndex")
       {
     _oldestRunIndex = member.ivalue;
       }
       else if (member.name == "currentRunIndex")
       {
     _currentRunIndex = member.ivalue;
       }
       else if (member.name == "samplingInterval")
       {
     _samplingInterval = member.ivalue;
       }
       else if (member.name == "timeUTC")
       {
     _timeUTC = member.ivalue;
       }
       else if (member.name == "recording")
       {
     _recording = member.ivalue;
       }
       else if (member.name == "autoStart")
       {
     _autoStart = member.ivalue;
       }
       else if (member.name == "clearHistory")
       {
     _clearHistory = member.ivalue;
       }
     }
     return 0;
       failed:
     return -1;
 }
 //--- (YAudioOut implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "volume")
     {
         _volume = (int)member.ivalue;
         return;
     }
     if (member.name == "mute")
     {
         _mute = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "volumeRange")
     {
         _volumeRange = member.svalue;
         return;
     }
     if (member.name == "signal")
     {
         _signal = (int)member.ivalue;
         return;
     }
     if (member.name == "noSignalFor")
     {
         _noSignalFor = (int)member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
 //--- (YSegmentedDisplay implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "displayedText")
     {
         _displayedText = member.svalue;
         return;
     }
     if (member.name == "displayMode")
     {
         _displayMode = (int)member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
 //--- (YPwmOutput implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "enabled")
     {
         _enabled = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "frequency")
     {
         _frequency = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "period")
     {
         _period = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "dutyCycle")
     {
         _dutyCycle = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "pulseDuration")
     {
         _pulseDuration = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "pwmTransition")
     {
         _pwmTransition = member.svalue;
         return;
     }
     if (member.name == "enabledAtPowerOn")
     {
         _enabledAtPowerOn = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "dutyCycleAtPowerOn")
     {
         _dutyCycleAtPowerOn = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     base._parseAttr(member);
 }
 //--- (YWakeUpMonitor implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "powerDuration")
     {
         _powerDuration = (int)member.ivalue;
         return;
     }
     if (member.name == "sleepCountdown")
     {
         _sleepCountdown = (int)member.ivalue;
         return;
     }
     if (member.name == "nextWakeUp")
     {
         _nextWakeUp = member.ivalue;
         return;
     }
     if (member.name == "wakeUpReason")
     {
         _wakeUpReason = (int)member.ivalue;
         return;
     }
     if (member.name == "wakeUpState")
     {
         _wakeUpState = (int)member.ivalue;
         return;
     }
     if (member.name == "rtcTime")
     {
         _rtcTime = member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
 //--- (YRefFrame implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "mountPos")
     {
         _mountPos = (int)member.ivalue;
         return;
     }
     if (member.name == "bearing")
     {
         _bearing = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "calibrationParam")
     {
         _calibrationParam = member.svalue;
         return;
     }
     base._parseAttr(member);
 }
Exemple #42
0
 public static void RegisterCalibrationHandler(int calibType, YAPI.yCalibrationHandler callback)
 {
     string key;
     key = calibType.ToString();
      YFunction._CalibHandlers.Add(key, callback);
 }
 //--- (generated code: YDataLogger implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "currentRunIndex")
     {
         _currentRunIndex = (int)member.ivalue;
         return;
     }
     if (member.name == "timeUTC")
     {
         _timeUTC = member.ivalue;
         return;
     }
     if (member.name == "recording")
     {
         _recording = (int)member.ivalue;
         return;
     }
     if (member.name == "autoStart")
     {
         _autoStart = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "beaconDriven")
     {
         _beaconDriven = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "clearHistory")
     {
         _clearHistory = member.ivalue > 0 ? 1 : 0;
         return;
     }
     base._parseAttr(member);
 }
 //--- (YDigitalIO implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "portState")
     {
         _portState = (int)member.ivalue;
         return;
     }
     if (member.name == "portDirection")
     {
         _portDirection = (int)member.ivalue;
         return;
     }
     if (member.name == "portOpenDrain")
     {
         _portOpenDrain = (int)member.ivalue;
         return;
     }
     if (member.name == "portPolarity")
     {
         _portPolarity = (int)member.ivalue;
         return;
     }
     if (member.name == "portSize")
     {
         _portSize = (int)member.ivalue;
         return;
     }
     if (member.name == "outputVoltage")
     {
         _outputVoltage = (int)member.ivalue;
         return;
     }
     if (member.name == "command")
     {
         _command = member.svalue;
         return;
     }
     base._parseAttr(member);
 }
 protected override int _parse(YAPI.TJSONRECORD j)
 {
     YAPI.TJSONRECORD member = default(YAPI.TJSONRECORD);
     int i = 0;
     if ((j.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT)) goto failed;
     for (i = 0; i <= j.membercount - 1; i++)
     {
       member = j.members[i];
       if (member.name == "logicalName")
       {
     _logicalName = member.svalue;
       }
       else if (member.name == "advertisedValue")
       {
     _advertisedValue = member.svalue;
       }
       else if (member.name == "unit")
       {
     _unit = member.svalue;
       }
       else if (member.name == "currentValue")
       {
     _currentValue = Math.Round(member.ivalue/6553.6) / 10;
       }
       else if (member.name == "lowestValue")
       {
     _lowestValue = Math.Round(member.ivalue/6553.6) / 10;
       }
       else if (member.name == "highestValue")
       {
     _highestValue = Math.Round(member.ivalue/6553.6) / 10;
       }
       else if (member.name == "currentRawValue")
       {
     _currentRawValue = member.ivalue/65536.0;
       }
       else if (member.name == "resolution")
       {
     _resolution = 1.0 / Math.Round(65536.0/member.ivalue);
       }
       else if (member.name == "calibrationParam")
       {
     _calibrationParam = member.svalue;
       }
     }
     return 0;
       failed:
     return -1;
 }
 //--- (generated code: YModule implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "productName")
     {
         _productName = member.svalue;
         return;
     }
     if (member.name == "serialNumber")
     {
         _serialNumber = member.svalue;
         return;
     }
     if (member.name == "productId")
     {
         _productId = (int)member.ivalue;
         return;
     }
     if (member.name == "productRelease")
     {
         _productRelease = (int)member.ivalue;
         return;
     }
     if (member.name == "firmwareRelease")
     {
         _firmwareRelease = member.svalue;
         return;
     }
     if (member.name == "persistentSettings")
     {
         _persistentSettings = (int)member.ivalue;
         return;
     }
     if (member.name == "luminosity")
     {
         _luminosity = (int)member.ivalue;
         return;
     }
     if (member.name == "beacon")
     {
         _beacon = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "upTime")
     {
         _upTime = member.ivalue;
         return;
     }
     if (member.name == "usbCurrent")
     {
         _usbCurrent = (int)member.ivalue;
         return;
     }
     if (member.name == "rebootCountdown")
     {
         _rebootCountdown = (int)member.ivalue;
         return;
     }
     if (member.name == "userVar")
     {
         _userVar = (int)member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
    public int getData(long runIdx, long timeIdx, ref YAPI.TJsonParser jsondata)
    {
        int functionReturnValue = 0;

        YAPI.YDevice dev = null;
        string errmsg = "";
        string query = null;
        string buffer = "";
        int res = 0;

        if (_dataLoggerURL == "") _dataLoggerURL = "/logger.json";

        // Resolve our reference to our device, load REST API
        res = _getDevice(ref dev, ref errmsg);
        if ((YAPI.YISERR(res)))
        {
            _throw(res, errmsg);
            functionReturnValue = res;
            return functionReturnValue;
        }

        if ((timeIdx > 0))
        {
            query = "GET " + _dataLoggerURL + "?run=" + runIdx.ToString() + "&time=" + timeIdx.ToString() + " HTTP/1.1\n\r\n\r";
        }
        else
        {
            query = "GET " + _dataLoggerURL + " HTTP/1.1\n\r\n\r";
        }

        res = dev.HTTPRequest(query, ref buffer, ref errmsg);

        if ((YAPI.YISERR(res)))
        {
            res = YAPI.UpdateDeviceList(ref errmsg);
            if ((YAPI.YISERR(res)))
            {
                _throw(res, errmsg);
                functionReturnValue = res;
                return functionReturnValue;
            }

            res = dev.HTTPRequest("GET " + _dataLoggerURL + " HTTP/1.1\n\r\n\r", ref buffer, ref errmsg);
            if ((YAPI.YISERR(res)))
            {
                _throw(res, errmsg);
                functionReturnValue = res;
                return functionReturnValue;
            }
        }

        try
        {
            jsondata = new YAPI.TJsonParser(buffer);

        }
        catch (Exception e)
        {
            errmsg = "unexpected JSON structure: " + e.Message;
            _throw(YAPI.IO_ERROR, errmsg);
            functionReturnValue = YAPI.IO_ERROR;
            return functionReturnValue;
        }
        if (jsondata.httpcode == 404 && _dataLoggerURL != "/dataLogger.json")
        {
            // retry using backward-compatible datalogger URL
            _dataLoggerURL = "/dataLogger.json";
            return this.getData(runIdx, timeIdx, ref jsondata);
        }

        functionReturnValue = YAPI.SUCCESS;
        return functionReturnValue;
    }
 //--- (generated code: YFiles implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "filesCount")
     {
         _filesCount = (int)member.ivalue;
         return;
     }
     if (member.name == "freeSpace")
     {
         _freeSpace = (int)member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
    protected override int _parse(YAPI.TJSONRECORD j)
    {
        YAPI.TJSONRECORD member = default(YAPI.TJSONRECORD);
        int i = 0;
        if ((j.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT)) goto failed;
        for (i = 0; i <= j.membercount - 1; i++)
        {
          member = j.members[i];
          if (member.name == "logicalName")
          {
        _logicalName = member.svalue;
          }
          else if (member.name == "advertisedValue")
          {
        _advertisedValue = member.svalue;
          }
          else if (member.name == "unit")
          {
        _unit = member.svalue;
          }
          else if (member.name == "voltage")
          {
        _voltage = member.ivalue;
          }
          else if (member.name == "failure")
          {
        _failure = member.ivalue;
          }
          else if (member.name == "overHeat")
          {
        _overHeat = member.ivalue;
          }
          else if (member.name == "overCurrent")
          {
        _overCurrent = member.ivalue;
          }
          else if (member.name == "overLoad")
          {
        _overLoad = member.ivalue;
          }
          else if (member.name == "regulationFailure")
          {
        _regulationFailure = member.ivalue;
          }
          else if (member.name == "extPowerFailure")
          {
        _extPowerFailure = member.ivalue;
          }
          else if (member.name == "move")
          {
        if (member.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT) goto failed;
        YAPI.TJSONRECORD submemb;
        for (int l=0 ; l<member.membercount ; l++)
         { submemb = member.members[l];
           if (submemb.name == "moving")
              _move.moving = submemb.ivalue;
           else if (submemb.name == "target")
              _move.target = submemb.ivalue;
           else if (submemb.name == "ms")
              _move.ms = submemb.ivalue;
        }

          }
          else if (member.name == "pulseTimer")
          {
        if (member.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT) goto failed;
        YAPI.TJSONRECORD submemb;
        for (int l=0 ; l<member.membercount ; l++)
         { submemb = member.members[l];
           if (submemb.name == "moving")
              _pulseTimer.moving = submemb.ivalue;
           else if (submemb.name == "target")
              _pulseTimer.target = submemb.ivalue;
           else if (submemb.name == "ms")
              _pulseTimer.ms = submemb.ivalue;
        }

          }
        }
        return 0;
          failed:
        return -1;
    }
Exemple #50
0
    protected override int _parse(YAPI.TJSONRECORD j)
    {
        YAPI.TJSONRECORD member = default(YAPI.TJSONRECORD);
        int i = 0;
        if ((j.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT)) goto failed;
        for (i = 0; i <= j.membercount - 1; i++)
        {
          member = j.members[i];
          if (member.name == "logicalName")
          {
        _logicalName = member.svalue;
          }
          else if (member.name == "advertisedValue")
          {
        _advertisedValue = member.svalue;
          }
          else if (member.name == "position")
          {
        _position = member.ivalue;
          }
          else if (member.name == "range")
          {
        _range = member.ivalue;
          }
          else if (member.name == "neutral")
          {
        _neutral = member.ivalue;
          }
          else if (member.name == "move")
          {
        if (member.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT) goto failed;
        YAPI.TJSONRECORD submemb;
        for (int l=0 ; l<member.membercount ; l++)
         { submemb = member.members[l];
           if (submemb.name == "moving")
              _move.moving = submemb.ivalue;
           else if (submemb.name == "target")
              _move.target = submemb.ivalue;
           else if (submemb.name == "ms")
              _move.ms = submemb.ivalue;
        }

          }
        }
        return 0;
          failed:
        return -1;
    }
 //--- (YWatchdog implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "state")
     {
         _state = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "stateAtPowerOn")
     {
         _stateAtPowerOn = (int)member.ivalue;
         return;
     }
     if (member.name == "maxTimeOnStateA")
     {
         _maxTimeOnStateA = member.ivalue;
         return;
     }
     if (member.name == "maxTimeOnStateB")
     {
         _maxTimeOnStateB = member.ivalue;
         return;
     }
     if (member.name == "output")
     {
         _output = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "pulseTimer")
     {
         _pulseTimer = member.ivalue;
         return;
     }
     if (member.name == "delayedPulseTimer")
     {
         if (member.recordtype == YAPI.TJSONRECORDTYPE.JSON_STRUCT) {
             YAPI.TJSONRECORD submemb;
             for (int l=0 ; l<member.membercount ; l++)
             {   submemb = member.members[l];
                 if (submemb.name == "moving")
                     _delayedPulseTimer.moving = (int) submemb.ivalue;
                 else if (submemb.name == "target")
                     _delayedPulseTimer.target = (int) submemb.ivalue;
                 else if (submemb.name == "ms")
                     _delayedPulseTimer.ms = (int) submemb.ivalue;
             }
         }
         return;
     }
     if (member.name == "countdown")
     {
         _countdown = member.ivalue;
         return;
     }
     if (member.name == "autoStart")
     {
         _autoStart = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "running")
     {
         _running = member.ivalue > 0 ? 1 : 0;
         return;
     }
     if (member.name == "triggerDelay")
     {
         _triggerDelay = member.ivalue;
         return;
     }
     if (member.name == "triggerDuration")
     {
         _triggerDuration = member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
Exemple #52
0
 protected abstract int _parse(YAPI.TJSONRECORD parser);
 protected override int _parse(YAPI.TJSONRECORD j)
 {
     YAPI.TJSONRECORD member = default(YAPI.TJSONRECORD);
     int i = 0;
     if ((j.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT)) goto failed;
     for (i = 0; i <= j.membercount - 1; i++)
     {
       member = j.members[i];
       if (member.name == "logicalName")
       {
     _logicalName = member.svalue;
       }
       else if (member.name == "advertisedValue")
       {
     _advertisedValue = member.svalue;
       }
       else if (member.name == "enabled")
       {
     _enabled = member.ivalue;
       }
       else if (member.name == "portState")
       {
     _portState = member.ivalue;
       }
       else if (member.name == "baudRate")
       {
     _baudRate = member.ivalue;
       }
     }
     return 0;
       failed:
     return -1;
 }
 //--- (generated code: YWireless implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "linkQuality")
     {
         _linkQuality = (int)member.ivalue;
         return;
     }
     if (member.name == "ssid")
     {
         _ssid = member.svalue;
         return;
     }
     if (member.name == "channel")
     {
         _channel = (int)member.ivalue;
         return;
     }
     if (member.name == "security")
     {
         _security = (int)member.ivalue;
         return;
     }
     if (member.name == "message")
     {
         _message = member.svalue;
         return;
     }
     if (member.name == "wlanConfig")
     {
         _wlanConfig = member.svalue;
         return;
     }
     base._parseAttr(member);
 }
 //--- (YMotor implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "motorStatus")
     {
         _motorStatus = (int)member.ivalue;
         return;
     }
     if (member.name == "drivingForce")
     {
         _drivingForce = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "brakingForce")
     {
         _brakingForce = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "cutOffVoltage")
     {
         _cutOffVoltage = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "overCurrentLimit")
     {
         _overCurrentLimit = (int)member.ivalue;
         return;
     }
     if (member.name == "frequency")
     {
         _frequency = Math.Round(member.ivalue * 1000.0 / 65536.0) / 1000.0;
         return;
     }
     if (member.name == "starterTime")
     {
         _starterTime = (int)member.ivalue;
         return;
     }
     if (member.name == "failSafeTimeout")
     {
         _failSafeTimeout = (int)member.ivalue;
         return;
     }
     if (member.name == "command")
     {
         _command = member.svalue;
         return;
     }
     base._parseAttr(member);
 }
 protected override int _parse(YAPI.TJSONRECORD j)
 {
     YAPI.TJSONRECORD member = default(YAPI.TJSONRECORD);
     int i = 0;
     if ((j.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT)) goto failed;
     for (i = 0; i <= j.membercount - 1; i++)
     {
       member = j.members[i];
       if (member.name == "logicalName")
       {
     _logicalName = member.svalue;
       }
       else if (member.name == "advertisedValue")
       {
     _advertisedValue = member.svalue;
       }
       else if (member.name == "calibratedValue")
       {
     _calibratedValue = member.ivalue;
       }
       else if (member.name == "rawValue")
       {
     _rawValue = member.ivalue;
       }
       else if (member.name == "analogCalibration")
       {
     _analogCalibration = member.ivalue;
       }
       else if (member.name == "calibrationMax")
       {
     _calibrationMax = member.ivalue;
       }
       else if (member.name == "calibrationMin")
       {
     _calibrationMin = member.ivalue;
       }
       else if (member.name == "sensitivity")
       {
     _sensitivity = member.ivalue;
       }
       else if (member.name == "isPressed")
       {
     _isPressed = member.ivalue;
       }
       else if (member.name == "lastTimePressed")
       {
     _lastTimePressed = member.ivalue;
       }
       else if (member.name == "lastTimeReleased")
       {
     _lastTimeReleased = member.ivalue;
       }
     }
     return 0;
       failed:
     return -1;
 }
 //--- (YOsControl implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "shutdownCountdown")
     {
         _shutdownCountdown = (int)member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
 //--- (YPwmPowerSource implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     if (member.name == "powerMode")
     {
         _powerMode = (int)member.ivalue;
         return;
     }
     base._parseAttr(member);
 }
Exemple #59
0
 protected override int _parse(YAPI.TJSONRECORD j)
 {
     YAPI.TJSONRECORD member = default(YAPI.TJSONRECORD);
     int i = 0;
     if ((j.recordtype != YAPI.TJSONRECORDTYPE.JSON_STRUCT)) goto failed;
     for (i = 0; i <= j.membercount - 1; i++)
     {
       member = j.members[i];
       if (member.name == "productName")
       {
     _productName = member.svalue;
       }
       else if (member.name == "serialNumber")
       {
     _serialNumber = member.svalue;
       }
       else if (member.name == "logicalName")
       {
     _logicalName = member.svalue;
       }
       else if (member.name == "productId")
       {
     _productId = member.ivalue;
       }
       else if (member.name == "productRelease")
       {
     _productRelease = member.ivalue;
       }
       else if (member.name == "firmwareRelease")
       {
     _firmwareRelease = member.svalue;
       }
       else if (member.name == "persistentSettings")
       {
     _persistentSettings = member.ivalue;
       }
       else if (member.name == "luminosity")
       {
     _luminosity = member.ivalue;
       }
       else if (member.name == "beacon")
       {
     _beacon = member.ivalue;
       }
       else if (member.name == "upTime")
       {
     _upTime = member.ivalue;
       }
       else if (member.name == "usbCurrent")
       {
     _usbCurrent = member.ivalue;
       }
       else if (member.name == "rebootCountdown")
       {
     _rebootCountdown = member.ivalue;
       }
       else if (member.name == "usbBandwidth")
       {
     _usbBandwidth = member.ivalue;
       }
     }
     return 0;
       failed:
     return -1;
 }
 //--- (YCurrent implementation)
 protected override void _parseAttr(YAPI.TJSONRECORD member)
 {
     base._parseAttr(member);
 }