/*===================================================================== | 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); } }
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"); } }