Beispiel #1
0
    /*=====================================================================
     | GENERIC DETECTION ROUTINE
     | ====================================================================*/
    static void find_devices()
    {
        ushort[] ports      = new ushort[16];
        uint[]   unique_ids = new uint[16];
        int      nelem      = 16;

        // Find all the attached devices
        int count = BeagleApi.bg_find_devices_ext(nelem, ports,
                                                  nelem, unique_ids);
        int i;

        Console.Write("{0:d} device(s) found:\n", count);

        // Print the information on each device
        if (count > nelem)
        {
            count = nelem;
        }
        for (i = 0; i < count; ++i)
        {
            // Determine if the device is in-use
            String status = "(avail) ";
            if ((ports[i] & BeagleApi.BG_PORT_NOT_FREE) != 0)
            {
                ports[i] &= unchecked ((ushort)~BeagleApi.BG_PORT_NOT_FREE);
                status    = "(in-use)";
            }

            // Display device port number, in-use status, and serial number
            Console.Write("    port={0,-3:d} {1:s} ({2:d4}-{3:d6})\n",
                          ports[i], status,
                          unique_ids[i] / 1000000,
                          unique_ids[i] % 1000000);
        }
    }
Beispiel #2
0
        public static List <uint> GetDevices()
        {
            var result = new List <uint>();

            ushort[] ports      = new ushort[16];
            uint[]   unique_ids = new uint[16];
            int      nelem      = 16;

            if (Environment.Is64BitProcess)
            {
                int count = BeagleApi.bg_find_devices_ext(nelem, ports, nelem, unique_ids);
                for (uint i = 0; i < count; i++)
                {
                    result.Add(ports[i]);
                }
            }

            return(result);
        }
        public void find_device()
        {
            int device_num = 8;
            var ports      = Enumerable.Repeat <ushort>(9999, device_num).ToArray();
            var ids        = new uint[device_num];

            try
            {
                int aa_num = AardvarkApi.aa_find_devices_ext(device_num, ports, device_num, ids);
                if (aa_num > 0)
                {
                    for (int i = 0; i < device_num; i++)
                    {
                        if (ports[i] != 9999 && !check_aardvark(ids[i]))                         //check if not there already
                        {
                            aardvarks.Add(new Aardvark(ports[i], ids[i]));
                        }
                    }
                }
                int bg_num = BeagleApi.bg_find_devices_ext(device_num, ports, device_num, ids);
                if (bg_num > 0)
                {
                    for (int i = 0; i < device_num; i++)
                    {
                        if (ports[i] != 9999 && !check_beagle(ids[i]))
                        {
                            beagles.Add(new Beagle(ports[i], ids[i]));
                        }
                    }
                }
            }
            catch (System.TypeInitializationException)
            {
                MessageBox.Show("Application must target 64 bit");
            }
        }