#ifndef _TERM_TSK_H_ #define _TERM_TSK_H_ #include #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_