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

79 lines
1.8 KiB
C++

#define mundiscan_pos_txt 4
byte MundiScan_CRC[] = {0x00, 0x00};
byte MundiScan_EOT = 0x04;
void MundiScan_generate_code()
{
char line1[60] = {0x02, 0x45, 0x0E, 0x00};
char line2[60] = {0x02, 0x45, 0x0E, 0x01};
Scroll_Line(line1_14, 14, 0);
dsp_info(line1_14,2);
Serial.println("");
Serial.print("MundiSan 2000 --> Line 1 : ");
for (int i = 0; i <= 13; i++) {
line1[mundiscan_pos_txt + i] = line1_14[i];
Serial.write(line1_14[i]);
}
MundiScan_Checksum(line1, 1, pos_txt + 14);
line1[mundiscan_pos_txt + 14] = MundiScan_CRC[0];
line1[mundiscan_pos_txt + 14 + 1] = MundiScan_CRC[1];
line1[mundiscan_pos_txt + 14 + 2] = MundiScan_EOT;
for (int i = 0; i <= (mundiscan_pos_txt + 14 + 3); i++) {
MySerial1.write(line1[i]);
}
delay(1000);
Scroll_Line(line2_14, 14, 0);
dsp_info(line2_14,3);
Serial.println("");
Serial.print("MundiSan 2000 --> Line 2 : ");
for (int i = 0; i <= 13; i++) {
line2[mundiscan_pos_txt + i] = line2_14[i];
Serial.write(line2_14[i]);
}
MundiScan_Checksum(line2, 1, pos_txt + 14);
line2[mundiscan_pos_txt + 14] = MundiScan_CRC[0];
line2[mundiscan_pos_txt + 14 + 1] = MundiScan_CRC[1];
line2[mundiscan_pos_txt + 14 + 2] = MundiScan_EOT;
for (int i = 0; i <= (mundiscan_pos_txt + 14 + 3); i++) {
MySerial1.write(line2[i]);
}
}
void MundiScan_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++) {
val_crc = val_crc + cmd_line[i];
}
Serial.println("");
Serial.print("Checksum : CRC = ");
Serial.print(val_crc, HEX);
MundiScan_CRC[0] = val_crc % 256;
MundiScan_CRC[1] = val_crc / 256;
Serial.print (" CRC[0] = ");
Serial.print(val_crc % 256, HEX);
Serial.print (" CRC[1] = ");
Serial.print(val_crc / 256, HEX);
Serial.println("");
}