aboutsummaryrefslogtreecommitdiffstats
path: root/asm
diff options
context:
space:
mode:
authorGravatar Peter McGoron 2023-04-07 19:49:53 +0000
committerGravatar Peter McGoron 2023-04-07 19:49:53 +0000
commit56c6523e15176ecb5eadeda803d7e54c165d69ca (patch)
tree72e0432d8574cfa21f64e51af7ebfaecd7b4a50b /asm
parentadd adc and dac switch (diff)
rerun test suite
Diffstat (limited to 'asm')
-rw-r--r--asm/ffi.py15
1 files changed, 5 insertions, 10 deletions
diff --git a/asm/ffi.py b/asm/ffi.py
index e7903af..11c6f39 100644
--- a/asm/ffi.py
+++ b/asm/ffi.py
@@ -60,7 +60,7 @@ class Reader:
class CEnv(Structure):
_fields_ = [
- ("dats", POINTER(POINTER(c_ubyte))),
+ ("dats", POINTER(CReader)),
("datlen", c_size_t),
("reg", POINTER(c_uint)),
("reglen", c_size_t),
@@ -68,7 +68,8 @@ class CEnv(Structure):
("stkptr", c_size_t),
("stklen", c_size_t),
("r_current", CReader),
- ("r_start", CReader)
+ ("r_start", CReader),
+ ("fd", c_int)
]
class RegisterOverflowError(Exception):
@@ -116,13 +117,7 @@ class Environment:
def getdat(self, n):
if n >= self.cenv.datlen or n < 0:
raise DataOverflowError(n)
- rdr = CReader()
- rdr.p = self.cenv.dats[n]
- # Python does not allow for direct pointer arithmetic
- rdr_p_v = addressof(rdr.p.contents)
- r_start_p_v = addressof(self.cenv.r_start.p)
-
- rdr.left = self.cenv.r_start.left - (rdr_p_v - r_start_p_v)
+ rdr = self.cenv.dats[n]
l = []
w = CWord()
@@ -143,7 +138,7 @@ class Environment:
def __init__(self, prog=None, reglen=32, datlen=32, stklen=4096, prglen=4096):
cenv = CEnv()
- cenv.dats = (POINTER(c_ubyte) * datlen)()
+ cenv.dats = (CReader * datlen)()
cenv.datlen = datlen
cenv.reglen = reglen
-id: svn://svn.linux1394.org/libraw1394/trunk@104 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-02-22Updates for new rawiso ioctl interface.Gravatar bencollins 3-37/+125 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@103 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-15add iso_xmit_sync() and iso_xmit_write(); clean up iso handling a bitGravatar dmaas 5-39/+161 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@102 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-15implement tag matching for rawiso receptionGravatar dmaas 3-4/+12 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@101 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-06back out previous commit - don't drop the legacy API just yetGravatar dmaas 6-173/+130 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@100 53a565d1-3bb7-0310-b661-cf11e63c67ab 2003-01-05emulate legacy ISO reception API on top of new rawiso APIGravatar dmaas 7-131/+174 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@99 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-24update iso API for multi-channel reception and new packet buffer layoutGravatar dmaas 4-123/+236 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@98 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20oops, irq_interval needs to be signedGravatar anonymous 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@97 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-20dmaas - renamed exported arm definitions into the raw1394_ namespace; ↵Gravatar anonymous 3-124/+48 brought kernel-raw1394.h back in sync with the kernel version git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@96 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-12-16rawiso updates:Gravatar dmaas 3-18/+25 - changed return type of rawiso xmit/recv handlers from int to enum raw1394_iso_disposition - added an ioctl (RAW1394_ISO_QUEUE_ACTIVITY) to force an ISO_ACTIVITY event into the queue. This is needed for handling RAW1394_ISO_DEFER, to kick us out of the next read() instead of sleeping forever. - removed references to "8-byte" isochronous header - this is an OHCI-specific implementation detail git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@95 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18fix cplusplus extern C blockGravatar ddennedy 1-4/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@94 53a565d1-3bb7-0310-b661-cf11e63c67ab 2002-11-18merged rawiso branchGravatar ddennedy 7-6/+488 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@93 53a565d1-3bb7-0310-b661-cf11e63c67ab