📄 form8.frm
字号:
Case "81 EPC CLASS 1"
tag_type = "81"
TID_box.MaxLength = 16
Case "82 EPC CLASS 0"
tag_type = "82"
TID_box.MaxLength = 16
Case "83 EPC CLASS 0+ IMPINJ"
tag_type = "83"
TID_box.MaxLength = 16
Case "84 EPC CLASS 0+ MATRICS"
tag_type = "84"
TID_box.MaxLength = 16
Case "85 ISO180006A"
tag_type = "85"
TID_box.MaxLength = 16
Case "86 ISO180006B"
tag_type = "86"
TID_box.MaxLength = 16
Case "87 EPC CLASS 1 Gen 2"
tag_type = "87"
TID_box.MaxLength = 16
Case "88 EM4222"
tag_type = "88"
TID_box.MaxLength = 16
Case "89 EM4022"
tag_type = "89"
TID_box.MaxLength = 16
Case "8A UCODE"
tag_type = "8A"
TID_box.MaxLength = 16
Case "8B TAGIDU"
tag_type = "8B"
TID_box.MaxLength = 16
Case "8C SCS"
tag_type = "8C"
TID_box.MaxLength = 16
End Select
End If
Call CalcBlockLength
Call refresh_HostCommand_box
End Sub
Private Sub TID_box_Change()
If invalidF = True Then
TID_box.Text = temp
End If
Call CalcBlockLength
Call refresh_HostCommand_box
End Sub
Private Sub TID_box_KeyPress(KeyAscii As Integer)
temp = TID_box.Text
invalidF = IsNotHex(KeyAscii)
End Sub
Private Sub STARTING_BLOCK_box_Change()
If invalidF = True Then
STARTING_BLOCK_box.Text = temp
End If
Call refresh_HostCommand_box
End Sub
Private Sub STARTING_BLOCK_box_KeyPress(KeyAscii As Integer)
temp = STARTING_BLOCK_box.Text
invalidF = IsNotHex(KeyAscii)
End Sub
Private Function CalcBlockLength()
' determine block length here
CalcBlockLength = 2
If Read_Bit.Value = True And Sys_Bit.Value = True Then
CalcBlockLength = 6
End If
If Write_Bit.Value = True And Sys_Bit.Value = True Then
'If STARTING_BLOCK_box.Text = "0A" Or STARTING_BLOCK_box.Text = "0C" Then
CalcBlockLength = 160
'End If
End If
If Len(TID_box.Text) = 16 Then
CalcBlockLength = 8 ' 4 bytes per block
If (Val("&H" & Mid(TID_box.Text, 3, 2)) = 5) Then
CalcBlockLength = 16 ' 8 bytes per block for Infineon my-d tags
End If
End If
If Len(TID_box.Text) = 8 Then
CalcBlockLength = 8 ' 4 bytes per block
End If
' Selected State functionality
If Len(TID_box.Text) = 0 Then
CalcBlockLength = 16 ' 8 bytes per block
End If
If Len(NUMBER_OF_BLOCKS_box.Text) = 2 Then
' note the value (text) shown in the NUMBER_OF_BLOCKS_box must be interpreted as a hex value
DATA_box.MaxLength = Val("&H" & Mid(NUMBER_OF_BLOCKS_box.Text, 1, 2)) * CalcBlockLength
End If
Select Case TagType
Case "03 Tag-it HF"
CalcBlockLength = 8
Case "06 PicoTag" ' 8 bytes/block
CalcBlockLength = 16
DATA_box.MaxLength = Val("&H" & Mid(NUMBER_OF_BLOCKS_box.Text, 1, 2)) * CalcBlockLength
Case "0A Mifare UltraLight" ' 4 bytes/block
CalcBlockLength = 8
DATA_box.MaxLength = Val("&H" & Mid(NUMBER_OF_BLOCKS_box.Text, 1, 2)) * CalcBlockLength
End Select
' block length now determined
End Function
Private Sub NUMBER_OF_BLOCKS_box_Change()
Dim BlockLength%
If invalidF = True Then
NUMBER_OF_BLOCKS_box.Text = temp
End If
Call CalcBlockLength
Call refresh_HostCommand_box
End Sub
Private Sub NUMBER_OF_BLOCKS_box_KeyPress(KeyAscii As Integer)
temp = NUMBER_OF_BLOCKS_box.Text
invalidF = IsNotHex(KeyAscii)
End Sub
Private Sub DATA_box_Change()
If invalidF = True Then
DATA_box.Text = temp
End If
Call refresh_HostCommand_box
End Sub
Private Sub DATA_box_KeyPress(KeyAscii As Integer)
temp = DATA_box.Text
invalidF = IsNotHex(KeyAscii)
End Sub
Private Sub CRC_box_Change()
If invalidF = True Then
CRC_box.Text = temp
End If
End Sub
Private Sub CRC_box_KeyPress(KeyAscii As Integer)
temp = CRC_box.Text
invalidF = IsNotHex(KeyAscii)
Call refresh_HostCommand_box
End Sub
Private Sub btnExit_Click()
mnuFileExit_Click
End Sub
Private Sub btnSendHostCommand_Click()
Dim i As Integer 'Loop Variable
Dim X$
' Initialize x$
X$ = ""
' if the inventory comand is not yet complete (i.e. if it ends with <LF><94><LF>) then dont send another command
If INV_F.Value = 1 Then
freezeF = True
End If
Call refresh_HostCommand_box
ProBuild.MSComm1.InBufferCount = 0 ' clear buffer
If protocolF = True Then
' Send Host command as ASCII
If secondLF = False Then
' test here to see if the inventory command is complete
' i.e. if the host response box contains ends with either <LF>94<LF> in ascii mode
' if the host response box ends with <STX>94 in binary mode, then the inventory
' command (in which INV_F=1) is complete and thus it's ok to send this next command
If Len(Response_box.Text) > 13 Then
If Mid(Response_box.Text, (Len(Response_box.Text) - 11), 12) = ("<LF>94<LF>" + vbCrLf) Then
If INV_F.Value = 0 Then
Response_box.Text = ""
End If
End If
End If
End If
ProBuild.MSComm1.Output = ""
ProBuild.MSComm1.Output = vbCr
For i = 5 To (Len(HostCommand_box.Text) - 4)
ProBuild.MSComm1.Output = Mid(HostCommand_box.Text, i, 1)
Next i
ProBuild.MSComm1.Output = vbCr
Else
If Len(Response_box.Text) > 7 Then
If Mid(Response_box.Text, (Len(Response_box.Text) - 8), 9) = ("<STX>94" + vbCrLf) Then
If INV_F.Value = 0 Then
Response_box.Text = ""
End If
End If
End If
' Send Host command as Binary
ProBuild.MSComm1.Output = ""
'ProBuild.MSComm1.Output = Chr$(2)
X$ = X$ + Chr$(2)
'For i = 6 To Len(HostCommand_box.Text) Step 2
' ProBuild.MSComm1.Output = Chr$(Val("&H" & Mid(HostCommand_box.Text, i, 2)))
'Next i
For i = 6 To Len(HostCommand_box.Text) Step 2
X$ = X$ + Chr$(Val("&H" & Mid(HostCommand_box.Text, i, 2)))
' ProBuild.MSComm1.Output = Chr$(Val("&H" & Mid(HostCommand_box.Text, i, 2)))
Next i
ProBuild.MSComm1.Output = X$
End If
End Sub
Private Sub mnuFileExit_Click()
If (ProBuild.MSComm1.PortOpen = True) Then
ProBuild.MSComm1.PortOpen = False
End If
If Form1.MSComm1.PortOpen = False Then
Form1.MSComm1.PortOpen = True
End If
Unload ProBuild
'Load Form1
End Sub
Sub refresh_COMMAND_box()
Dim H$
H$ = Hex(command%)
COMMAND_box.Text = Left("00", 2 - Len(H$)) & H$
End Sub
Sub refresh_FLAGS_box()
Dim H$
H$ = Hex(flags%)
FLAGS_box.Text = Left("00", 2 - Len(H$)) & H$
End Sub
Sub refresh_HostCommand_box()
Dim byteCount As Integer
Dim strByteCount As String
If TID_F.Value = 0 Then
TID_box.Text = ""
TID_box.Enabled = False
End If
If COMMAND_box.Text = "14" Then
STARTING_BLOCK_box.Text = ""
NUMBER_OF_BLOCKS_box.Text = ""
DATA_box.Text = ""
End If
If TagType.Enabled = False Then
tag_type = ""
Else
TID_box.Enabled = True
If Form1.M8detected = True Then
Select Case TagType.Text
Case "00 Auto-Detect"
tag_type = "00"
TID_box.Text = ""
TID_box.Enabled = False
' UHF TAG TYPES
Case "81 EPC CLASS 1"
tag_type = "81"
TID_box.MaxLength = 16
Case "82 EPC CLASS 0"
tag_type = "82"
TID_box.MaxLength = 16
Case "83 EPC CLASS 0+ IMPINJ"
tag_type = "83"
TID_box.MaxLength = 16
Case "84 EPC CLASS 0+ MATRICS"
tag_type = "84"
TID_box.MaxLength = 16
Case "85 ISO180006A"
tag_type = "85"
TID_box.MaxLength = 16
Case "86 ISO180006B"
tag_type = "86"
TID_box.MaxLength = 16
Case "87 EPC CLASS 1 Gen 2"
tag_type = "87"
TID_box.MaxLength = 16
Case "88 EM4222"
tag_type = "88"
TID_box.MaxLength = 16
Case "89 EM4022"
tag_type = "89"
TID_box.MaxLength = 16
Case "8A UCODE"
tag_type = "8A"
TID_box.MaxLength = 16
Case "8B TAGIDU"
tag_type = "8B"
TID_box.MaxLength = 16
Case "8C SCS"
tag_type = "8C"
TID_box.MaxLength = 16
End Select
Else
Select Case TagType.Text
Case "00 Auto-Detect"
tag_type = "00"
TID_box.Text = ""
TID_box.Enabled = False
' HF TAG TYPES
Case "01 ISO15693"
tag_type = "01"
TID_box.MaxLength = 16
Case "02 I稢ode SL1"
tag_type = "02"
TID_box.MaxLength = 16
Case "03 Tag-it HF"
tag_type = "03"
TID_box.MaxLength = 8
Case "04 ISO14443A"
tag_type = "04"
TID_box.MaxLength = 8
Case "06 PicoTag"
tag_type = "06"
TID_box.MaxLength = 16
Case "08 GemWave C210"
tag_type = "08"
TID_box.MaxLength = 0
Case "09 LTO CM"
tag_type = "09"
TID_box.MaxLength = 8
Case "0A Mifare UltraLight"
tag_type = "0A"
TID_box.MaxLength = 16
' UHF TAG TYPES
Case "81 EPC CLASS 1"
tag_type = "81"
TID_box.MaxLength = 16
Case "82 EPC CLASS 0"
tag_type = "82"
TID_box.MaxLength = 16
Case "83 EPC CLASS 0+ IMPINJ"
tag_type = "83"
TID_box.MaxLength = 16
Case "84 EPC CLASS 0+ MATRICS"
tag_type = "84"
TID_box.MaxLength = 16
Case "85 ISO180006A"
tag_type = "85"
TID_box.MaxLength = 16
Case "86 ISO180006B"
tag_type = "86"
TID_box.MaxLength = 16
Case "87 EPC CLASS 1 Gen 2"
tag_type = "87"
TID_box.MaxLength = 16
Case "88 EM4222"
tag_type = "88"
TID_box.MaxLength = 16
Case "89 EM4022"
tag_type = "89"
TID_box.MaxLength = 16
Case "8A UCODE"
tag_type = "8A"
TID_box.MaxLength = 16
Case "8B TAGIDU"
tag_type = "8B"
TID_box.MaxLength = 16
Case "8C SCS"
tag_type = "8C"
TID_box.MaxLength = 16
End Select
End If
End If
If protocolF = True Then ' ascii mode
MsgLen_Box.Text = ""
MsgLen_Box.Visible = False
MsgLenFrame.Visible = False
HostCommand_box.Text = "<CR>" + FLAGS_box.Text + C
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -