(let's try this again, and actually send it to the list this time) On Wed, Apr 23, 2008 at 11:02 AM, blaine <[EMAIL PROTECTED]> wrote: > Hey everyone, > So I've got a quick query for advice. > > We have an embedded device in which we are displaying to an LCD > device that sits at /dev/screen. This device is not readily available > all the time, so I am needing to write an emulator. This will > basically just monitor a file, /dev/screen for example, and write the > commands to a TK or WxWindows canvas. > > So sending 'line 0 0 10 10' will draw a line on my canvas from (0,0) > to (10,10). > > My question: Whats the best way to set up a monitor (in python) of > this file? Would I simply open up the file for read, check for > changes, get any updated data, and clear the file? Or is there some > standard way of doing something like this that guarantees no overlap > or data loss? > > example usage: echo 'line 0 0 10 10' > /dev/screen > > On the actual embedded device this is handled by a kernel module. We > can spit commands into it as fast as we can and the kernel module can > keep up. This is typical unix device file behavior. > > Any suggestions or advice would be splendid. Thanks! > Blaine > -- > http://mail.python.org/mailman/listinfo/python-list >
've only interacted with device files from python that I was only reading from. And I guess technically they were under /proc and /sys, rather than /dev, although they may be handled the same way. Anyway, in that case my method was basically to open the file, read it, close it, do whatever processing I needed to do on the data, sleep for some interval...lather, rinse, repeat. Sleeping for some interval may or may not be appropriate in your case. I know in the case of /proc files and /sys files, the files are generated on demand by the kernel and relevant kernel structures are basically printed to a string and copied into a page in memory that the user program can access. AFAIK, you can seek back and forth through them, but I don't know whether the data in the page is updated on a seek, so you may have to close and reopen the file ever iteration to see what's changed. HTH, -dan -- http://mail.python.org/mailman/listinfo/python-list