Implementing new hardware in PRiSM, use of DLLs as device drivers.


In computers, a dynamic link library (DLL) is a collection of small programs, any of which can be called when needed by a larger program that is running in the computer. The small program that lets the larger program communicate with a specific device such as a printer or scanner is often packaged as a DLL program (usually referred to as a DLL file). DLL files that support specific device operation are known as device drivers.
The advantage of DLL files is that, because they don't get loaded into random access memory (RAM) together with the main program, space is saved in RAM. When and if a DLL file is needed, then it is loaded and run. For example, as long as a user of Microsoft Word is editing a document, the printer DLL file does not need to be loaded into RAM. If the user decides to print the document, then the Word application causes the printer DLL file to be loaded and run.

A DLL file is often given a ".dll" file name suffix. DLL files are dynamically linked with the program that uses them during program execution rather than being compiler with the main program. The set of such files (or the DLL) is somewhat comparable to the library routines provided with programming languages such as Delphi, Visual basic, C and C++.

DLL = "Dynamic Link Library"

Prism features DLL mechanisms to access most astronomical Hardware, such as telescope engines, focuser, dome control and so on... This allows any users to implement its own hardware, despites this one is not by default implemented to Prism. It makes PRISM hardware-wise completely open For each DLL, a simulator has been written, so that the behavior with Prism of the DLL can be tested without any specific hardware.

In case of missing files, incorrect path, or any question regarding the coding of DLLs, fell free to ask questions (see end of page).

Here explained how to install them...


All DLL binary file must be put in the same directory where the Prism.exe file is located

All source code here have been made using Delphi 6 / 7, but the DLL interface is C/C++ compliant.

CCD Cameras

DLL File name : CCD_Driver.dll
Documentation : Word Doc file
DLL is applicable for Prism release >= 5.00.70

Type
Compiled DLL binary
Hardware interface
Source code file package (zip)
Generic simulator
Get it here
None
Delphi code (Author C.Cavadore)
Ethernaude cameras
Get it here
Ethernet + UDP protocol
Delphi code (Author C.Cavadore)
FLI
Get it here
Depends on FLI's DLL
On request (email me please)

 

Telescope drives and encoders

DLL File name : Telescope.dll
Documentation : Included in source code
DLL is applicable for Prism release >= 5.00.70

Type
Compiled DLL binary
Hardware interface
Source code file package (zip)
Generic simulator
Get it here
None
Delphi code (Author C.Cavadore)
Astrophysics Goto
Coming soon
RS232 serial
Delphi code (Author S.Charbonnel)
T55 Pic Du Midi
On request
TCP/IP Internet
On request (email me please)
Ouranos
Here
RS232 serial
On request (email me please)

Focusers

DLL File name : Focuser.dll
Documentation : Included in source code
DLL is applicable for Prism release >= 5.00.80

Type
Compiled DLL binary
Hardware interface
Source code file package (zip)
Generic simulator
Get it here
None
Delphi code (Author C.Cavadore)
RoboFocus
Get it here
RS232
Delphi code (Author C.Cavadore)
Foc MMMT
On request
TCP/IP Internet
On request (email me please)

Dome and shelters control

DLL File name : Dome.dll
Documentation : Included in source code
DLL is applicable for Prism release >= 5.00.90

Type
Compiled DLL binary
Hardware interface
Source code file package (zip)
Generic simulator
Get it here
None
Delphi code (Author C.Cavadore)
Ether Dome
On request
On request
On request

 

Filter wheels

DLL File name : Filter_DLL.dll
Documentation : Included in source code
DLL is applicable for Prism release >= 5.00.90

Type
Compiled DLL binary
Hardware interface
Source code file package (zip)
True Type technology
Get it here
None
Delphi code (Author C.Cavadore) (1)

.(1) Serves also as a simulator provided the compiler directive is set to behave so.


Email Contact : cyril.cavadore _at_ laposte.net , replace ### by the proper character back to my homepage