?? intfprnt.h
字號:
/*
***********************************************************
*
* Copyright(C),1994-2006,Routon Electronic Co.,Ltd.
*
* 文件名: intfprnt.h
*
* 內容描述: 打印模塊對外頭文件
*
* 文件歷史:
*
* 版本號 日期 作者 說明
* 01a 2007-1-16 keyuhui 創建文件
*
**********************************************************
*/
#ifndef _INTFPRNT_H
#define _INTFPRNT_H
#ifdef __cplusplus
extern "C" {
#endif /*__cplusplus */
/* ----------------defines-------------- */
#define PRINTER_TYPE (IOPIN0 & P012) /* 1 穿孔機芯、0熱敏機芯 */
#define WHITE_PAPER 0 /* 打印紙為不定長紙 */
#define HEAT_TIME_DEFAULT 38 /* 默認打印加熱時間 (X*100us)*/
#define ADJUST_TIMER_SCALE 2 /* 調整定時器時間粒度(x*100)us */
#define PRNT_CHINESE 0
#define PRNT_ARABIC 1
#define PRNT_ENGLISH 2
/* ----------------defines end-------------- */
enum
{
MSG_MNTN_PRINT_STATE_PRNT = 0x6000, /* 打印漢字庫應答消息 */
MSG_APP_STATE_PRNT, /* 發送打印結果消息 */
MSG_PRNT_DATA_PRNT, /* 發送打印數據消息 */
MSG_SYSC_QUIT_PRNT /* 回復主控模塊可以斷電消息 */
};
typedef __packed struct tagPrntPara
{
UINT1 ucAppID; /* 業務模塊應用ID */
UINT1 ucLangFlag; /* 語言種類(0 中文 1阿拉伯語、2英語) */
UINT1 ucCharOrder; /* 票據打印對齊方式(0左對齊、1右對齊)*/
UINT2 usLength; /* 打印紙長度 */
UINT2 usWidth; /* 打印紙寬度調節 */
UINT1 ucPaper; /* 打印紙類型 */
UINT1 ucLocalOffset; /* 打印起始位置 */
UINT1 ucCutOffset; /* 打印切紙位置 */
UINT1 ucLineSpace; /* 打印行間距 */
}PrntPara;
extern UINT1 g_ucprntHeatTime; /* 熱敏打印加熱時間 */
extern UINT1 g_ucprntLinePrinted; /* 穿孔成功打印行數 */
extern UINT2 g_usTSPrintedLine; /* 熱敏成功打印點行數 */
extern UINT1 g_ucPaperType; /* 0非黑標紙 1黑標紙 */
extern UINT1 g_ucprntTimerInt; /* 定時器中斷標志位 */
extern UINT1 g_ucBatVolLower; /* 0 電池電壓正常 1 電池電壓低 */
extern UINT1 g_ucTsOccupySpiMark; /* 熱敏占用SPI(0:無意義 1:占用期間 2:占用結束) */
extern UINT1 g_ucprntState; /* 打印機的狀態 */
extern UINT2 g_usPatternCount ; /* 坐標定位橫坐標相對字模計數點 */
extern UINT1 g_ucMarkCutPaper; /* 熱敏打印解析打印命令含走紙到打印切紙標志
(0 不含此命令 1含有此命令)*/
extern UINT1 g_ucPrntOrderMode; /* 票據打印對齊方式(0 左對齊、1右對齊)*/
extern UINT1 g_ucPrntChoiceLang; /* 選擇打印語言標志(0 中文、1阿拉伯語、2英語)*/
/* ----------------function declarations-------------- */
/*
*********************************************************
*
* 函數名:ET_prntOpen
*
* 功 能:啟用打印機設備, 業務模塊在成功啟用打印機設備后,
* 才能調用ET_prntWrite函數執行打印操作;
*
* 輸 入:s_ucPrntEquipState
*
* 輸 出:無
*
* 返 回: = 0 啟用打印機設備成功,返回標識符cFd
* -1 啟用打印機設備失敗
**********************************************************
*/
INT1 ET_prntOpen (void);
/*
***********************************************************
*
* 函數名:ET_prntClose
*
* 功 能:停用打印機設備,業務模塊在調用ET_prntWrite函數執行
* 打印操作完畢,調用此函數,釋放對打印機的使用權。
*
* 輸 入:無
*
* 輸 出:s_ucPrntEquipState
*
* 返 回:SUCCESS 停用打印設備操作成功
* FAULT 停用打印設備操作失敗
*
***********************************************************
*/
INT1 ET_prntClose (INT1 cFd) ;
/*
***********************************************************
*
* 函數名:ET_prntGetState
*
* 功 能: 獲取當前打印機狀態信息
*
* 輸 入:無
*
* 輸 出:無
*
* 返 回: g_ucprntState 打印機狀態(如下表所示)
* |7位|6位|5位|4位|3位 |2位 |1位 |0位 |
* |空 |空 |空 |忙 |掉電|高溫|故障|缺紙|
*
***********************************************************
*/
UINT1 ET_prntGetState (void);
/*
****************************************************************************
*
* 函數名:prntData
*
* 功能: 實現業務模塊數據解析、打印功能;支持常用打印命令集,支持相對、絕對坐
* 標定位打印;絕對坐標定位格式:分隔符(0xFF) | 橫坐標(1字節)| 縱坐標
* (1字節)| 打印內容 | 分隔符(0xFF) | 橫坐標(1字節)| 縱坐標(1字節)
* | 打印內容 | 。。。
* 坐標的單位均為mm
*
* 輸入:無
*
* 輸出:無
*
* 返回:打印機狀態
* |---7位---|---6位---|---5位---|---4位---|---3位---|---2位---|---1位---|---0位---|
* |----空---|----空---|----空---|---忙----|---掉電--|---高溫--|---故障--|---缺紙--|
*
****************************************************************************
*/
INT1 ET_prntWrite
(
const PrntPara *_prntPara, /* [in]打印參數指針 */
UINT1 *_pData, /* [in]打印數據指針 */
UINT2 _usLength /* 待打印數據長度 */
);
/*
**************************************************
*
* 函數名:prntPrintDrInit
*
* 功 能:打印模塊底層初始化函數
*
* 輸 入:無
*
* 輸 出:無
*
* 返 回:SUCCESS 成功
*
***************************************************
*/
INT1 prntPrintDrInit(void);
/*
**************************************************
*
* 函數名:prntFeedPaper
*
* 功 能:按鍵進紙函數
*
* 輸 入:g_ucPrinterType
*
* 輸 出:無
*
* 返 回:無
*
**************************************************
*/
void prntFeedPaper (void);
/*
*****************************************************
*
* 函數名:prntFeedBackPaper
*
* 功 能:按鍵退紙函數(提供給主控界面直接調用)
*
* 輸 入:g_ucPrinterType
*
* 輸 出:無
*
* 返 回:無
*
******************************************************
*/
void prntFeedBackPaper (void);
/*
**************************************************
*
* 函數名:prntTest
*
* 功 能:維護模塊打印測試函數
*
* 輸 入:無
*
* 輸 出:無
*
* 返 回:FAULT 打印失敗
* SUCCESS 打印成功
**************************************************
*/
INT1 prntTest
(
UINT1 *_pData, /* [in]待打印數據 */
UINT1 _ucLength, /* 數據包長度 */
UINT1 _ucPrinterType /* 打印機類型(0穿孔、1熱敏)*/
);
/*
**********************************************************
*
* 函數名:prntDotPrintTest
*
* 功 能:打印機測試
*
* 輸 入:s_ucprntDataBuffDataIn
* s_ucprntTSDataBuffer
*
* 輸 出:無
*
* 返 回:g_ucprntState
*
**********************************************************
*/
INT1 prntDotPrintTest
(
UINT1 ucLanguage /* 語言種類(0中文 1英文) */
);
/*
********************************************************
*
* 函數名:prntTSPrintTest
*
* 功 能:打印機測試
*
* 輸 入:s_ucprntDataBuffDataIn
* s_ucprntTSDataBuffer
*
* 輸 出:無
*
* 返 回:打印機狀態
*
********************************************************
*/
INT1 prntTSPrintTest
(
UINT1 ucLanguage /* 語言種類(0中文 1英文 2阿拉伯語) */
);
/*
**************************************************
*
* 函數名:prntMain
*
* 功 能:打印模塊任務主函數,主要處理消息,調用打印
* 接口函數實現打印操作
*
* 輸 入:無
*
* 輸 出:無
*
* 返 回:SUCCESS 成功
*
***************************************************
*/
extern void prntMainTask
(
void * _pData /* [in] 任務參數輸入*/
);
/***************************************************
*
* 函數名:bspTSTimerISTR
*
* 功 能:熱敏打印機中斷服務函數
*
* 輸 入:g_ucprntTimerStepCnt、g_ucprntTimerHeatCnt
*
* 輸 出:g_uiprntPFStepCnt、g_ucprntLinePrinted
*
* 返 回:SUCCESS----處理成功
*
*
*/
INT1 bspTSTimerISTR(void);
/*---------------------外部應用的全局變量------------------------*/
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __INTFCOMM_H__ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -