Psyleron SDK (PsyREG) FAQ

With what languages or compilers can I utilize the API?
The API is a Win32 DLL, so any language that can link a DLL and call exported functions should suffice. This SDK includes samples written in C and Visual Basic .NET 2003. You may not be able to develop 64bit applications, but Windows XP/Vista 64's 32-bit emulation should make this a non-issue. However, this API has not been tested on other platforms.
What operating systems will this API work on?
At this time, only Windows XP is explicity supported. Both 32-bit and 64-bit versions of all editions should suffice (though only 32-bit applications can be built). We have not seen any problems with Windows Vista either. Success has been reported using Psyleron software when running Windows as a virtual operating system on OS X or Linux platforms.
Do I need to do any Multithreaded programming to use this?
No. While the PsyREG API may have a multithreaded backend to monitor devices, it is encapulated within a DLL so there are no constraints on your project. In fact, the PsyREG DLL is not designed to be thread safe, so simultaneous calls to some API functions could produce errors. The GetBit and GetByte functions do not block. The GetBits and GetBytes functions also will not block unless told to.
What Kind of Bitrate can I Expect?
You can expect up to 2100 bits per second with the current generation of the REG-1. Future versions may have higher bitrates, as it is quite possible. Send any inquiries or suggestions regarding this to info@psyleron.com
My Application gives an error about missing PsyREG.DLL of FTD2XX.DLL. Why?
Remember to copy the latest PsyREG.DLL, PsyREGd.DLL, and FTD2XX.DLL from the PsyREG API 'bin' directory to your application's binary directory.
Why isn't my device being enumerated?
If your application compiles and runs, but your device is not listed, then check the following. Did you properly install the device as outlined in the user manual? Can the device be enumerated in a Psyleron Application such as Fieldreg or Reflector (check the settings menus)? If not, disconnect and reconnect the device.
Ensure that your device is not in use by another application like FieldREG or Psyleron Reflector. A Device can not be enumerated if it is currently 'Opened' by any application. Those Psyleron applications will only 'Open' a device when you start a session or run a module respectively. If in doubt, close those programs entirely. Ensure that no hidden processes are running that might use the device. Check for instances of your application running in the background.
If there is a problem enumerating the device in Psyleron applications after the above, contact support@psyleron.com
Do the sample applications that came with this SDK work? If you have successfully tried all of the above, then the issue is almost certainlty with your application and not with the device or API. Compare your code to the sample applications.
Why isn't my device Open()ing
REG-1 Devices should open instantly, and should only fail if the device is disconnected already Opened by any process. If Open()ing a device multiple times in one process, be sure that you have Close()ed the device before tring to Open again.
In some cases, attempting to Open() a device that is already Opened will cause the call to block until the device is Close()ed by the other owner.
Why can't I get any data?
Make sure you have a valid DataSource reference that is not equal to INVALID_DATASOURCE. Make sure that the source was Opened(). If the Get* functions still return 0, then check the status for error flags. If your device was Opened and is still connected, it is extremely unlikely that it will not provide any data.
Does the PsyREG API allow me to create PSEUDO-RANDOM sources for testing?
At this time, No.
Can I play with the lights on my hardware devices?
At this time, No.
What is up with the PsyREGAPIVersion function and PSYREG_API_VERSION constant, and why aren't they equal?
If you just compiled your application, and there is a mismatch in those values, it means your PsyREG API DLL is a different version than your header file. You need to get the correct header file for your DLL version. We recommend always updating to the lastest version. This feature is intended to prevent potential runtime errors caused by changes in the API binary files between releases.

Generated on Wed Apr 9 16:59:16 2008 for Psyleron SDK by  doxygen 1.5.5