1 | void logger_vmd_title(int16 operator_code, int16 total_copies,
|
2 | int08 vmd_status, struct time_typ start_period,
|
3 | struct time_typ end_period, int08 titlecode_report)
|
4 | {
|
5 | int08 buffer[LOGGER_BUFFER_SIZE];
|
6 |
|
7 | // Buffer löschen
|
8 | logger_clear_buffer(buffer);
|
9 |
|
10 | // Teil 1 des Logeintrag zusammenstellen
|
11 | // Eintrag Typ
|
12 | buffer[0] = 0x20;
|
13 | // Ende der Verkaufsperiode
|
14 | buffer[1] = end_period.year;
|
15 | buffer[2] = end_period.month;
|
16 | buffer[3] = end_period.day;
|
17 | buffer[4] = end_period.hour;
|
18 | buffer[5] = end_period.minute;
|
19 | buffer[6] = end_period.second;
|
20 | // Operator Code
|
21 | buffer[8] = operator_code;
|
22 | operator_code = operator_code >> 8;
|
23 | buffer[7] = operator_code;
|
24 | // Start der Verkaufsperiode
|
25 | buffer[9] = start_period.year;
|
26 | buffer[10] = start_period.month;
|
27 | buffer[11] = start_period.day;
|
28 | buffer[12] = start_period.hour;
|
29 | buffer[13] = start_period.minute;
|
30 | buffer[14] = start_period.second;
|
31 | // Checksum
|
32 | buffer[15] = byte_checksum_8bit(buffer, 15);
|
33 |
|
34 | // Datensatz im SiteMemory ablegen
|
35 | sitememory_logger_buffer_in(buffer);
|
36 |
|
37 | // Buffer löschen
|
38 | logger_clear_buffer(buffer);
|
39 |
|
40 | // Teil 2 des Logeintrag zusammenstellen
|
41 | // Eintrag Typ
|
42 | buffer[0] = 0x21;
|
43 | // Titel Code
|
44 | buffer[5] = titlecode_report;
|
45 | // Total Verkaufte Exemplare
|
46 | buffer[6] = byte_bin_to_bcd(total_copies / 100);
|
47 | buffer[7] = byte_bin_to_bcd(total_copies % 100);
|
48 | // VMD Status
|
49 | buffer[9] = vmd_status;
|
50 | // Checksum
|
51 | buffer[15] = byte_checksum_8bit(buffer, 15);
|
52 |
|
53 | // Datensatz im SiteMemory ablegen
|
54 | sitememory_logger_buffer_in(buffer);
|
55 | }
|