Revision D 12/09Chapter 4: Programming Commands 115
User storage status (ColorPOS®)
ASCII |
| GS 0x97 m n |
Hexadecimal | 1D 97 m n | |
Decimal |
| 29 151 m n |
Value of m: | m specifies the type of stored object to be reported: | |
m = 0 | return the kilobytes (1024) of free user RAM, | |
| n = 0 gets largest free block size | |
| n = 1 gets the total size free | |
m = 1 | return the kilobytes of free character & logo flash memory, n = 0 | |
m = 3 | return the CRC of a logo indexed by n | |
m = 5 | return the CRC of a macro that has been stored, n = 0 | |
For m = | 0 the value of n selects a return of either the largest free block or total free size, since contiguous allocation cannot | |
| be assumed as this area is completely under user control through address parameters. | |
n = 0 | if only one instance of an object type is allowed (macro, user data, user defined characters). |
nis the item index when more than one object of type m is possible
n <= FE, see the comments about logo and character set indexes n = FF : return a list describing all the existing items of type m
Note: When a specific item request is made, a returned CRC value of 0 0 indicates that no item is stored at that index. There is a practically negligible possibility that a valid object will have a 0 0 CRC; if this is of concern, applications should check the object downloaded byte sequence to verify that this is not the case (as well as store the CRC as an “ID” for the object if needed later for return value comparisons).
Downloaded character sets are identified by integer extending the existing code page selection as enumerated in the select international character set (= select character code table) command. The firmware standard list is incrementally extended each time a new single or double byte set is downloaded.
Single byte downloaded fonts are selected by m = 3 and 0x40 <= n < 0x80.
Since there are only three
This command returns the state of occupancy of available flash storage and user RAM. The printer response for each item is a 4 byte header, 0x1D 0x97 nL nH (number of bytes that follow in the response) and for each item a 4 byte structure: 1st m (type) byte, 2nd n index byte followed by a 2 byte CRC in Lo Hi order of the data string in that storage space.
The return for m =
Lo Hi order: 1D 97 4 0 m 0 fL fH, where f is the kBytes of storage remaining. Note that RAM storage space is not content typed, while available flash is statically divided into logo, character set, and user data types. Change of the divisions is possible via flash erasure and flash allocation commands.
If the communication protocol is