On Fri, Jan 9, 2009 at 08:08, Neal Becker <ndbeck...@gmail.com> wrote: > Robert Kern wrote: > >> On Fri, Jan 9, 2009 at 06:05, Neal Becker <ndbeck...@gmail.com> wrote: >>> I'm working on interfacing to a custom FPGA board. The kernel driver >>> exposes the FPGA memory via mmap. >>> >>> It might be nice to use numpy memmap to read/write data. One issue is >>> that I think I will need to create the memmap array from a fd, not a file >>> name. The reason is I wrote the driver to only allow 1 exclusive open, >>> and I already have it open for other reasons. Any chance to create a >>> memmap array from a fd? >> >> Use os.fdopen(fd) to create a file object which can be passed to the >> memmap constructor. >> > > Looks like this is not going to work without some change to memmap. The > problem is, I need read/write access. The only choice in memmap is 'w+'.
'r+' is for reading and writing. > But this does: > if (mode == 'w+') and shape is None: > raise ValueError, "shape must be given" > > fid.seek(0,2) > > My device has hijacked 'read' to mean something entirely different than you > might expect. The seek call invokes 'read'. > > It looks like the purpose of this code is to find the size of the mappable > area. The best solution I think is just throw it away. We can't. We need it. > Consistent with mmap semantics, attempting access outside the mappable area > should cause and error - but I don't think there is any reliable way to know > the length of the mappable area apriori. For regular files, that seems to me to be fairly reliable. Why isn't it? -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion