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 double-byte character sets supported, the value 0x80 / 0xA0 / 0xC0 selects the first, second, third downloaded double byte font respectively. In return, each downloaded double byte character band is reported individually as 0xC0, 0xC1, 0xC2 … for as many bands as have been defined.

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 = 0–2 is the header and one 4-byte item giving remaining storage space in the CRC position in

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 RS-232C – Xon/Xoff, then “X symbol substitution response” should be configured with the setting communications parameters command (US STX , 1F 02).

A799-PG00001D

Page 115
Image 115
Cognitive Solutions A799 manual User storage status ColorPOS, For m =