Lynx500SL/Laser_Test/Linx_Inktjet.ino
2022-01-07 15:38:23 +01:00

62 lines
1.3 KiB
C++

#define inktjet_pos_txt 5
byte Inktjet_CRC= 0x00;
byte Inktjet_ETX[] = {0x1B, 0x03};
void Inktjet_generate_code()
{
char line[60] = {0x1B, 0x02, 0x1D, 0x00, 0x1C};
Scroll_Line(line1_14, 14, 0);
Scroll_Line(line2_14, 14, 1);
dsp_info(line1_14,2);
dsp_info(line2_14,3);
Serial.println("");
Serial.print("Inktjet --> Line 1 : ");
for (int i = 0; i <= 13; i++) {
line[inktjet_pos_txt + i] = line1_14[i];
Serial.write(line1_14[i]);
}
Serial.println("");
Serial.print("Inktjet --> Line 2 : ");
for (int i = 0; i <= 13; i++) {
line[inktjet_pos_txt + 14 + i] = line2_14[i];
Serial.write(line2_14[i]);
}
line[inktjet_pos_txt + 28 + 0] = Inktjet_ETX[0];
line[inktjet_pos_txt + 28 + 1] = Inktjet_ETX[1];
Inktjet_Checksum(line, 0, inktjet_pos_txt + 28 + 1);
line[inktjet_pos_txt + 28 + 2] = Inktjet_CRC;
for (int i = 0; i <= (inktjet_pos_txt + 28 + 2); i++) {
MySerial1.write(line[i]);
}
}
void Inktjet_Checksum(char *cmd_line, int start_pos, int eind_pos)
{
long val_crc = 0;
//Checksum Calculation
for (int i = start_pos; i <= eind_pos; i++) {
if(cmd_line[i] != 0x1B) {
val_crc = val_crc + cmd_line[i];
}
}
Inktjet_CRC = 256 - (val_crc % 256);
Serial.println("");
Serial.print("Checksum : CRC = ");
Serial.print(256- (val_crc% 256), HEX);
Serial.println("");
}