C-Link Protocol Commands
Keys/Display
B-34
Model 48
i
Instruction Manual
Thermo Fisher Scientific
void unpackDisplay ( void far* tdib, unsigned char far* rlescreen )
{
int i,j,k;
unsigned char far *sc4bpp, *sc2bpp, *screen, *ptr;
ptr = screen = (unsigned char far *)malloc(19200);
//RLE decode the screen
for (i=0; i<19200 && (ptr - screen) < 19200; i++)
{
*(ptr++) = *(rle i);
if (*(rle i) == 0)
{
unsigned char rlecount = *(unsigned char *)(rle ++i);
while (rlecount)
{
*(ptr++) = 0;
rlecount--;
}
}
else if (*(rle i) == 0xff)
{
unsigned char rlecount = *(unsigned char *)(rle ++i);
while (rlecount)
{
*(ptr++) = 0xff;
rlecount--;
}
}
}
}
To convert this data into a BMP for use with Windows, it needs to be
saved as a 4-bit-per-pixel gray-scale image. Also note that BMP files are
upside down relative to this data, i.e. the top display line is the last line in
the BMP.
menutext
This command displays the text of the menu item where the cursor is
currently positioned. The following example shows that the cursor is
positioned at the instrument controls menu item.
Send:
menutext
Receive:
menutext main menu instrument controls
sc
screen
These commands are meant for backward compatibility with the C series.
Screen information is instead reported using the “iscreen” command above.
Send:
screen
Receive:
screen This is an ISeries instrument.
Screen information not available.