Esempio n. 1
0
        static void Main(string[] args)
        {
            ZenClientHandle_t zenHandle = new ZenClientHandle_t();

            OpenZen.ZenInit(zenHandle);

            ExThread obj = new ExThread(zenHandle);

            // Creating thread
            // Using thread class
            Thread thr = new Thread(new ThreadStart(obj.sensorEventThread));

            thr.Start();

            // start sensor listing, new sensors will be reported as Events in our event thread
            OpenZen.ZenListSensorsAsync(zenHandle);

            while (!obj.mSearchDone)
            {
                Console.WriteLine("Searching for sensors ...");
                Thread.Sleep(1000);
            }

            if (obj.mFoundSensors.Count == 0)
            {
                Console.WriteLine("No sensor found on the system");
                OpenZen.ZenShutdown(zenHandle);
                thr.Abort();
                return;
            }

            ZenSensorInitError sensorInitError = ZenSensorInitError.ZenSensorInitError_Max;

            // try three connection attempts
            for (int i = 0; i < 3; i++)
            {
                ZenSensorHandle_t sensorHandle = new ZenSensorHandle_t();
                sensorInitError = OpenZen.ZenObtainSensor(zenHandle, obj.mFoundSensors[0], sensorHandle);
                Console.WriteLine("Connecting to sensor " + obj.mFoundSensors[0].identifier + " on IO interface " + obj.mFoundSensors[0].ioType);
                if (sensorInitError == ZenSensorInitError.ZenSensorInitError_None)
                {
                    Console.WriteLine("Succesfully connected to sensor");
                    break;
                }
            }

            if (sensorInitError != ZenSensorInitError.ZenSensorInitError_None)
            {
                Console.WriteLine("Could not connect to sensor");
                System.Environment.Exit(1);
            }

            // stream some data
            Thread.Sleep(5000);

            OpenZen.ZenShutdown(zenHandle);
            thr.Abort();
        }
Esempio n. 2
0
        public static void main()
        {
            // Start of Code
            ZenClientHandle_t zenHandle = new ZenClientHandle_t();

            OpenZen.ZenInit(zenHandle);

            ExThread obj = new ExThread(zenHandle);

            // Creating thread
            // Using thread class
            thr = new Thread(new ThreadStart(obj.sensorEventThread));
            thr.Start();

            // start sensor listing, new sensors will be reported as Events in our event thread
            OpenZen.ZenListSensorsAsync(zenHandle);

            while (!obj.mSearchDone)
            {
                Console.WriteLine("Searching for sensors ...");
                Thread.Sleep(1000);
            }

            ZenSensorInitError sensorInitError = ZenSensorInitError.ZenSensorInitError_Max;

            // try three connection attempts
            for (int i = 0; i < 10; i++)
            {
                ZenSensorHandle_t sensorHandle = new ZenSensorHandle_t();
                sensorInitError = OpenZen.ZenObtainSensor(zenHandle, obj.mFoundSensors[0], sensorHandle);
                if (sensorInitError == ZenSensorInitError.ZenSensorInitError_None)
                {
                    Console.WriteLine("Succesfully connected to sensor");
                    break;
                }
            }

            if (sensorInitError != ZenSensorInitError.ZenSensorInitError_None)
            {
                Console.WriteLine("Could not connect to sensor");
                System.Environment.Exit(1);
            }
        }
Esempio n. 3
0
        private void retrieve_Port_Click(object sender, EventArgs e)
        {
            foundSensors.Clear();
            device_List1.Items.Clear();
            device_List2.Items.Clear();
            device_List3.Items.Clear();
            device_List4.Items.Clear();

            OpenZen.ZenInit(zenHandle);

            ZenEvent zenEvent   = new ZenEvent();
            Boolean  searchDone = false;

            // start sensor listing, new sensors will be reported as Events in our event thread
            OpenZen.ZenListSensorsAsync(zenHandle);

            // Searching for device
            while (searchDone == false)
            {
                if (OpenZen.ZenWaitForNextEvent(zenHandle, zenEvent) && zenEvent.component.handle == 0)
                {
                    // Handle Event
                    switch (zenEvent.eventType)
                    {
                    case (int)ZenSensorEvent.ZenSensorEvent_SensorFound:
                        //MessageBox.Show("Device : " + zenEvent.data.sensorFound.name);
                        ZenSensorDesc sensor = new ZenSensorDesc();
                        sensor.identifier   = zenEvent.data.sensorFound.identifier;
                        sensor.baudRate     = zenEvent.data.sensorFound.baudRate;
                        sensor.ioType       = zenEvent.data.sensorFound.ioType;
                        sensor.name         = zenEvent.data.sensorFound.name;
                        sensor.serialNumber = zenEvent.data.sensorFound.serialNumber;
                        foundSensors.Add(sensor);
                        break;

                    case (int)ZenSensorEvent.ZenSensorEvent_SensorListingProgress:
                        if (zenEvent.data.sensorListingProgress.progress == 1.0)
                        {
                            searchDone = true;
                        }
                        break;
                    }
                }
            }

            // Listing Connected Device
            if (foundSensors.Count > 0)
            {
                for (int i = 0; i < foundSensors.Count; i++)
                {
                    device_List1.Items.Add(foundSensors[i].name);
                    device_List2.Items.Add(foundSensors[i].name);
                    device_List3.Items.Add(foundSensors[i].name);
                    device_List4.Items.Add(foundSensors[i].name);
                }
                device_List1.SelectedIndex = 0;
                device_List2.SelectedIndex = 0;
                device_List3.SelectedIndex = 0;
                device_List4.SelectedIndex = 0;
            }
            else
            {
                MessageBox.Show("No Sensor Device is found");
            }
        }