UniPRT SDK  v2.0.0.3
UniPRT.Sdk.Comm.BTClassicConnection 類別 參考文件

實現藍牙經典通信並擴展AComm類的類別。 更多...

類別UniPRT.Sdk.Comm.BTClassicConnection的繼承圖:
UniPRT.Sdk.Comm.AComm UniPRT.Sdk.Comm.IComm

公開方法(Public Methods)

 BTClassicConnection (long macAddress)
 根據__macAddress__初始化新類實例。 在連接之前,需要與印表機進行藍牙配對。 更多...
 
 BTClassicConnection (string descriptor)
 根據__descriptor__字串初始化新類實例。 更多...
 
override void Close ()
 Closes a connection.
 
override void Open ()
 Opens a connection.
 
override byte[] Read ()
 Read all bytes available.
 
virtual void Read (BinaryWriter binDataIn)
 Reads all bytes available into the stream passed in.
 
virtual void WaitForData (int msTimeOut)
 等待數據可用 BytesAvailable 在當前線程。當前線程休眠直到接收到數據或超時。阻塞調用。 更多...
 
virtual void Write (BinaryReader binReader)
 從輸入流寫入輸出流 更多...
 
override void Write (byte[] dataOut)
 Writes all bytes from the array passed in.
 
virtual void WriteAndWaitForResponse (BinaryWriter binDataIn, BinaryReader binDataOut, int responseStartTimeOut, int responseEndTimeOut, string completetionToken)
 將 binDataOut 流數據寫入輸出流,並將接收到的數據返回到 binDataIn 流中。返回的數據是接收到的任何數據或達到接收的完成令牌。如果沒有回應則在返回前等待超時。 更多...
 
virtual byte[] WriteAndWaitForResponse (byte[] dataOut, int responseStartTimeOut, int responseEndTimeOut, string completetionToken)
 將字節數據寫入輸出流並返回接收到的數據。返回的數據是接收到的任何數據或達到接收的完成令牌。在返回前等待回應超時。 更多...
 

靜態公開方法(Static Public Methods)

static long DescriptorValidate (string descriptorHint)
 驗證從 descriptorHint 傳入的描述符字串,該字串可能包含或不包含 v_id 和 p_id。返回元組。 更多...
 

公開屬性

override string Descriptor => $"BT:MAC Address:{_bt_address.ToString("X12")}"
 返回連接的字符串描述。格式:"BT:MAC Address:_bt_mac" 例如 "BT:MAC Address:0080A3123456" 更多...
 

屬性(properties)

override int BytesAvailable [get]
 
override bool Connected [get]
 

詳細描述

實現藍牙經典通信並擴展AComm類的類別。

Examples

using System;
using System.IO;
using System.Text;
using UniPRT.Sdk.Comm; // imports SDK namespace
namespace Snippets
{
class MyComm
{
public static void MainComm(string[] args)
{
SendPrintFile(); // send file over BT Classic
SendPrintString(); // send print data over BT Classic
}
public static void SendPrintFile() // send file over usb
{
string fileName = @"C:\testFiles\Hello.pgl";
BTClassicConnection BTClassicComm = new BTClassicConnection(0x8CDE5294F30F);
try
{
BTClassicComm.Open();
if (File.Exists(fileName))
{
using (BinaryReader binReader = new BinaryReader(File.Open(fileName, FileMode.Open)))
{
Console.WriteLine($"Sending \"{fileName}\" to printer");
BTClassicComm.Write(binReader);
}
}
else
{
Console.WriteLine($"File \"{fileName}\" not found");
}
}
catch (Exception e)
{
Console.WriteLine($"Exception Msg: {e.Message}");
}
finally
{
BTClassicComm.Close();
}
}
public static void SendPrintString() // send print data over BT Classic
{
string dataToPrint =
@"~CREATE;C39;72
SCALE;DOT
PAGE;30;40
ALPHA
C10;1;33;0;0;@HELLO@
C16;54;37;0;0;@*World*@
STOP
BARCODE
C128C;XRD3:3:6:6:9:9:12:12;H6;10;32
@World@
STOP
END
~EXECUTE;C39
~NORMAL
";
BTClassicConnection BTClassicComm = new BTClassicConnection(0x8CDE5294F30F);
try
{
BTClassicComm.Open();
if (BTClassicComm.Connected)
{
//byte[] outBytes = Encoding.UTF8.GetBytes(dataToPrint);
byte[] outBytes = Encoding.ASCII.GetBytes(dataToPrint);
BTClassicComm.Write(outBytes);
}
else
{
Console.WriteLine($"Not connected to printer");
}
}
catch (Exception e)
{
Console.WriteLine($"Exception Msg: {e.Message}");
}
finally
{
BTClassicComm.Close();
}
}
}
}


建構子與解構子說明文件

◆ BTClassicConnection() [1/2]

UniPRT.Sdk.Comm.BTClassicConnection.BTClassicConnection ( string  descriptor)

根據__descriptor__字串初始化新類實例。

參數
[in]descriptor可接受的格式:
  • "BT:MAC Address:<_bt_mac>"
    • _bt_mac 是十六進制的字符串b>。例如: MAC Address:0080A3123456

◆ BTClassicConnection() [2/2]

UniPRT.Sdk.Comm.BTClassicConnection.BTClassicConnection ( long  macAddress)

根據__macAddress__初始化新類實例。 在連接之前,需要與印表機進行藍牙配對。

參數
[in]macAddress指定要通過印表機的藍牙MAC地址連接的印表機。例如:0x0080A3123456

函式成員說明文件

◆ DescriptorValidate()

static long UniPRT.Sdk.Comm.BTClassicConnection.DescriptorValidate ( string  descriptorHint)
static

驗證從 descriptorHint 傳入的描述符字串,該字串可能包含或不包含 v_id 和 p_id。返回元組。

descriptorHint 接受的值:

  • "BT:MAC Address:<_bt_mac>"
    • _bt_mac 是十六進制 字符串b>。例如: MAC Address:0080A3123456

◆ WaitForData()

virtual void UniPRT.Sdk.Comm.AComm.WaitForData ( int  msTimeOut)
virtualinherited

等待數據可用 BytesAvailable 在當前線程。當前線程休眠直到接收到數據或超時。阻塞調用。

參數
[in]msTimeOut如果未接收到數據則在返回前的毫秒超時時間。

實作 UniPRT.Sdk.Comm.IComm.

◆ Write()

virtual void UniPRT.Sdk.Comm.AComm.Write ( BinaryReader  binReader)
virtualinherited

從輸入流寫入輸出流

參數
[in]binReader要發送的來源數據

實作 UniPRT.Sdk.Comm.IComm.

◆ WriteAndWaitForResponse() [1/2]

virtual void UniPRT.Sdk.Comm.AComm.WriteAndWaitForResponse ( BinaryWriter  binDataIn,
BinaryReader  binDataOut,
int  responseStartTimeOut,
int  responseEndTimeOut,
string  completetionToken 
)
virtualinherited

將 binDataOut 流數據寫入輸出流,並將接收到的數據返回到 binDataIn 流中。返回的數據是接收到的任何數據或達到接收的完成令牌。如果沒有回應則在返回前等待超時。

參數
[out]binDataIn目標流以存儲從連接接收到的回應。
[in]binDataOut
要寫入連接的來源流數據。
[in]responseStartTimeOut等待接收到第一個數據的超時時間(毫秒)。第一個字節的時間。
[in]responseEndTimeOut沒有接收到新數據的超時時間(毫秒)。最後一個字節後的時間。
[in]completetionToken指示預期回應結束的字符串令牌。如果只是想等待寫入數據後的回應,可以是空字符串。

實作 UniPRT.Sdk.Comm.IComm.

◆ WriteAndWaitForResponse() [2/2]

virtual byte [] UniPRT.Sdk.Comm.AComm.WriteAndWaitForResponse ( byte[]  dataOut,
int  responseStartTimeOut,
int  responseEndTimeOut,
string  completetionToken 
)
virtualinherited

將字節數據寫入輸出流並返回接收到的數據。返回的數據是接收到的任何數據或達到接收的完成令牌。在返回前等待回應超時。

傳回值
byte[]從連接接收到的字節數組。 返回的數據是接收到的任何數據或達到完成標記時的數據。
參數
[in]dataOut
要寫入連接的來源字節數組。
[in]responseStartTimeOut等待接收到第一個數據的超時時間(毫秒)。第一個字節的時間。
[in]responseEndTimeOut沒有接收到新數據的超時時間(毫秒)。最後一個字節後的時間。
[in]completetionToken指示預期回應結束的字符串令牌。如果只是想等待寫入數據後的回應,可以是空字符串。

實作 UniPRT.Sdk.Comm.IComm.

資料成員說明文件

◆ Descriptor

override string UniPRT.Sdk.Comm.BTClassicConnection.Descriptor => $"BT:MAC Address:{_bt_address.ToString("X12")}"

返回連接的字符串描述。格式:"BT:MAC Address:_bt_mac" 例如 "BT:MAC Address:0080A3123456"

回傳格式:

  • BT:MAC Address:<_bt_mac>
    • _bt_mac 為 Stringb>. 例: MAC Address:0080A3123456
UniPRT
提供對不同通訊介面/端口的支援
Definition: Communication.cs:9
UniPRT.Sdk.Comm
Definition: Communication.cs:9
UniPRT.Sdk
Definition: Communication.cs:9
UniPRT.Sdk.Comm.BTClassicConnection.BTClassicConnection
BTClassicConnection(string descriptor)
根據__descriptor__字串初始化新類實例。
Definition: BtComm.cs:311