Python Forum
Issue while using ctypes in python
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Issue while using ctypes in python
#1
I have the below python script which I am using to collect data from a microcontroller using SPI communication. That part is working fine, however, now I am trying to implement CRC function from a c file.
import ctypes
lib = ctypes.CDLL('/home/pi/serial_communication/crc.so')
lib.crc32Word.argtypes = ctypes.c_uint32, ctypes.c_void_p, ctypes.c_uint32
lib.crc32Word.restype = ctypes.c_uint32

INTERRUPT_GPIO=12
pi.set_mode(INTERRUPT_GPIO, pigpio.INPUT)
C=0
 
def output_file_path(): return os.path.join(os.path.dirname(__file__), datetime.datetime.now().strftime("%dT%H.%M.%S") + ".csv")
 
def spi_process(gpio,level,tick):
    data = [0]*1024
    spi.xfer([0x02])
    with open(output_file_path(), 'w') as f:
        for x in range(1):
            spi.xfer2(data)
            values = struct.unpack("<" +"I"*256, bytes(data))
            C = lib.crc32Word(0xffffffff,data,len(data))
            f.write("\n")
            f.write("\n".join([str(x) for x in values]))
        print(C)

cb1=pi.callback(INTERRUPT_GPIO, pigpio.RISING_EDGE, spi_process)

while True:
    time.sleep(1)
The C function that I am trying to invoke from the python script is
crc32Word(uint32_t crc, const void *buffer, uint32_t size)
But when I run the above script, I receive error as:
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_innerself.run()
  File "/usr/lib/python3/dist-packages/pigpio.py", line 1213, in run cb.func(cb.gpio, newLevel, tick)
  File "2crc_spi.py", line 50, in spi_process
    C=lib.crc32Word(0xffffffff,data,len(data))
ctypes.ArgumentError: argument 2: <class 'TypeError'>: wrong type
One way to solve this is to use data = bytes([0]*1024). But if I use this method, the file stores 0s even if I am actually receiving data correctly (checked using logic analyzer).

Can someone please help? Thanks.
Reply


Messages In This Thread
Issue while using ctypes in python - by GiggsB - Mar-01-2022, 04:29 AM
RE: Issue while using ctypes in python - by GiggsB - Mar-01-2022, 05:31 AM
RE: Issue while using ctypes in python - by GiggsB - Mar-03-2022, 08:30 AM
RE: Issue while using ctypes in python - by GiggsB - Mar-27-2022, 03:38 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  using ctypes to use a dll in a python module dauriac 3 426 Mar-06-2024, 04:38 PM
Last Post: dauriac
  Trying to debug segfault in ctypes binding to Fortran bthomas 1 625 Sep-01-2023, 11:26 AM
Last Post: bthomas
  ctypes juliolop 7 1,463 Apr-20-2023, 03:33 PM
Last Post: Larz60+
  Ctypes and libffi.so.7 luxedo 1 6,084 Oct-23-2021, 09:24 PM
Last Post: DeaD_EyE
  possible ctypes and numpy conflict? herbal_rage 0 3,182 Apr-16-2020, 11:35 AM
Last Post: herbal_rage
  python kernell crash with a ctypes program Jstechg 1 3,527 Nov-24-2018, 02:37 PM
Last Post: Jstechg
  generating ctypes wrapper for a c library? brighteningeyes 9 7,174 Nov-04-2018, 02:31 AM
Last Post: brighteningeyes
  DLL library with ctypes Max20 0 2,924 Aug-19-2018, 11:15 AM
Last Post: Max20
  dll not loading to Ctypes Philbot 1 6,905 Jul-01-2018, 09:55 AM
Last Post: Philbot
  Error Ctypes in Windows rramosg 4 9,417 Oct-17-2017, 05:26 AM
Last Post: rramosg

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020