UniPRT 软件开发工具包 v2.0-DLL (C++)
 
载入中...
搜索中...
未找到
CommSDK.cpp 文件参考
#include "pch.h"
#include "framework.h"
#include "CommSDK.h"
#include "UsbComm.h"
#include "TcpComm.h"
#include "BtComm.h"
#include "ComComm.h"
CommSDK.cpp 的引用(Include)关系图:

枚举

enum  COMM_IDX { USB_COMM = 0 , TCP_COMM , BT_COMM , COM_COMM }
 

函数

DLLEXINT BytesAvailable ()
 取得可读取数据数量 (bytes)
 
DLLEXBOOL Connected ()
 打印机是否处于连接状态
 
DLLEXVOID Read (byte *buffer, int size)
 从打印机读取数据
 
DLLEXVOID Write (byte *dataOut, int iDataSize)
 写入数据至打印机
 
DLLEXPBYTE WriteAndWaitForResponse (byte *dataOut, int iDataSize, int responseStartTimeOut, int responseEndTimeOut, char *completetionToken)
 将位数据写入输出流并返回接收到的数据,返回的数据是任何接收到的数据,或者如果收到完成标志则返回至该标志的数据,在返回之前等待回应超时。
 
DLLEXVOID Close ()
 从打印机断开联机
 
DLLEXVOID Open ()
 透过接口开启打印机
 
DLLEXVOID SendPrintFile (char *ipAddress, char *fileName)
 透过 NET 接口写入档案至打印机
 
DLLEXVOID SendPrintString (char *ipAddress, char *data, int iDataSize)
 透过 NET 接口写入字符串至打印机
 
DLLEXINT GetAvailableDevices (Tuple_c **devices, int *count)
 传回有效设备的v_id和p_id,格式为Tuple_c {short v_id;short p_id;}。 「v_id」指供货商ID,「p_id」指供货商ID
 
DLLEXVOID UsbConnect (Tuple_c device)
 透过 USB 连接所选择的打印机
 
DLLEXVOID TcpConnect (char *ipAddress, int port)
 透过 NET 连接所选择的打印机
 
DLLEXVOID BtConnect (u_int64 macAddress)
 透过蓝芽接口连接所选择的打印机
 
DLLEXVOID ComConnect (std::string ComPort, int BaudRate)
 透过串行端口连接所选择的打印机
 
DLLEXVOID GetComm (CObject *&ptrComm)
 取得打印机目前使用的连接接口
 

变量

CCommSDKApp theApp
 
UsbComm gUsbComm
 
UsbConnection gUsbConnection
 
TcpComm gTcpComm
 
TcpConnection gTcpConnection
 
BtComm gBtComm
 
BtConnection gBtConnection
 
ComComm gComComm
 
ComConnection gComConnection
 
int giComm = USB_COMM
 

枚举类型说明

◆ COMM_IDX

enum COMM_IDX
枚举值
USB_COMM 
TCP_COMM 
BT_COMM 
COM_COMM 

函数说明

◆ BtConnect()

DLLEXVOID BtConnect ( u_int64 macAddress)

透过蓝芽接口连接所选择的打印机

参数
[in]macAddress: 蓝芽装置的 MAC 地址
返回
程序代码
BtConnect(0x3481F4433DA8);
DLLEXVOID BtConnect(u_int64 macAddress)
透过蓝芽接口连接所选择的打印机
Definition CommSDK.cpp:923

◆ BytesAvailable()

DLLEXINT BytesAvailable ( )

取得可读取数据数量 (bytes)

返回
大于 0 : 可读取的数据数量
等于 0 : 无资料
程序代码
int iBytes = BytesAvailable();
pBuf = new byte[iBytes];
Read(pBuf, iBytes);
DLLEXINT BytesAvailable()
取得可读取数据数量 (bytes)
Definition CommSDK.cpp:158
DLLEXVOID Read(byte *buffer, int size)
从打印机读取数据
Definition CommSDK.cpp:302

◆ Close()

DLLEXVOID Close ( )

从打印机断开联机

返回
程序代码
DLLEXVOID Close()
从打印机断开联机
Definition CommSDK.cpp:552

◆ ComConnect()

DLLEXVOID ComConnect ( std::string ComPort,
int BaudRate )

透过串行端口连接所选择的打印机

参数
[in]ComPort: 串行端口名称
[in]BaudRate:波特率, 设置范围 (9600 bps ~ 115200 bps)
返回
程序代码
ComConnect("COM5", 9600);
DLLEXVOID ComConnect(std::string ComPort, int BaudRate)
透过串行端口连接所选择的打印机
Definition CommSDK.cpp:967

◆ Connected()

DLLEXBOOL Connected ( )

打印机是否处于连接状态

返回
真 (连接) or 假 (没连接)
程序代码
if (true == Connected())
DLLEXBOOL Connected()
打印机是否处于连接状态
Definition CommSDK.cpp:213

◆ GetAvailableDevices()

DLLEXINT GetAvailableDevices ( Tuple_c ** devices,
int * count )

传回有效设备的v_id和p_id,格式为Tuple_c {short v_id;short p_id;}。 「v_id」指供货商ID,「p_id」指供货商ID

参数
[out]devices: Tuple_c 用于储存 USB 装置的 v_id 和 p_id
[out]count: 用于储存 USB 装置数量
返回
int
程序代码
Tuple_c* devices = nullptr;
int count = 0;
DLLEXINT GetAvailableDevices(Tuple_c **devices, int *count)
传回有效设备的v_id和p_id,格式为Tuple_c {short v_id;short p_id;}。 「v_id」指供货商ID,「p_id」指供货商ID
Definition CommSDK.cpp:760
Tuple_c * devices
Definition LabelMakerSDK.cpp:2622

◆ GetComm()

DLLEXVOID GetComm ( CObject *& ptrComm)

取得打印机目前使用的连接接口

参数
[in]ptrComm: 界面指针
返回
程序代码
CObject* commPtr = NULL;
GetComm(commPtr);
DLLEXVOID GetComm(CObject *&ptrComm)
取得打印机目前使用的连接接口
Definition CommSDK.cpp:1013

◆ Open()

DLLEXVOID Open ( )

透过接口开启打印机

返回
程序代码
Open();
DLLEXVOID Open()
透过接口开启打印机
Definition CommSDK.cpp:598

◆ Read()

DLLEXVOID Read ( byte * buffer,
int size )

从打印机读取数据

参数
[in]buffer: 储存数据的缓冲区
[in]size: 缓冲区大小
返回
程序代码
int iBytes = BytesAvailable();
pBuf = new byte[iBytes];
Read(pBuf, iBytes);

◆ SendPrintFile()

DLLEXVOID SendPrintFile ( char * ipAddress,
char * fileName )

透过 NET 接口写入档案至打印机

参数
[in]ipAddress: 打印机的IP地址
[in]fileName: 档案路径
返回
程序代码
SendPrintFile((char*)"10.0.10.172", (char*)"rfid.pgl");
DLLEXVOID SendPrintFile(char *ipAddress, char *fileName)
透过 NET 接口写入档案至打印机
Definition CommSDK.cpp:662

◆ SendPrintString()

DLLEXVOID SendPrintString ( char * ipAddress,
char * data,
int iDataSize )

透过 NET 接口写入字符串至打印机

参数
[in]ipAddress: 打印机的IP地址
[in]data: 待写入打印机的数据
[in]iDataSize: 写入的资料量
返回
程序代码
SendPrintString((char*)"10.0.10.172", (char*)"FEED 100", strlen("FEED 100"));
DLLEXVOID SendPrintString(char *ipAddress, char *data, int iDataSize)
透过 NET 接口写入字符串至打印机
Definition CommSDK.cpp:709

◆ TcpConnect()

DLLEXVOID TcpConnect ( char * ipAddress,
int port )

透过 NET 连接所选择的打印机

参数
[in]ipAddress: 打印机的IPv4或IPv6地址
[in]port: 打印机的端口号
返回
程序代码
TcpConnect("10.100.15.214", 9100); // IPv4
TcpConnect((char*)"fe80::208:96ff:fe40:9b04%35", 9100); // 链路本地 IPv6 地址
TcpConnect((char*)"2001:b030:2219:c40:208:96ff:fe40:9b04", 9100); // 全球单播 IPv6 地址
DLLEXVOID TcpConnect(char *ipAddress, int port)
透过 NET 连接所选择的打印机
Definition CommSDK.cpp:877

◆ UsbConnect()

DLLEXVOID UsbConnect ( Tuple_c device)

透过 USB 连接所选择的打印机

参数
[in]devices: Tuple_c 用于所选 USB 装置的 v_id 和 p_id
返回
程序代码
DLLEXVOID UsbConnect(Tuple_c device)
透过 USB 连接所选择的打印机
Definition CommSDK.cpp:823

◆ Write()

DLLEXVOID Write ( byte * dataOut,
int iDataSize )

写入数据至打印机

参数
[in]dataOut: 待写入的资料
[in]iDataSize: 写入的资料量
返回
程序代码
std::string content;
content += "FEED 100";
const char* pStr = content.c_str();
Write((byte*)pStr, strlen(pStr));
DLLEXVOID Write(byte *dataOut, int iDataSize)
写入数据至打印机
Definition CommSDK.cpp:393

◆ WriteAndWaitForResponse()

DLLEXPBYTE WriteAndWaitForResponse ( byte * dataOut,
int iDataSize,
int responseStartTimeOut,
int responseEndTimeOut,
char * completetionToken )

将位数据写入输出流并返回接收到的数据,返回的数据是任何接收到的数据,或者如果收到完成标志则返回至该标志的数据,在返回之前等待回应超时。

参数
[in]dataOut: 待写入打印机的数据
[in]iDataSize: 写入的资料量
[in]responseStartTimeOut: 等待接收第一笔数据的超时时间。这是从开始等待到接收到第一个位数据所花费的时间。
[in]responseEndTimeOut: 当未收到新数据时的超时时间。这是从接收到最后一个位数据后开始计算的时间。
[in]completetionToken表示预期响应结束的字符串标志。如果只是想在将数据写入连接后等待响应,这个字符串可以是空字符串。
返回
byte* 从连接中接收到的字符串。 返回的数据是任何接收到的数据,或者如果收到完成标志 (completionToken),则返回至该标志为止的数据。
程序代码
std::string content;
content += "FEED 100\r\n";
content += "OUT \"12345678\"\r\n";
std::cout << std::endl;
std::cout << "Send to Printer:" << std::endl;
std::cout << content;
const char* pStr = content.c_str();
byte* pResponse = WriteAndWaitForResponse((byte*)pStr, content.size(), 1000, 500, "\r\n");
DLLEXPBYTE WriteAndWaitForResponse(byte *dataOut, int iDataSize, int responseStartTimeOut, int responseEndTimeOut, char *completetionToken)
将位数据写入输出流并返回接收到的数据,返回的数据是任何接收到的数据,或者如果收到完成标志则返回至该标志的数据,在返回之前等待回应超时。
Definition CommSDK.cpp:492

变量说明

◆ gBtComm

BtComm gBtComm

◆ gBtConnection

BtConnection gBtConnection

◆ gComComm

ComComm gComComm

◆ gComConnection

ComConnection gComConnection

◆ giComm

int giComm = USB_COMM

◆ gTcpComm

TcpComm gTcpComm

◆ gTcpConnection

TcpConnection gTcpConnection

◆ gUsbComm

UsbComm gUsbComm

◆ gUsbConnection

UsbConnection gUsbConnection

◆ theApp

CCommSDKApp theApp