unitree_sdk2_python/unitree_sdk2py/utils/clib_lookup.py

18 lines
386 B
Python

import os
import ctypes
clib = ctypes.CDLL(None, use_errno=True)
def CLIBCheckError(ret, func, args):
if ret < 0:
code = ctypes.get_errno()
raise OSError(code, os.strerror(code))
return ret
def CLIBLookup(name, resType, argTypes):
func = clib[name]
func.restye = resType
func.argtypes = argTypes
func.errcheck = CLIBCheckError
return func