⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 declarations.vb

📁 汽车领can总线通讯程序
💻 VB
📖 第 1 页 / 共 2 页
字号:
' vxlapi.dll wrapper for Visual Basic .NET
' Declaration file v1.3, 2006-05-05 VI/CSP-Stm
' (c) Vector Informatik GmbH 

Option Explicit On 
Imports System.Runtime.InteropServices
Module Declarations

	'-----------------------------------
	' structure declarations
	' xl event
	<StructLayout(LayoutKind.Explicit, Size:=48)> Structure s_xlEvent
		<FieldOffset(0)> Public tag As Byte				 '1
		<FieldOffset(1)> Public chanIndex As Byte			'1
		<FieldOffset(2)> Public transID As Short			'2
		<FieldOffset(4)> Public porthandle As Short		 '2
		<FieldOffset(6)> Public reserved As Short			'2
		<FieldOffset(8)> Public timestamp As UInt64		 '8
		<FieldOffset(16)> Public tagdata_can_msg As s_xl_can_msg				'32
		<FieldOffset(16)> Public tagdata_chipstate As s_xl_chipstate			'03
		<FieldOffset(16)> Public tagdata_lin_msg As s_xl_lin_msg_api			'13
		<FieldOffset(16)> Public tagdata_sync_pulse As s_xl_sync_pulse		 '09
		<FieldOffset(16)> Public tagdata_daio_data As s_xl_daio_data			'32
		<FieldOffset(16)> Public tagdata_transceiver As s_xl_transceiver		'02

	End Structure

	'can messages
	<StructLayout(LayoutKind.Explicit, Size:=32)> _
	Structure s_xl_can_msg
		<FieldOffset(0)> Public id As UInt32			'4 byte
		<FieldOffset(4)> Public flags As Short			'2
		<FieldOffset(6)> Public dlc As Short			'2
		<FieldOffset(8)> Public res1 As UInt64			'8
		<FieldOffset(16)> Public data0 As Byte		 'Public data As Byte() '8
		<FieldOffset(17)> Public data1 As Byte
		<FieldOffset(18)> Public data2 As Byte
		<FieldOffset(19)> Public data3 As Byte
		<FieldOffset(20)> Public data4 As Byte
		<FieldOffset(21)> Public data5 As Byte
		<FieldOffset(22)> Public data6 As Byte
		<FieldOffset(23)> Public data7 As Byte
		<FieldOffset(24)> Public res2 As UInt64		 '8
	End Structure					' sum: 32

	'chipstates
	<StructLayout(LayoutKind.Explicit, Size:=3)> _
	Structure s_xl_chipstate
		<FieldOffset(0)> Public busStatus As Byte			'1
		<FieldOffset(1)> Public txErrorCounter As Byte		 '1
		<FieldOffset(2)> Public rxErrorCounter As Byte		 '1
	End Structure

	' lin messages
	Structure s_xl_lin_statpar
		Public LINMode As Int32
		Public baudrate As Int32
		Public LINVersion As Int32
		Public reserved As UInt32
	End Structure

	<StructLayout(LayoutKind.Explicit, Size:=32)> Public Structure s_xl_lin_msg
		<FieldOffset(0)> Public id As Byte
		<FieldOffset(1)> Public dlc As Byte
		<FieldOffset(2)> Public flags As Short
		<FieldOffset(4)> Public data0 As Byte
		<FieldOffset(5)> Public data1 As Byte
		<FieldOffset(6)> Public data2 As Byte
		<FieldOffset(7)> Public data3 As Byte
		<FieldOffset(8)> Public data4 As Byte
		<FieldOffset(9)> Public data5 As Byte
		<FieldOffset(10)> Public data6 As Byte
		<FieldOffset(11)> Public data7 As Byte
		<FieldOffset(12)> Public crc As Byte
	End Structure
	<StructLayout(LayoutKind.Sequential)> _
	 Structure s_xl_lin_noans
		<FieldOffset(0)> Public id As Byte
	End Structure
	<StructLayout(LayoutKind.Sequential)> _
	Structure s_xl_lin_wakeup
		Public flag As Byte
	End Structure
	<StructLayout(LayoutKind.Sequential)> _
	Structure s_xl_lin_sleep
		Public flag As Byte
	End Structure
	<StructLayout(LayoutKind.Sequential)> _
	 Structure s_xl_lin_crc_info
		Public id As Byte
		Public flag As Byte
	End Structure

	<StructLayout(LayoutKind.Explicit, Size:=32)> Structure s_xl_lin_msg_api
		<FieldOffset(0)> Public xl_lin_msg As s_xl_lin_msg
		<FieldOffset(0)> Public xl_lin_noans As s_xl_lin_noans
		<FieldOffset(0)> Public xl_lin_wakeup As s_xl_lin_wakeup
		<FieldOffset(0)> Public xl_lin_sleep As s_xl_lin_sleep
		<FieldOffset(0)> Public xl_lin_crc_info As s_xl_lin_crc_info
	End Structure

	'SYNC
	<StructLayout(LayoutKind.Explicit, Size:=9)> _
	 Structure s_xl_sync_pulse
		<FieldOffset(0)> Public PulseCode As Byte		 '1
		<FieldOffset(1)> Public timestamp As UInt64		'8
	End Structure

	'DAIO
	<StructLayout(LayoutKind.Explicit, Size:=32)> _
	Structure s_xl_daio_data
		<FieldOffset(0)> Public flags As Short		 '2
		<FieldOffset(2)> Public timestamp_correction_ As UInt32		'4
		<FieldOffset(6)> Public mask_digital As Byte		 '1
		<FieldOffset(7)> Public value_digital As Byte		 '1
		<FieldOffset(8)> Public mask_analog As Byte		 '1
		<FieldOffset(9)> Public reserved0 As Byte		 '1
		<FieldOffset(10)> Public value_analog0 As Short		 '2
		<FieldOffset(12)> Public value_analog1 As Short		 '2
		<FieldOffset(14)> Public value_analog2 As Short		 '2
		<FieldOffset(16)> Public value_analog3 As Short		 '2
		<FieldOffset(18)> Public pwm_frequency As UInt32		 '4
		<FieldOffset(22)> Public pwm_value As Short		 '2
		<FieldOffset(24)> Public reserved1 As UInt32		 '4
		<FieldOffset(28)> Public reserved2 As UInt32		 '4
	End Structure

	' transceiver
	<StructLayout(LayoutKind.Explicit, Size:=2)> _
	Structure s_xl_transceiver
		<FieldOffset(0)> Public event_reason As Byte		 '1
		<FieldOffset(1)> Public is_present As Byte		 '1
	End Structure

	'structure for xlCanSetChannelParams
	Structure s_xl_channelparams
		Public bitRate As UInt32
		Public sjw As Byte
		Public tseg1 As Byte
		Public tseg2 As Byte
		Public sam As Byte
	End Structure

	'---------------------------
	'structure for xlGetDriverConfig
	<StructLayout(LayoutKind.Explicit, Size:=(64 * sxlChannelConfigSize + sxldrvConfigOffset))> _
	Structure s_xl_driver_config
		<FieldOffset(0)> Public dllVersion As UInt32		 '4
		<FieldOffset(4)> Public channelCount As UInt32		'4
		<FieldOffset(8)> Public reserved0 As UInt32		 '4
		<FieldOffset(12)> Public reserved1 As UInt32		 '4
		<FieldOffset(16)> Public reserved2 As UInt32		 '4
		<FieldOffset(20)> Public reserved3 As UInt32		 '4
		<FieldOffset(24)> Public reserved4 As UInt32		 '4
		<FieldOffset(28)> Public reserved5 As UInt32		 '4
		<FieldOffset(32)> Public reserved6 As UInt32		 '4
		<FieldOffset(36)> Public reserved7 As UInt32		 '4
		<FieldOffset(40)> Public reserved8 As UInt32		 '4
		<FieldOffset(44)> Public reserved9 As UInt32		 '4
		<FieldOffset(48)> Public channel0 As s_xl_channel_config		'236
		<FieldOffset(1 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel1 As s_xl_channel_config		'235
		<FieldOffset(2 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel2 As s_xl_channel_config		'235
		<FieldOffset(3 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel3 As s_xl_channel_config		'235
		<FieldOffset(4 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel4 As s_xl_channel_config		'235
		<FieldOffset(5 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel5 As s_xl_channel_config		'235
		<FieldOffset(6 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel6 As s_xl_channel_config		 '235
		<FieldOffset(7 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel7 As s_xl_channel_config		'235
		<FieldOffset(8 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel8 As s_xl_channel_config		'235
		<FieldOffset(9 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel9 As s_xl_channel_config		'235
		<FieldOffset(10 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel10 As s_xl_channel_config		'235
		<FieldOffset(11 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel11 As s_xl_channel_config		'235
		<FieldOffset(12 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel12 As s_xl_channel_config		'235
		<FieldOffset(13 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel13 As s_xl_channel_config		'235
		<FieldOffset(14 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel14 As s_xl_channel_config		'235
		<FieldOffset(15 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel15 As s_xl_channel_config		'235
		<FieldOffset(16 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel16 As s_xl_channel_config		'235
		<FieldOffset(17 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel17 As s_xl_channel_config		'235
		<FieldOffset(18 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel18 As s_xl_channel_config		'235
		<FieldOffset(19 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel19 As s_xl_channel_config		'235
		<FieldOffset(20 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel20 As s_xl_channel_config		'235
		<FieldOffset(21 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel21 As s_xl_channel_config		'235
		<FieldOffset(22 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel22 As s_xl_channel_config		'235
		<FieldOffset(23 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel23 As s_xl_channel_config		'235
		<FieldOffset(24 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel24 As s_xl_channel_config		'235
		<FieldOffset(25 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel25 As s_xl_channel_config		'235
		<FieldOffset(26 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel26 As s_xl_channel_config		'235
		<FieldOffset(27 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel27 As s_xl_channel_config		'235
		<FieldOffset(28 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel28 As s_xl_channel_config		'235
		<FieldOffset(29 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel29 As s_xl_channel_config		'235
		<FieldOffset(30 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel30 As s_xl_channel_config		'235
		<FieldOffset(31 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel31 As s_xl_channel_config		'235
		<FieldOffset(32 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel32 As s_xl_channel_config		'235
		<FieldOffset(33 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel33 As s_xl_channel_config		'235
		<FieldOffset(34 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel34 As s_xl_channel_config		'235
		<FieldOffset(35 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel35 As s_xl_channel_config		'235
		<FieldOffset(36 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel36 As s_xl_channel_config		'235
		<FieldOffset(37 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel37 As s_xl_channel_config		'235
		<FieldOffset(38 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel38 As s_xl_channel_config		'235
		<FieldOffset(39 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel39 As s_xl_channel_config		'235
		<FieldOffset(40 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel40 As s_xl_channel_config		'235
		<FieldOffset(41 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel41 As s_xl_channel_config		'235
		<FieldOffset(42 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel42 As s_xl_channel_config		'235
		<FieldOffset(43 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel43 As s_xl_channel_config		'235
		<FieldOffset(44 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel44 As s_xl_channel_config		'235
		<FieldOffset(45 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel45 As s_xl_channel_config		'235
		<FieldOffset(46 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel46 As s_xl_channel_config		'235
		<FieldOffset(47 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel47 As s_xl_channel_config		'235
		<FieldOffset(48 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel48 As s_xl_channel_config		'235
		<FieldOffset(49 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel49 As s_xl_channel_config		'235
		<FieldOffset(50 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel50 As s_xl_channel_config		'235
		<FieldOffset(51 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel51 As s_xl_channel_config		'235
		<FieldOffset(52 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel52 As s_xl_channel_config		'235
		<FieldOffset(53 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel53 As s_xl_channel_config		'235
		<FieldOffset(54 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel54 As s_xl_channel_config		'235
		<FieldOffset(55 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel55 As s_xl_channel_config		'235
		<FieldOffset(56 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel56 As s_xl_channel_config		'235
		<FieldOffset(57 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel57 As s_xl_channel_config		'235
		<FieldOffset(58 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel58 As s_xl_channel_config		'235
		<FieldOffset(59 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel59 As s_xl_channel_config		'235
		<FieldOffset(60 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel60 As s_xl_channel_config		'235
		<FieldOffset(61 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel61 As s_xl_channel_config		'235
		<FieldOffset(62 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel62 As s_xl_channel_config		'235
		<FieldOffset(63 * sxlChannelConfigSize + sxldrvConfigOffset)> Public channel63 As s_xl_channel_config		'235
	End Structure

	Const sxlChannelConfigSize = 227
	Const sxldrvConfigOffset = 48

<StructLayout(LayoutKind.Explicit, Size:=sxlChannelConfigSize)> _

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -