|
From: Joe P. <joe...@sn...> - 2000-11-10 23:52:56
|
On Wed, 01 Nov 2000, David Paschal wrote: <...> I tried it again, and sure enough, > the original xojpanel didn't scroll and the new one does, meaning that as > you said, the peripheral reports the whole string, even on the 570. > I got the same impression originally. I remembered seeing something scroll, but it must have been text scrolling in the titlebar, which is only a little smaller than the original xojpanel app itself. > The fallback-to-current-directory feature is broken. I had to create a > symlink from /usr/local/share/pixmaps/hpoj in order for xojpanel to work. > I looked in the code, and for hpojlcd.xpm and ojforlinux.xpm, you're > printing an error message and returning a failure code before you even > try to load from the current directory. Try deleting or renaming your > /usr/local/share/pixmaps/hpoj directory and you'll see what I mean. It's fixed now. > > If you can get "hpo set" working, can you get it to automatically set the > > Time/Date on the printer? The 600's clock has to be reset every time the > > printer is turned on. > That should work. According to the documentation I have, > OID_DEV_DATE_AND_TIME takes a binary structure consisting of the following > bytes: year (presumably the last two digits), month, day, day of week, > hour, minute, and second. However, I'm surprised that the peripheral doesn't > keep up with the date/time while powered off. Does it forget it both when > you power it off just with the power button, or when you physically unplug > it? I'm not familiar with this particular model, so perhaps this is how > it was designed, or perhaps it has a dead battery or something like that. > The 600 doesn't have a battery. I checked again, and found hat its clock will keep running as long as the printer remains connected to ac power. Some data is retained by the printer even if it's disconnected from ac power, but the clock is apparently designed to be synchronized with the computer's clock, so it gets set by software on the computer. The problem is that I turn the whole system on and off with the switch on a surge suppressor. It's a bit easier to hit one switch than three or more. Many people probably turn their system on and off this way. It works well under windows, because the software sets up the printer automatically when both are started together. If the "hpoj driver" could set up the printer automatically, it would be ideal. I didn't spend much time trying "hpo set", but all I got from it was "Sorry, set not yet implemented." > Here are some other suggestions offhand from my first time of playing around > with your new version of xojpanel: < - Don't distribute "Makefile". I only put the necessary files in the tarball this time, not the whole directory. > - It might be nice to scroll a little faster, but when it scrolls to the end, > delay for a second or two before you start over. Perhaps you could make the > scroll rate and end-of-scroll delay configurable. xojpanel now has independantly configurable: printer poll interval (in milliseconds.) scroll advance interval (in milliseconds.) scroll start delay (in "scrolls" skipped.) scroll end delay (in "scrolls" skipped.) > - The second line does scroll. However, for some reason, the peripheral > returns a large number of trailing spaces on the second line, which is > visible even with "hpo get OID_STATUS_MSG_LINE2_PART1". This means that > every 2nd-line message scrolls away and stays blank for a while. I would > suggest that for both lines, you strip trailing (but probably not leading) > whitespace as soon as you read them from the peripheral. > Whitespace is now stripped from the trailing end of all messages coming from the printer. I found that some of the messages contain control characters in addition to spaces. The negative of isgraph() is used to filter them out, which will work for all versions of Qt. Are there any OfficeJets that output unicode to their LCD? Guessing that some may be able to, I added some code to the stripping function that takes advantage of the unicode features of qt-2.x . The qt-2.x code will strip ascii as well. It can't be used with qt-1.xx, though, because there is no unicode support in those versions. "#ifdef UNICODE_SUPPORT" in ojstatus.cpp will control which code is used, though if it can be done, it would be better to do that automatically from the configure script, based on the Qt version being used. That's if unicode support is even necessary. Using it doesn't seem to hurt, though. > - I would prefer that you replaced "Oj" in the titlebar with either > "OfficeJet" or "HP OfficeJet". The titlebar reads "OfficeJet Status" now. > - What does the asterisk after "Linux" mean? Just decoration. It's gone. > - I like your Line2TestString. :-) > > Overall I like your new version a lot. Good job, and thanks for working on > this! > > David > Thanks very much. Starting a second copy of xojpanel still causes the first copy to freeze, though. xojpanel doesn't call PMLClose() until just before exiting, which may be part of the problem. I'm not familiar enough with system programming to mess around very much with that. The original xojpanel code for retrieving the LCD messages is still there. I know what it does, but not how it operates. You might want to take a look at the old code to see if I've used it correctly. I have the latest code on my site. http://pages.cthome.net/jsp/hpoj-linux-gui/index.html I hope people like this latest snapshot. It seems to work much better. ------------------- Joe |