C-Link Protocol Commands
Keys/Display
B-30
Model 42
i
Trace Level 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
turned into a 4BPP as that is the smallest windows can display. 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.
sc
screen
This command is meant for backward compatibility on the C series. Screen
information is reported using the “iscreen” command above.