123 lines
3.1 KiB
VB.net
123 lines
3.1 KiB
VB.net
Module BLV_INFO
|
||
|
||
Private DEBUG_PRINTF_EN As Byte = &H1
|
||
|
||
|
||
''' <summary>
|
||
''' 协议处理返回值
|
||
''' </summary>
|
||
Enum PROCESS_RETURN
|
||
Correct
|
||
Check_Error
|
||
DevType_Error
|
||
Len_Error
|
||
Cmd_Error
|
||
End Enum
|
||
|
||
''' <summary>
|
||
''' BUS协议格式
|
||
''' </summary>
|
||
Enum BUS_PKT
|
||
PKT_ADD_FM
|
||
PKT_TYPE
|
||
PKT_DevType
|
||
PKT_ADD_TO
|
||
PKT_LEN
|
||
PKT_CHKSUM
|
||
PKT_CMD
|
||
PKT_PARA
|
||
End Enum
|
||
|
||
Enum BUS_PKT2
|
||
PKT_ADD_FM
|
||
PKT_TYPE
|
||
PKT_DevType
|
||
PKT_ADD_TO
|
||
PKT_LEN
|
||
PKT_LEN_8
|
||
PKT_CHKSUM
|
||
PKT_CMD
|
||
PKT_PARA
|
||
End Enum
|
||
|
||
Enum DEBUG_WIN
|
||
File_Info
|
||
Content_Info
|
||
End Enum
|
||
|
||
|
||
|
||
''' <summary>
|
||
''' 和校验取余数
|
||
''' 求Byte数组的和校验取余数
|
||
''' </summary>
|
||
''' <param name="dataPacket">Byte数组</param>
|
||
''' <returns>计算校验值</returns>
|
||
Public Function CheckSum(dataPacket As Byte(), datalen As Byte) As Byte
|
||
Dim sum As Integer
|
||
For idx = 0 To datalen - 1
|
||
sum += dataPacket(idx)
|
||
sum = sum And &HFF
|
||
Next
|
||
Dim sumMod As Byte = &HFF - sum
|
||
Return sumMod
|
||
End Function
|
||
|
||
''' <summary>
|
||
''' 调试信息输出到调试窗口信息
|
||
''' </summary>
|
||
''' <param name="str"></param>
|
||
Public Sub DEBUG_Printf(str As String)
|
||
If DEBUG_PRINTF_EN = &H1 Then
|
||
Console.WriteLine(str & vbCrLf)
|
||
End If
|
||
End Sub
|
||
|
||
''' <summary>
|
||
''' 将调试信息输出到界面窗口中
|
||
''' </summary>
|
||
''' <param name="type">选择输出窗口</param>
|
||
''' <param name="str">输出的信息</param>
|
||
''' <param name="col">输出信息颜色</param>
|
||
Public Sub Debug_Info_Display_On_Window(type As Byte, str As String, col As Color)
|
||
Dim show_str As String = str
|
||
Select Case type
|
||
Case DEBUG_WIN.File_Info '文件解析信息内容显示窗口
|
||
If Form1.CheckBox1.Checked = True Then '判断当前是否打开该窗口
|
||
|
||
Form1.RichTextBox1.SelectionStart = Form1.RichTextBox1.TextLength
|
||
Form1.RichTextBox1.SelectionColor = col
|
||
Form1.RichTextBox1.AppendText(show_str & vbCrLf)
|
||
|
||
|
||
End If
|
||
Case DEBUG_WIN.Content_Info '数据内容解析信息显示窗口
|
||
If Form1.CheckBox2.Checked = True Then '判断当前是否打开该窗口
|
||
|
||
Form1.RichTextBox2.SelectionStart = Form1.RichTextBox2.TextLength
|
||
Form1.RichTextBox2.SelectionColor = col
|
||
Form1.RichTextBox2.AppendText(show_str & vbCrLf)
|
||
|
||
End If
|
||
Case Else
|
||
|
||
End Select
|
||
|
||
End Sub
|
||
|
||
Public Sub Debug_Display_Clear(type As Byte)
|
||
Select Case type
|
||
Case DEBUG_WIN.File_Info '文件解析信息内容显示窗口
|
||
Form1.RichTextBox1.Clear()
|
||
Case DEBUG_WIN.Content_Info '数据内容解析信息显示窗口
|
||
Form1.RichTextBox2.Clear()
|
||
Case Else
|
||
|
||
End Select
|
||
End Sub
|
||
|
||
|
||
|
||
|
||
End Module
|