Files
navigate/pylablib/Andor/atcore_defs.py
2025-12-04 17:02:49 +08:00

267 lines
13 KiB
Python

########## This file is generated automatically based on atcore.h ##########
# pylint: disable=unused-import, unused-argument, wrong-spelling-in-comment
import ctypes
import enum
from ...core.utils import ctypes_wrap
def _int32(v): return (v+0x80000000)%0x100000000-0x80000000
##### DEFINE GROUPS #####
class AT_ERR(enum.IntEnum):
AT_SUCCESS = _int32(0)
AT_ERR_NOTINITIALISED = _int32(1)
AT_ERR_NOTIMPLEMENTED = _int32(2)
AT_ERR_READONLY = _int32(3)
AT_ERR_NOTREADABLE = _int32(4)
AT_ERR_NOTWRITABLE = _int32(5)
AT_ERR_OUTOFRANGE = _int32(6)
AT_ERR_INDEXNOTAVAILABLE = _int32(7)
AT_ERR_INDEXNOTIMPLEMENTED = _int32(8)
AT_ERR_EXCEEDEDMAXSTRINGLENGTH = _int32(9)
AT_ERR_CONNECTION = _int32(10)
AT_ERR_NODATA = _int32(11)
AT_ERR_INVALIDHANDLE = _int32(12)
AT_ERR_TIMEDOUT = _int32(13)
AT_ERR_BUFFERFULL = _int32(14)
AT_ERR_INVALIDSIZE = _int32(15)
AT_ERR_INVALIDALIGNMENT = _int32(16)
AT_ERR_COMM = _int32(17)
AT_ERR_STRINGNOTAVAILABLE = _int32(18)
AT_ERR_STRINGNOTIMPLEMENTED = _int32(19)
AT_ERR_NULL_FEATURE = _int32(20)
AT_ERR_NULL_HANDLE = _int32(21)
AT_ERR_NULL_IMPLEMENTED_VAR = _int32(22)
AT_ERR_NULL_READABLE_VAR = _int32(23)
AT_ERR_NULL_READONLY_VAR = _int32(24)
AT_ERR_NULL_WRITABLE_VAR = _int32(25)
AT_ERR_NULL_MINVALUE = _int32(26)
AT_ERR_NULL_MAXVALUE = _int32(27)
AT_ERR_NULL_VALUE = _int32(28)
AT_ERR_NULL_STRING = _int32(29)
AT_ERR_NULL_COUNT_VAR = _int32(30)
AT_ERR_NULL_ISAVAILABLE_VAR = _int32(31)
AT_ERR_NULL_MAXSTRINGLENGTH = _int32(32)
AT_ERR_NULL_EVCALLBACK = _int32(33)
AT_ERR_NULL_QUEUE_PTR = _int32(34)
AT_ERR_NULL_WAIT_PTR = _int32(35)
AT_ERR_NULL_PTRSIZE = _int32(36)
AT_ERR_NOMEMORY = _int32(37)
AT_ERR_DEVICEINUSE = _int32(38)
AT_ERR_DEVICENOTFOUND = _int32(39)
AT_ERR_HARDWARE_OVERFLOW = _int32(100)
dAT_ERR={a.name:a.value for a in AT_ERR}
drAT_ERR={a.value:a.name for a in AT_ERR}
class AT_HANDLE(enum.IntEnum):
AT_HANDLE_UNINITIALISED = _int32(-1)
AT_HANDLE_SYSTEM = _int32(1)
dAT_HANDLE={a.name:a.value for a in AT_HANDLE}
drAT_HANDLE={a.value:a.name for a in AT_HANDLE}
##### TYPE DEFINITIONS #####
BYTE=ctypes.c_ubyte
PBYTE=ctypes.POINTER(BYTE)
CHAR=ctypes.c_char
PCHAR=ctypes.c_char_p
UCHAR=ctypes.c_ubyte
PUCHAR=ctypes.POINTER(UCHAR)
ULONG_PTR=ctypes.c_uint64
LONG_PTR=ctypes.c_int64
WORD=ctypes.c_ushort
LPWORD=ctypes.POINTER(WORD)
LONGLONG=ctypes.c_int64
LPLONG=ctypes.POINTER(ctypes.c_long)
HANDLE=ctypes.c_void_p
LPHANDLE=ctypes.POINTER(HANDLE)
HWND=ctypes.c_void_p
HGLOBAL=ctypes.c_void_p
HINSTANCE=ctypes.c_void_p
HDC=ctypes.c_void_p
HMODULE=ctypes.c_void_p
HKEY=ctypes.c_void_p
PVOID=ctypes.c_void_p
LPVOID=ctypes.c_void_p
AT_H=ctypes.c_int
AT_BOOL=ctypes.c_int
AT_64=ctypes.c_longlong
AT_U8=ctypes.c_ubyte
AT_WC=ctypes.c_wchar
FeatureCallback=ctypes.c_void_p
##### FUNCTION DEFINITIONS #####
def addfunc(lib, name, restype, argtypes=None, argnames=None):
if getattr(lib,name,None) is None:
setattr(lib,name,None)
else:
func=getattr(lib,name)
func.restype=restype
if argtypes is not None:
func.argtypes=argtypes
if argnames is not None:
func.argnames=argnames
def define_functions(lib):
# ctypes.c_int AT_InitialiseLibrary()
addfunc(lib, "AT_InitialiseLibrary", restype = ctypes.c_int,
argtypes = [],
argnames = [] )
# ctypes.c_int AT_FinaliseLibrary()
addfunc(lib, "AT_FinaliseLibrary", restype = ctypes.c_int,
argtypes = [],
argnames = [] )
# ctypes.c_int AT_Open(ctypes.c_int CameraIndex, ctypes.POINTER(AT_H) Hndl)
addfunc(lib, "AT_Open", restype = ctypes.c_int,
argtypes = [ctypes.c_int, ctypes.POINTER(AT_H)],
argnames = ["CameraIndex", "Hndl"] )
# ctypes.c_int AT_Close(AT_H Hndl)
addfunc(lib, "AT_Close", restype = ctypes.c_int,
argtypes = [AT_H],
argnames = ["Hndl"] )
# ctypes.c_int AT_RegisterFeatureCallback(AT_H Hndl, ctypes.c_wchar_p Feature, FeatureCallback EvCallback, ctypes.c_void_p Context)
addfunc(lib, "AT_RegisterFeatureCallback", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, FeatureCallback, ctypes.c_void_p],
argnames = ["Hndl", "Feature", "EvCallback", "Context"] )
# ctypes.c_int AT_UnregisterFeatureCallback(AT_H Hndl, ctypes.c_wchar_p Feature, FeatureCallback EvCallback, ctypes.c_void_p Context)
addfunc(lib, "AT_UnregisterFeatureCallback", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, FeatureCallback, ctypes.c_void_p],
argnames = ["Hndl", "Feature", "EvCallback", "Context"] )
# ctypes.c_int AT_IsImplemented(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_BOOL) Implemented)
addfunc(lib, "AT_IsImplemented", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_BOOL)],
argnames = ["Hndl", "Feature", "Implemented"] )
# ctypes.c_int AT_IsReadable(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_BOOL) Readable)
addfunc(lib, "AT_IsReadable", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_BOOL)],
argnames = ["Hndl", "Feature", "Readable"] )
# ctypes.c_int AT_IsWritable(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_BOOL) Writable)
addfunc(lib, "AT_IsWritable", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_BOOL)],
argnames = ["Hndl", "Feature", "Writable"] )
# ctypes.c_int AT_IsReadOnly(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_BOOL) ReadOnly)
addfunc(lib, "AT_IsReadOnly", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_BOOL)],
argnames = ["Hndl", "Feature", "ReadOnly"] )
# ctypes.c_int AT_SetInt(AT_H Hndl, ctypes.c_wchar_p Feature, AT_64 Value)
addfunc(lib, "AT_SetInt", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, AT_64],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_GetInt(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_64) Value)
addfunc(lib, "AT_GetInt", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_64)],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_GetIntMax(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_64) MaxValue)
addfunc(lib, "AT_GetIntMax", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_64)],
argnames = ["Hndl", "Feature", "MaxValue"] )
# ctypes.c_int AT_GetIntMin(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_64) MinValue)
addfunc(lib, "AT_GetIntMin", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_64)],
argnames = ["Hndl", "Feature", "MinValue"] )
# ctypes.c_int AT_SetFloat(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_double Value)
addfunc(lib, "AT_SetFloat", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_double],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_GetFloat(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(ctypes.c_double) Value)
addfunc(lib, "AT_GetFloat", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(ctypes.c_double)],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_GetFloatMax(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(ctypes.c_double) MaxValue)
addfunc(lib, "AT_GetFloatMax", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(ctypes.c_double)],
argnames = ["Hndl", "Feature", "MaxValue"] )
# ctypes.c_int AT_GetFloatMin(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(ctypes.c_double) MinValue)
addfunc(lib, "AT_GetFloatMin", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(ctypes.c_double)],
argnames = ["Hndl", "Feature", "MinValue"] )
# ctypes.c_int AT_SetBool(AT_H Hndl, ctypes.c_wchar_p Feature, AT_BOOL Value)
addfunc(lib, "AT_SetBool", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, AT_BOOL],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_GetBool(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(AT_BOOL) Value)
addfunc(lib, "AT_GetBool", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(AT_BOOL)],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_SetEnumIndex(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_int Value)
addfunc(lib, "AT_SetEnumIndex", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_int],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_SetEnumString(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_wchar_p String)
addfunc(lib, "AT_SetEnumString", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_wchar_p],
argnames = ["Hndl", "Feature", "String"] )
# ctypes.c_int AT_GetEnumIndex(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(ctypes.c_int) Value)
addfunc(lib, "AT_GetEnumIndex", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(ctypes.c_int)],
argnames = ["Hndl", "Feature", "Value"] )
# ctypes.c_int AT_GetEnumCount(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(ctypes.c_int) Count)
addfunc(lib, "AT_GetEnumCount", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(ctypes.c_int)],
argnames = ["Hndl", "Feature", "Count"] )
# ctypes.c_int AT_IsEnumIndexAvailable(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_int Index, ctypes.POINTER(AT_BOOL) Available)
addfunc(lib, "AT_IsEnumIndexAvailable", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_int, ctypes.POINTER(AT_BOOL)],
argnames = ["Hndl", "Feature", "Index", "Available"] )
# ctypes.c_int AT_IsEnumIndexImplemented(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_int Index, ctypes.POINTER(AT_BOOL) Implemented)
addfunc(lib, "AT_IsEnumIndexImplemented", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_int, ctypes.POINTER(AT_BOOL)],
argnames = ["Hndl", "Feature", "Index", "Implemented"] )
# ctypes.c_int AT_GetEnumStringByIndex(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_int Index, ctypes.c_wchar_p String, ctypes.c_int StringLength)
addfunc(lib, "AT_GetEnumStringByIndex", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_int, ctypes.c_wchar_p, ctypes.c_int],
argnames = ["Hndl", "Feature", "Index", "String", "StringLength"] )
# ctypes.c_int AT_Command(AT_H Hndl, ctypes.c_wchar_p Feature)
addfunc(lib, "AT_Command", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p],
argnames = ["Hndl", "Feature"] )
# ctypes.c_int AT_SetString(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_wchar_p String)
addfunc(lib, "AT_SetString", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_wchar_p],
argnames = ["Hndl", "Feature", "String"] )
# ctypes.c_int AT_GetString(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.c_wchar_p String, ctypes.c_int StringLength)
addfunc(lib, "AT_GetString", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.c_wchar_p, ctypes.c_int],
argnames = ["Hndl", "Feature", "String", "StringLength"] )
# ctypes.c_int AT_GetStringMaxLength(AT_H Hndl, ctypes.c_wchar_p Feature, ctypes.POINTER(ctypes.c_int) MaxStringLength)
addfunc(lib, "AT_GetStringMaxLength", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.c_wchar_p, ctypes.POINTER(ctypes.c_int)],
argnames = ["Hndl", "Feature", "MaxStringLength"] )
# ctypes.c_int AT_QueueBuffer(AT_H Hndl, ctypes.POINTER(AT_U8) Ptr, ctypes.c_int PtrSize)
addfunc(lib, "AT_QueueBuffer", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.POINTER(AT_U8), ctypes.c_int],
argnames = ["Hndl", "Ptr", "PtrSize"] )
# ctypes.c_int AT_WaitBuffer(AT_H Hndl, ctypes.POINTER(ctypes.POINTER(AT_U8)) Ptr, ctypes.POINTER(ctypes.c_int) PtrSize, ctypes.c_uint Timeout)
addfunc(lib, "AT_WaitBuffer", restype = ctypes.c_int,
argtypes = [AT_H, ctypes.POINTER(ctypes.POINTER(AT_U8)), ctypes.POINTER(ctypes.c_int), ctypes.c_uint],
argnames = ["Hndl", "Ptr", "PtrSize", "Timeout"] )
# ctypes.c_int AT_Flush(AT_H Hndl)
addfunc(lib, "AT_Flush", restype = ctypes.c_int,
argtypes = [AT_H],
argnames = ["Hndl"] )