#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(""); }