Vb 2003 - Supporting UInteger

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • cmdolcet69
    New Member
    • Sep 2007
    • 25

    Vb 2003 - Supporting UInteger

    I'm having issues with the code below. I get the message that Uinteger is not defined. I need to make this data type as a unsigned integer.

    Code:
     Public Class GlobalMembers
            Public com1 As MSCOMM
            ' Global Union Variables: 
            Public Shared crc_value As word_byte ' system crc value 
            Public Shared adc_value As word_byte ' adc value read from table 
            Public Shared location_value As word_byte ' address of table to send ADC value 
            Public Shared pmsg As Byte() = New Byte(24) {} ' crc buffer 
            Public Shared tsize As UInteger
            ' Global Structure Definitions 
            Public Class byte_low_hi
                Public low_byte As Byte
                Public high_byte As Byte
            End Class
            ' Global Union Definitions 
            'C++ to VB CONVERTER TODO TASK: Unions are not supported in VB. 
            'ORIGINAL LINE: union word_byte 
            Public Structure word_byte
                Public word16 As UInteger
                Public byte8 As byte_low_hi
            End Structure
            'Code Constants 
    #Const BMS = True ' this represents the binary message start byte, value 0x2A 
    #Const PASSWD = True ' this represents the factory pass code, value 11548d 
    #Const POLY = True ' the polynomial used in the CRC algorithm 
    
            Friend NotInheritable Class DefineConstants
                Public Const BMS As Char = "*"c
                Public Const PASSWD As Integer = &H2D1C
                Public Const POLY As Integer = &H8005
            End Class
            Public Sub table_upload_req()
                Dim Len As Byte = &H8
                Dim Cmd As Byte = &H9
                adc_value.word16 = &H0    ' read ADC value and put into storage var 
                location_value.word16 = &H0
                crc_value.word16 = 0
    
    
                Dim msg_size As Byte = Len - 2
    
    
                pmsg(0) = AscW(Len)
                pmsg(1) = AscW(Cmd)
    
    
                Dim i As Integer = 0
                Do While i < tsize
    
    
                    ' single table upload request packet 
                    location_value.word16 += 1
                    adc_value.word16 = ADC_AVE(i)
    
    
                    pmsg(2) = CChar(adc_value.word16.high_byte)
                    pmsg(3) = CChar(adc_value.word16.low_byte)
                    pmsg(4) = CChar(location_value.word16.high_byte)
                    pmsg(5) = CChar(location_value.word16.low_byte)
    
    
                    crc_value.word16 = Make_Bitwise_CRC16(UInteger, msg_size)
    
                    com1.Output = DefineConstants.BMS + pmsg(0) + pmsg(1) + pmsg(2) + pmsg(3) + pmsg(4) + pmsg(5) + CChar(crc_value.word16.high_byte) + CChar(crc_value.word16.low_byte)
                    tsize += 1
                Loop
            End Sub
            Public Function Make_Bitwise_CRC16(ByVal msg_size As UInteger) As Integer
                Dim i As UInteger
                Dim j As UInteger
                Dim msg As UInteger
    
                For i = 0 To msg_size - 1
                    msg = (pmsg(i) << 8)
    
                    For j = 0 To 7
                        If ((msg Xor crc_value.word16) >> 15) > 0 Then
                            crc_value.word16 = (crc_value.word16 << 1) Xor DefineConstants.POLY
                        Else
                            crc_value.word16 <<= 1
                        End If
                        msg <<= 1
                    Next j
                Next i
                Return (crc_value.word16 Xor 0)
            End Function
        End Class
  • debasisdas
    Recognized Expert Expert
    • Dec 2006
    • 8119

    #2
    Thread moved to .NET forum.

    MODERATOR.

    Comment

    • Plater
      Recognized Expert Expert
      • Apr 2007
      • 7872

      #3
      It's just "uint" (which should be unsigned 32bit int)
      (or you can give it a size spec too UInt16, UInt32, UInt64 )

      Comment

      Working...