mirror of
https://github.com/dimoniche/solarium.vlad.git
synced 2026-01-29 20:43:31 +03:00
Исправление ошибок
This commit is contained in:
parent
2587d0b8bb
commit
86fdfa8ac9
@ -154,7 +154,7 @@ int TermReadPacket(NET_SOCK_ID sock, CPU_INT08U *packet, CPU_INT32U maxlen, CPU_
|
||||
CPU_INT08U c;
|
||||
CPU_INT16U packet_len = 0;
|
||||
|
||||
// длина
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (!TermReadChar(sock, &packet[0], timeout)) return len;
|
||||
len++;
|
||||
if (!TermReadChar(sock, &packet[1], timeout)) return len;
|
||||
@ -162,7 +162,7 @@ int TermReadPacket(NET_SOCK_ID sock, CPU_INT08U *packet, CPU_INT32U maxlen, CPU_
|
||||
packet_len = (uint16_t)packet[0] * 256UL + (uint16_t)packet[1];
|
||||
if (packet_len < 2) return 0;
|
||||
|
||||
// метка
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (!TermReadChar(sock, &packet[2], timeout)) return len;
|
||||
len++;
|
||||
if (!TermReadChar(sock, &packet[3], timeout)) return len;
|
||||
@ -176,7 +176,7 @@ int TermReadPacket(NET_SOCK_ID sock, CPU_INT08U *packet, CPU_INT32U maxlen, CPU_
|
||||
if ((packet[2] != 0x97) || (packet[3] != 0xFB)) return 0;
|
||||
}
|
||||
|
||||
// тэги
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
while (len < packet_len + 2)
|
||||
{
|
||||
CPU_INT16U tag;
|
||||
@ -291,7 +291,7 @@ uint32_t SetTermCommand(uint32_t cmd, uint32_t* param)
|
||||
return curr_cmd;
|
||||
}
|
||||
|
||||
/// создать заголовок
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint32_t ttk2_tag_header(char *buf)
|
||||
{
|
||||
buf[2] = '\x96';
|
||||
@ -299,7 +299,7 @@ uint32_t ttk2_tag_header(char *buf)
|
||||
return 4;
|
||||
}
|
||||
|
||||
/// создать заголовок
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint32_t vtk_tag_header(char *buf)
|
||||
{
|
||||
buf[2] = '\x96';
|
||||
@ -307,7 +307,7 @@ uint32_t vtk_tag_header(char *buf)
|
||||
return 4;
|
||||
}
|
||||
|
||||
/// задать длину
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint32_t ttk2_tag_setlen(char *buf, uint16_t len)
|
||||
{
|
||||
buf[0] = (len >> 8) & 0xFF;
|
||||
@ -315,7 +315,7 @@ uint32_t ttk2_tag_setlen(char *buf, uint16_t len)
|
||||
return 2;
|
||||
}
|
||||
|
||||
/// записать тэг, возвращает длину
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
uint32_t ttk2_tag_add(char *buf, uint16_t id, char *value, uint8_t value_len)
|
||||
{
|
||||
buf[0] = (char)(id & 0xFF);
|
||||
@ -377,7 +377,7 @@ int ttk2_get_field(CPU_INT08U *packet, uint32_t packet_len, uint16_t field, uint
|
||||
return 0;
|
||||
}
|
||||
|
||||
/// получение параметров из последнего удачного запроса (информация для чека)
|
||||
/// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||
int ttk2_get_field_string(uint16_t field, char* str, uint16_t maxlen)
|
||||
{
|
||||
int tag_size;
|
||||
@ -449,6 +449,7 @@ void TermAppTask(void *p_arg)
|
||||
if (time_to_ftp & FTP_FLAG_CLEAR_LOGS)
|
||||
{
|
||||
ClearEventJournal();
|
||||
JournalInit();
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -473,8 +474,8 @@ void TermAppTask(void *p_arg)
|
||||
GetData(&TerminalProtocolDesc, &proto, 0, DATA_FLAG_SYSTEM_INDEX);
|
||||
if (proto == TERMINAL_PROTOCOL_VTK)
|
||||
{
|
||||
// дальше протокол VTK
|
||||
// периодический запрос IDL
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> VTK
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IDL
|
||||
if (OSTimeGet() - idl_stamp > op_timeout * 1000UL / 2)
|
||||
{
|
||||
NET_ERR err;
|
||||
@ -489,15 +490,15 @@ void TermAppTask(void *p_arg)
|
||||
uint32_t packet_len;
|
||||
char *content;
|
||||
|
||||
// заголовок
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
vtk_tag_header(term_buffer);
|
||||
// содержимое
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "IDL", 3);
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
OSTimeDly(50);
|
||||
@ -513,11 +514,11 @@ void TermAppTask(void *p_arg)
|
||||
char opcode[16];
|
||||
int tag_size;
|
||||
memset(opcode, 0, 16);
|
||||
// код сообщения
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tag_size = ttk2_get_field((CPU_INT08U *)term_buffer, plen, 0x01, (uint8_t*)opcode, 15);
|
||||
if ((tag_size == 3) && (strcmp(opcode, "IDL") == 0))
|
||||
{
|
||||
// таймаут операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
int value;
|
||||
memset(opcode, 0, 16);
|
||||
tag_size = ttk2_get_field((CPU_INT08U *)term_buffer, plen, 0x06, (uint8_t*)opcode, 15);
|
||||
@ -525,7 +526,7 @@ void TermAppTask(void *p_arg)
|
||||
{
|
||||
op_timeout = value;
|
||||
}
|
||||
// номер операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
memset(opcode, 0, 16);
|
||||
tag_size = ttk2_get_field((CPU_INT08U *)term_buffer, plen, 0x03, (uint8_t*)opcode, 15);
|
||||
if (sscanf(opcode, "%d", &value) == 1)
|
||||
@ -572,9 +573,9 @@ void TermAppTask(void *p_arg)
|
||||
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "VRP", 3);
|
||||
// номер операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
++op_number;
|
||||
sprintf(str, "%d", op_number);
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x03, str, strlen(str));
|
||||
@ -593,9 +594,9 @@ void TermAppTask(void *p_arg)
|
||||
// Product name
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x0F, get_service_name(), 43);
|
||||
|
||||
// длина в пакете
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
OSTimeDly(50);
|
||||
@ -634,14 +635,14 @@ void TermAppTask(void *p_arg)
|
||||
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "ABR", 3);
|
||||
// номер операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
sprintf(str, "%d", op_number);
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x03, str, strlen(str));
|
||||
// длина в пакете
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
int writed = HostWriteData(sock, term_buffer, packet_len);
|
||||
@ -670,14 +671,14 @@ void TermAppTask(void *p_arg)
|
||||
tag_size = ttk2_get_field((CPU_INT08U *)term_buffer, plen, 0x04, (uint8_t*)opcode, 15);
|
||||
if ((tag_size > 0) && (strcmp(opcode, str) == 0))
|
||||
{
|
||||
// VRP OK, посылаем FIN
|
||||
// VRP OK, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FIN
|
||||
vtk_tag_header(term_buffer);
|
||||
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "FIN", 3);
|
||||
// номер операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
sprintf(str, "%d", op_number);
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x03, str, strlen(str));
|
||||
// transaction amount (money * 100)
|
||||
@ -685,9 +686,9 @@ void TermAppTask(void *p_arg)
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x04, str, strlen(str));
|
||||
// product id
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x09, "1", 1);
|
||||
// длина в пакете
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
OSTimeDly(50);
|
||||
@ -786,7 +787,7 @@ void TermAppTask(void *p_arg)
|
||||
continue;
|
||||
}
|
||||
|
||||
// дальше протокол ТТК2
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>2
|
||||
if (term_state == TERM_STATE_IDLE)
|
||||
{
|
||||
if (term_command_new & TERM_COMMAND_MAKE_SVERKA)
|
||||
@ -811,18 +812,18 @@ void TermAppTask(void *p_arg)
|
||||
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "SRV", 3);
|
||||
// номер клиента
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x02, "1", 1);
|
||||
// номер документа (ERN)
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ERN)
|
||||
sprintf(str, "%d", terminal_info.ern);
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x03, str, strlen(str));
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x1A, "2", 1);
|
||||
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
OSTimeDly(50);
|
||||
@ -924,18 +925,18 @@ void TermAppTask(void *p_arg)
|
||||
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "SRV", 3);
|
||||
// номер клиента
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x02, "1", 1);
|
||||
// номер документа (ERN)
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ERN)
|
||||
sprintf(str, "%d", terminal_info.ern);
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x03, str, strlen(str));
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x1A, "8", 1);
|
||||
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
OSTimeDly(50);
|
||||
@ -1046,11 +1047,11 @@ void TermAppTask(void *p_arg)
|
||||
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "PUR", 3);
|
||||
// номер клиента
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x02, "1", 1);
|
||||
// номер документа (ERN)
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ERN)
|
||||
sprintf(str, "%d", terminal_info.ern);
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x03, str, strlen(str));
|
||||
// transaction amount (money * 100)
|
||||
@ -1064,10 +1065,10 @@ void TermAppTask(void *p_arg)
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x08, "\xC0", 1);
|
||||
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
// сохраним признак операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
terminal_info.request_active = 1;
|
||||
SaveTerminalInfo(&terminal_info);
|
||||
|
||||
@ -1077,7 +1078,7 @@ void TermAppTask(void *p_arg)
|
||||
if (writed != packet_len)
|
||||
{
|
||||
term_state = TERM_STATE_ERR_PUR;
|
||||
// надо отменить, наверное
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
terminal_info.ern++;
|
||||
terminal_info.request_active = 0;
|
||||
SaveTerminalInfo(&terminal_info);
|
||||
@ -1113,22 +1114,22 @@ void TermAppTask(void *p_arg)
|
||||
|
||||
content = &term_buffer[4];
|
||||
packet_len = 0;
|
||||
// код операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x01, "ABR", 3);
|
||||
// номер клиента
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x02, "1", 1);
|
||||
// номер документа (ERN)
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (ERN)
|
||||
sprintf(str, "%d", terminal_info.ern);
|
||||
packet_len += ttk2_tag_add(&content[packet_len], 0x03, str, strlen(str));
|
||||
|
||||
ttk2_tag_setlen(term_buffer, packet_len + 2);
|
||||
// общая длина для передачи
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
packet_len += 4;
|
||||
|
||||
int writed = HostWriteData(sock, term_buffer, packet_len);
|
||||
OSTimeDly(100);
|
||||
|
||||
// сбросим признак операции
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
terminal_info.request_active = 0;
|
||||
terminal_info.ern++;
|
||||
SaveTerminalInfo(&terminal_info);
|
||||
@ -1184,7 +1185,7 @@ void TermAppTask(void *p_arg)
|
||||
rx_packet_len = 0;
|
||||
}
|
||||
|
||||
// Код ответа
|
||||
// <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
char resp_code[3] = "\x0\x0\x0";
|
||||
tag_size = ttk2_get_field((CPU_INT08U *)term_buffer, plen, 0x9B, (uint8_t*)&resp_code, 2);
|
||||
if (tag_size > 0)
|
||||
@ -1200,7 +1201,7 @@ void TermAppTask(void *p_arg)
|
||||
}
|
||||
else if (strcmp(resp_code, "BB") == 0)
|
||||
{
|
||||
// требуется синхронизация журнала
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
OS_ENTER_CRITICAL();
|
||||
term_command_new |= TERM_COMMAND_MAKE_SYNCHRO;
|
||||
OS_EXIT_CRITICAL();
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
#if defined(BOARD_SOLARIUM_WEB)
|
||||
#define DEVICE_FW_VERSION "7.09"
|
||||
#elif defined(BOARD_SOLARIUM_VLAD)
|
||||
#define DEVICE_FW_VERSION "8.55"
|
||||
#define DEVICE_FW_VERSION "8.56"
|
||||
#elif defined(BOARD_CENTRAL_CARWASH) || defined(BOARD_POST_CARWASH)
|
||||
#define DEVICE_FW_VERSION "5.55"
|
||||
#endif
|
||||
|
||||
@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
|
||||
|
||||
@echo on
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
|
||||
@echo off
|
||||
goto end
|
||||
@ -34,7 +34,7 @@ goto end
|
||||
|
||||
@echo on
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" "--debug_file=%~1" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
|
||||
@echo off
|
||||
:end
|
||||
@ -23,9 +23,9 @@
|
||||
|
||||
if ($debugfile -eq "")
|
||||
{
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
}
|
||||
else
|
||||
{
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
& "C:\Program Files\IAR Systems\Embedded Workbench 9.0\common\bin\cspybat" -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.general.xcl" --debug_file=$debugfile --backend -f "C:\git_work\solarium.vlad\settings\sk-mlpc2368.Solarium_Vlad.driver.xcl"
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
"C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armJLINK.dll"
|
||||
|
||||
"C:\work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
||||
"C:\git_work\solarium.vlad\Solarium Vlad\Exe\sk_mlpc2368.out"
|
||||
|
||||
--plugin="C:\Program Files\IAR Systems\Embedded Workbench 9.0\arm\bin\armbat.dll"
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
2768
sk-mlpc2368.dep
2768
sk-mlpc2368.dep
File diff suppressed because it is too large
Load Diff
@ -5003,7 +5003,7 @@
|
||||
</option>
|
||||
<option>
|
||||
<name>OOCOutputFile</name>
|
||||
<state>solarium_vlad_8_55.hex</state>
|
||||
<state>solarium_vlad_8_56.hex</state>
|
||||
</option>
|
||||
<option>
|
||||
<name>OOCCommandLineProducer</name>
|
||||
@ -5021,7 +5021,7 @@
|
||||
<data>
|
||||
<extensions></extensions>
|
||||
<cmdline></cmdline>
|
||||
<hasPrio>1</hasPrio>
|
||||
<hasPrio>112</hasPrio>
|
||||
<buildSequence>inputOutputBased</buildSequence>
|
||||
</data>
|
||||
</settings>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user