Hi, The error is generated because you are asking for a u8*, but the buffer is not a u8*, perhaps a char* or even a void*. If you change the method signature to either char* or void*, it may work like you want it to ;)
Matthieu 2008/4/10, Bill Davy <[EMAIL PROTECTED]>: > > Is there a better place to post such questions? > > Anyway, in the hope it is something simple, I would appreciate some help. > > I am adding some C++ code to Python. From Python I want to be able to > read > data from a target device, over USB. My software does all the hard work > and > I have a class: > > class ViperUsbC > { > public: > // snip snip > ERROR_T ReadSlaveMemory(u8 Slave, u16 Offset, u8* pData, u16 > Length); > // Snip,snip > }; > > I use swigwin-1.3.34 to wrap it into a module called SHIP. > > In Python, I have: > > import SHIP > ViperUsb = SHIP.ViperUsbC() > Slave =7 > Offset = 0 > Length = 64 > Buffer = 'a' * Length > print "type(Buffer)=%s" % type(Buffer) > print "len(Buffer)=%s" % len(Buffer) > Result = ViperUsb.ReadSlaveMemory(Slave, Offset, Buffer, Length); > > That fails with: > > type(Buffer)=<type 'str'> > len(Buffer)=64 > > Traceback (most recent call last): > File "H:\Husky\HostPC\V1\SHIP\test1.py", line 1970, in -toplevel- > ViperTests() > File "H:\Husky\HostPC\V1\SHIP\test1.py", line 1884, in ViperTests > Result = ViperUsb.ReadSlaveMemory(Slave, Offset, Buffer, Length); > File "H:\Husky\HostPC\V1\SHIP\Release\SHIP.py", line 1757, in > ReadSlaveMemory > def ReadSlaveMemory(*args): return > _SHIP.ViperUsbC_ReadSlaveMemory(*args) > TypeError: in method 'ViperUsbC_ReadSlaveMemory', argument 4 of type 'u8 > *' > > > How do I provide a buffer into which to read the data? It would not be > intolerable to provide another layer using %extend, but I feel sure this > should be automagic. > > Thanks in advance > Bill > > PS This is a very small part of a much larger project so I cannot supply > complete source code. > > > > -- > http://mail.python.org/mailman/listinfo/python-list > -- French PhD student Website : http://matthieu-brucher.developpez.com/ Blogs : http://matt.eifelle.com and http://blog.developpez.com/?blog=92 LinkedIn : http://www.linkedin.com/in/matthieubrucher
-- http://mail.python.org/mailman/listinfo/python-list