Battery check through IL?
|
10-09-2024, 11:41 PM
Post: #1
|
|||
|
|||
Battery check through IL?
I was assuming there would be one bit of the status byte you can request from HP-IL devices that would reflect the low battery status, after all there is an LED on the front panel that indicates that, and it is useful information to have.
But I found it is not listed in the translation of the status byte for neither the 82162A printer nor the 82161A cassette drive. Am I missing it somehow? Does anybody know of a way for the controller to know if a device in the loop is running out of juice? Thanks, Juan |
|||
10-10-2024, 01:46 AM
Post: #2
|
|||
|
|||
RE: Battery check through IL?
The 71B can get this data using the SPOLL (Serial Poll command, see pp. 189-192 of the 71B HP-IL Interface Module Owner's Manual, where it explains how to interpret the status byte, which includes low battery status. I don't know if the 41C can access this, but if it can, it's most likely possible using the Extended I/O Module.
The 71B HP-IL manual is here: https://literature.hpcalc.org/items/492 --Bob Prosperi |
|||
10-10-2024, 04:40 AM
Post: #3
|
|||
|
|||
RE: Battery check through IL?
Hi Bob, thanks for the pointer, I think that is it and I can do it on the 41 with the INSTAT function in the basic IL module. The manual is not very helpful, it just says go find the meaning of those bits in the device manual, and the device manual does not give the meaning of the system status prescribed by the interface definition.
Low battery is Bit 0, so I guess they thought it important enough! Juan |
|||
10-10-2024, 07:12 AM
Post: #4
|
|||
|
|||
RE: Battery check through IL?
(10-09-2024 11:41 PM)born2laser Wrote: But I found it is not listed in the translation of the status byte for neither the 82162A printer nor the 82161A cassette drive. The 82161 and 82162 manuals both list the meaning of the status byte(s), but strangely there is no status state (for the 82161) or status bit (for the 82162) that reflects a low battery condition. The 9114 disc drive is using almost the same status states than the 82161, but adds or changes some of them, and status state = 21 now means low battery. J-F |
|||
10-10-2024, 12:28 PM
Post: #5
|
|||
|
|||
RE: Battery check through IL?
(10-10-2024 04:40 AM)born2laser Wrote: Hi Bob, thanks for the pointer, I think that is it and I can do it on the 41 with the INSTAT function in the basic IL module. The manual is not very helpful, it just says go find the meaning of those bits in the device manual, and the device manual does not give the meaning of the system status prescribed by the interface definition. Very good Juan, I have no memory at all of what the INSTAT function does. I've found HP-IL on the 41C to be quite slow and frustrating, so I really have not explored it in decades, and never in-depth. Having learned to use HP-IL first on the 71B, using it on a 41 is incredibly slow and limited, so I've never dug into anything but simple user-level features like copying tapes, program listings, etc. --Bob Prosperi |
|||
10-11-2024, 03:44 AM
(This post was last modified: 10-11-2024 03:51 AM by Sylvain Cote.)
Post: #6
|
|||
|
|||
RE: Battery check through IL?
Each HP-IL peripheral defined what it wants to publish and how to do it.
The HP-IL module function INSTAT (input status) is only able to get the first byte of the peripheral status byte array. The HP-IL Extended-I/O module function STAT (read device status) is able to get the peripheral status byte array of up to 23 bytes long. HP-IL loop test setup Code: Addr Device Example #1: the 82161A Cassette Drive publish a 1-byte status that contains the following ... Code: Status Binary Condition Definition 82161A Cassette Drive Status (1 byte) [no tape in drive] Code: 2 ; 82161A Cassette Drive address HP-IL messages tracing extract Code: IL Scope #1 IL Scope #2 Example #2: the 82162A Thermal Printer publish a 2-bytes status that contains the following ... Code: Status __MSB___:__LSB___ Name Definition 82162A Thermal Printer Status (2 bytes) Code: 1 ; 82162A Thermal Printer address HP-IL messages tracing extract Code: IL Scope #1 IL Scope #2 edit: typos Sylvain Côté |
|||
10-11-2024, 06:16 AM
Post: #7
|
|||
|
|||
RE: Battery check through IL?
Thanks Sylvain, your summary is what I had found from reading the manuals (as also pointed out by J-F) and motivated my initial post . There is no indication that either the printer or the tape drive report a low battery condition.
As I confirmed today (after working the tape to reduce the battery charge) the first byte returned (and checked with INSTAT) is always the device dependent status byte, as indicated in the manuals, bit 7 is always 0. What had given me hope was this blurb in the manual for the HP71B HP-IL module The first status byte sent by a device has special significance. If that byte is expressed as an eight-bit binary number, the bits have the following meanings: * Bit 7 indicates the type of status represented by that byte. “0” Device status. “1” System status. * Bits 6 through 0 indicate the condition of the device. The state of bit 7 (the most significant bit) defines two ranges of status bytes: o System status, which can have values from 128 through 255. The conditions indicated by bits 6 through 0 have been defined by HP-IL conventions. o Device status, which can have values from 0 through 127. The conditions indicated by bits 6 through 0 are not defined in general—they’re defined differently for each device. That made me think the first status byte (device) would be replaced in the right conditions by the system status referred to in the 71 manual, which I now come to realize was wishful thinking. My only possible interpretation then is the choice of what to send as the first status byte is left to the device manufacturer, they can choose to send the "System" status, in which case they have to conform to the bit definition table set in the standard or send a custom defined byte, which is what HP did for all these. Bottom line, there is no way to check for battery condition through HP-IL for my two devices, regardless if using a 41 or a 71. Thanks for playing! Juan |
|||
10-11-2024, 07:04 AM
(This post was last modified: 10-12-2024 03:54 AM by brouhaha.)
Post: #8
|
|||
|
|||
RE: Battery check through IL?
The 82161A and 82162A, being the first shipped HP-IL peripheral products, were based on the then-relatively-cheap MK3870-series microcontrollers that had little program memory (probably 2KiB) and very little RAM (128.bytes, so the tape drive actually needed a separate 2114 (or equivalent) 1Kx4 RAM chip for the buffers). It is quite likely that the ROM was full before they got all of the features they wanted into these products, so some things had to be left out. These products were in development before the HP-IL specification was completed, so the battery state reporting in the system status byte may not have been defined by the time of the firmware freeze. There might not yet have been a defined system status byte at all.
When these started development, more advanced and capable single-chip microcontrollers such as the Intel 8051 and Motorola MC68HC11 families had not yet been introduced. The 9114 floppy drive is an example of a later HP-IL peripheral with a much more complete and standard-compliant HP-IL implementation. In order to achieve that, they had to use a general-purpose microprocessor (Motorola MC6809) with separate RAM and EPROM, rather than a single-chip microcontroller. |
|||
10-11-2024, 12:10 PM
Post: #9
|
|||
|
|||
RE: Battery check through IL?
(10-11-2024 03:44 AM)Sylvain Cote Wrote: Each HP-IL peripheral defined what it wants to publish and how to do it. I'm glad that's the case as it means my gut instinct (aka ever weakening memory) was right about using the Ext-I/O to get the more detailed status. This implies I did this at some time in the 80's but have no recall what for, though almost certainly with my then-new 41CX and 82161A drive, just to what the status bits were... --Bob Prosperi |
|||
10-11-2024, 06:29 PM
Post: #10
|
|||
|
|||
RE: Battery check through IL?
(10-11-2024 12:10 PM)rprosperi Wrote: I'm glad that's the case as it means my gut instinct (aka ever weakening memory) was right about using the Ext-I/O to get the more detailed status. This implies I did this at some time in the 80's but have no recall what for, though almost certainly with my then-new 41CX and 82161A drive, just to what the status bits were... Bob, you were indeed correct and I thank you for trying to help. Turns out that the advantage of using the Ext-I/O module is being able to see more of the device response, instead of just the first byte, which for the case of the tape drive -the one I was most interested in- makes no difference whatsoever because it only returns one byte. Juan |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)