64 lines
1.5 KiB
C

#ifndef _TERM_TSK_H_
#define _TERM_TSK_H_
#include <stdint.h>
#define TERM_PARAM_COUNT 1
#define TERM_BUFFER_SIZE 2048
#define TERM_SOCKET_CONNECT_TIMEOUT 1000
#define TERM_READ_PACKET_TIMEOUT 3000
/** \name Ñîñòîÿíèÿ òåðìèíàëà
*/
/**{*/
#define TERM_STATE_IDLE 0
#define TERM_STATE_PENDING_PUR 1
#define TERM_STATE_WAITING_PUR 2
#define TERM_STATE_ABORTING 3
#define TERM_STATE_DONE_PUR 4
#define TERM_STATE_ERR_PUR 5
/**}*/
/** \name Êîìàíäû òåðìèíàëà
*/
/**{*/
#define TERM_COMMAND_NONE 0x0000
#define TERM_COMMAND_PEND_PUR 0x0001
#define TERM_COMMAND_ABORT_PUR 0x0002
#define TERM_COMMAND_CLEAR_STATE 0x0004
#define TERM_COMMAND_MAKE_SVERKA 0x0008
#define TERM_COMMAND_MAKE_SYNCHRO 0x0010
/**}*/
/// ñòðóêòóðà äëÿ ñîõðàíåíèÿ èíôîðìöèè î òåêóùåì çàïðîñå
typedef struct
{
/// íîìåð êàññîâîãî äîêóìåíòà
uint32_t ern;
/// âðåìÿ ïîñëåäíåé ñâåðêè
uint32_t time_sverka;
/// âðåìÿ ïîñëåäíåé ñèíõðîíèçàöèè æóðíàëà
uint32_t time_syn;
/// ïðèçíàê àêòèâíîãî òåêóùåãî çàïðîñà
uint8_t request_active;
/// êîíòðîëüíàÿ ñóììà
uint16_t crc16;
}TerminalCurrInfo;
extern void InitTerminalApp();
extern uint32_t GetTermState(void);
extern uint32_t SetTermCommand(uint32_t cmd, uint32_t* param);
extern int ttk2_get_field_string(uint16_t field, char* str, uint16_t maxlen);
extern CPU_INT32U term_protocol(void);
#endif //_TERM_TSK_H_