1.添加boot模式下支持的DID

2.预加周立功驱动,还没有加好。
This commit is contained in:
刘大贵 2024-11-13 18:01:40 +08:00
parent beceab4798
commit 48f9148fb6
37 changed files with 8179 additions and 15545 deletions

Binary file not shown.

View File

@ -1,48 +1,65 @@
{
"Version": 1,
"WorkspaceRootPath": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\",
"WorkspaceRootPath": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|uds_tools||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\hongri_uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\candevice\\pcan\\pcanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\hongri_uds_tools\\can_tool\\cantoolform.diag.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\cantoolform.diag.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\cantoolform.update.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\cantoolform.update.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\pcan\\pcanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\pcan\\pcanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\candevice\\pcan\\pcan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\pcan\\pcan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\candevice\\gccan\\gc_ecanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\gccan\\gc_ecanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\candevice\\gccan\\gc_ecan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\gccan\\gc_ecan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\gccan\\gc_ecan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\uds_tools\\can_tool\\||{B270807C-D8C6-49EB-8EBE-8E8D566637A1}|f8d6553f-f752-4dbf-acb6-f291b744a792"
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\pcan\\pcan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\pcan\\pcan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\hongri_uds_tools\\can_tool\\candevice\\toomoss\\usb2canfd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\toomoss\\usb2canfd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\zlg\\zlg_can.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\zlg\\zlg_can.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\zlg\\zlg_canbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\zlg\\zlg_canbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\gccan\\gc_ecanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\gccan\\gc_ecanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|uds_tools||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
}
],
"DocumentGroupContainers": [
@ -52,17 +69,17 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 1,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 6,
"Title": "ToSun.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"ViewState": "AgIAADUAAAAAAAAAAAAQwI8AAAAgAAAAAAAAAA==",
"ViewState": "AgIAAM4AAAAAAAAAAAAUwAMBAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:59:41.934Z",
"IsPinned": true,
@ -70,62 +87,50 @@
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "UDS.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\UDS.cs",
"RelativeDocumentMoniker": "CAN_Tool\\UDS.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\UDS.cs",
"RelativeToolTip": "CAN_Tool\\UDS.cs",
"ViewState": "AgIAAJoBAAAAAAAAAAAcwKkBAAAAAAAAAAAAAA==",
"DocumentIndex": 2,
"Title": "CanToolForm.Diag.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Diag.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanToolForm.Diag.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Diag.cs",
"RelativeToolTip": "CAN_Tool\\CanToolForm.Diag.cs",
"ViewState": "AgIAAA8AAAAAAAAAAADgvx0AAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T08:33:03.505Z",
"WhenOpened": "2024-11-13T01:28:24.35Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "uds_tools",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.csproj",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.csproj",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.csproj",
"RelativeToolTip": "CAN_Tool\\uds_tools.csproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
"WhenOpened": "2024-11-06T08:27:23.586Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "uds_tools.Designer.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.Designer.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.Designer.cs",
"ViewState": "AgIAAE8AAAAAAAAAAAAtwDwAAAAcAAAAAAAAAA==",
"DocumentIndex": 8,
"Title": "Pcan.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ViewState": "AgIAADoBAAAAAAAAAAAgwFgBAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T08:22:58.434Z",
"WhenOpened": "2024-11-06T03:57:50.869Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "uds_tools.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.cs",
"ViewState": "AgIAAGoGAAAAAAAAAAArwIYGAAAvAAAAAAAAAA==",
"Title": "PCANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ViewState": "AgIAAKkEAAAAAAAAAAAcwLQEAAApAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T04:48:46.253Z",
"WhenOpened": "2024-11-06T04:01:51.647Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 0,
"Title": "uds_tools.cs [\u8BBE\u8BA1]",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.cs [\u8BBE\u8BA1]",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs [\u8BBE\u8BA1]",
"RelativeToolTip": "CAN_Tool\\uds_tools.cs [\u8BBE\u8BA1]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T05:18:35.248Z",
@ -133,55 +138,131 @@
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "PCANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ViewState": "AgIAAEwEAAAAAAAAAAAAwFoEAAApAAAAAAAAAA==",
"DocumentIndex": 9,
"Title": "usb2canfd.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"ViewState": "AgIAADMAAAAAAAAAAAAgwEIAAAAaAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T04:01:51.647Z",
"WhenOpened": "2024-11-12T02:20:22.524Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Pcan.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ViewState": "AgIAAKgAAAAAAAAAAAAQwLUAAABGAAAAAAAAAA==",
"DocumentIndex": 1,
"Title": "uds_tools.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.cs",
"ViewState": "AgIAALUEAAAAAAAAAAD4v8AEAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:57:50.869Z",
"WhenOpened": "2024-11-06T04:48:46.253Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"DocumentIndex": 11,
"Title": "ZLG_CANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"ViewState": "AgIAACwAAAAAAAAAAAAQwE0AAAASAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-11T09:15:57.44Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "ZLG_CAN.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAPAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-11T09:16:05.909Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "GC_ECANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"ViewState": "AgIAAEsAAAAAAAAAAAAUwJkAAAAvAAAAAAAAAA==",
"ViewState": "AgIAAF4AAAAAAAAAAAAUwGoAAAAYAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:51:53.1Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"DocumentIndex": 3,
"Title": "uds_tools.Designer.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.Designer.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.Designer.cs",
"ViewState": "AgIAAGADAAAAAAAAAAD4v28DAAAoAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T08:22:58.434Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "CanToolForm.Update.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Update.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanToolForm.Update.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Update.cs",
"RelativeToolTip": "CAN_Tool\\CanToolForm.Update.cs",
"ViewState": "AgIAADwFAAAAAAAAAAAjwKUFAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-11T02:36:32.806Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "GC_ECAN.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAbAAAAAAAAAA==",
"ViewState": "AgIAAMMAAAAAAAAAAAAAANYAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:51:43.461Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "uds_tools",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.csproj",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.csproj",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.csproj",
"RelativeToolTip": "CAN_Tool\\uds_tools.csproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
"WhenOpened": "2024-11-06T08:27:23.586Z"
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "UDS.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\UDS.cs",
"RelativeDocumentMoniker": "CAN_Tool\\UDS.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\UDS.cs",
"RelativeToolTip": "CAN_Tool\\UDS.cs",
"ViewState": "AgIAAJoBAAAAAAAAAAAcwKkBAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T08:33:03.505Z",
"EditorCaption": ""
}
]
}

View File

@ -1,45 +1,65 @@
{
"Version": 1,
"WorkspaceRootPath": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\",
"WorkspaceRootPath": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\git\\uds_tools\\can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|uds_tools||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\hongri_uds_tools\\can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\candevice\\pcan\\pcanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\hongri_uds_tools\\can_tool\\cantoolform.diag.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\cantoolform.diag.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds_tools.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\cantoolform.update.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\cantoolform.update.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\pcan\\pcanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\pcan\\pcanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\candevice\\pcan\\pcan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\tosun\\tosun.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\gccan\\gc_ecan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\gccan\\gc_ecan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\pcan\\pcan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\pcan\\pcan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\candevice\\gccan\\gc_ecanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|e:\\liudagui\\project\\hongri\\code\\dev\\hongri_uds_tools\\can_tool\\candevice\\toomoss\\usb2canfd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\toomoss\\usb2canfd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\zlg\\zlg_can.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\zlg\\zlg_can.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\zlg\\zlg_canbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\zlg\\zlg_canbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\candevice\\gccan\\gc_ecanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\gccan\\gc_ecanbasic.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\can_tool\\candevice\\gccan\\gc_ecan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\candevice\\gccan\\gc_ecan.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{F7B5DB9E-0890-47ED-813C-324B0AF56390}|CAN_Tool\\uds_tools.csproj|solutionrelative:can_tool\\uds.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|uds_tools||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
}
],
"DocumentGroupContainers": [
@ -49,127 +69,200 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 1,
"SelectedChildIndex": 4,
"Children": [
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 6,
"Title": "ToSun.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\TOSUN\\ToSun.cs",
"ViewState": "AgIAADUAAAAAAAAAAAAQwI8AAAAgAAAAAAAAAA==",
"ViewState": "AgIAAM4AAAAAAAAAAAAUwAMBAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:59:41.934Z",
"IsPinned": true
"IsPinned": true,
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "CanToolForm.Diag.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Diag.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanToolForm.Diag.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Diag.cs",
"RelativeToolTip": "CAN_Tool\\CanToolForm.Diag.cs",
"ViewState": "AgIAAA8AAAAAAAAAAADgvx0AAAAdAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-13T01:28:24.35Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "Pcan.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ViewState": "AgIAADoBAAAAAAAAAAAgwFgBAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:57:50.869Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "PCANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ViewState": "AgIAAKkEAAAAAAAAAAAcwLQEAAApAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T04:01:51.647Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "UDS.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\UDS.cs",
"RelativeDocumentMoniker": "CAN_Tool\\UDS.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\UDS.cs",
"RelativeToolTip": "CAN_Tool\\UDS.cs",
"ViewState": "AgIAAJoBAAAAAAAAAAAcwKkBAAAAAAAAAAAAAA==",
"Title": "uds_tools.cs [\u8BBE\u8BA1]",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs [\u8BBE\u8BA1]",
"RelativeToolTip": "CAN_Tool\\uds_tools.cs [\u8BBE\u8BA1]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T08:33:03.505Z",
"WhenOpened": "2024-11-06T05:18:35.248Z",
"EditorCaption": " [\u8BBE\u8BA1]"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "usb2canfd.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\TOOMOSS\\usb2canfd.cs",
"ViewState": "AgIAADMAAAAAAAAAAAAgwEIAAAAaAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-12T02:20:22.524Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "uds_tools.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.cs",
"ViewState": "AgIAALUEAAAAAAAAAAD4v8AEAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T04:48:46.253Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "ZLG_CANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CANBasic.cs",
"ViewState": "AgIAACwAAAAAAAAAAAAQwE0AAAASAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-11T09:15:57.44Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "ZLG_CAN.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\ZLG\\ZLG_CAN.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAABAAAAAPAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-11T09:16:05.909Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 12,
"Title": "GC_ECANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"ViewState": "AgIAAF4AAAAAAAAAAAAUwGoAAAAYAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:51:53.1Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "uds_tools.Designer.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.Designer.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.Designer.cs",
"ViewState": "AgIAAGADAAAAAAAAAAD4v28DAAAoAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T08:22:58.434Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "CanToolForm.Update.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Update.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanToolForm.Update.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanToolForm.Update.cs",
"RelativeToolTip": "CAN_Tool\\CanToolForm.Update.cs",
"ViewState": "AgIAADwFAAAAAAAAAAAjwKUFAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-11T02:36:32.806Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "GC_ECAN.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"ViewState": "AgIAAMMAAAAAAAAAAAAAANYAAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:51:43.461Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 14,
"Title": "uds_tools",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\uds_tools.csproj",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.csproj",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.csproj",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\uds_tools.csproj",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\uds_tools.csproj",
"RelativeToolTip": "CAN_Tool\\uds_tools.csproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
"WhenOpened": "2024-11-06T08:27:23.586Z"
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "uds_tools.Designer.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.Designer.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\uds_tools.Designer.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.Designer.cs",
"ViewState": "AgIAAE8AAAAAAAAAAAAtwDwAAAAcAAAAAAAAAA==",
"DocumentIndex": 13,
"Title": "UDS.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\UDS.cs",
"RelativeDocumentMoniker": "CAN_Tool\\UDS.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\HONGRI_uds_tools\\CAN_Tool\\UDS.cs",
"RelativeToolTip": "CAN_Tool\\UDS.cs",
"ViewState": "AgIAAJoBAAAAAAAAAAAcwKkBAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T08:22:58.434Z"
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "uds_tools.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeToolTip": "CAN_Tool\\uds_tools.cs",
"ViewState": "AgIAAGoGAAAAAAAAAAArwIYGAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T04:48:46.253Z"
},
{
"$type": "Document",
"DocumentIndex": 1,
"Title": "uds_tools.cs [\u8BBE\u8BA1]",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\uds_tools.cs",
"RelativeDocumentMoniker": "CAN_Tool\\uds_tools.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\dev\\uds_tools\\CAN_Tool\\uds_tools.cs [\u8BBE\u8BA1]",
"RelativeToolTip": "..\\..\\dev\\uds_tools\\CAN_Tool\\uds_tools.cs [\u8BBE\u8BA1]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T05:18:35.248Z"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "PCANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\PCANBasic.cs",
"ViewState": "AgIAAEwEAAAAAAAAAAAAwFoEAAApAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T04:01:51.647Z"
},
{
"$type": "Document",
"DocumentIndex": 7,
"Title": "Pcan.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\PCAN\\Pcan.cs",
"ViewState": "AgIAAKgAAAAAAAAAAAAQwLUAAABGAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:57:50.869Z"
},
{
"$type": "Document",
"DocumentIndex": 8,
"Title": "GC_ECANBasic.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECANBasic.cs",
"ViewState": "AgIAAEsAAAAAAAAAAAAUwJkAAAAvAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:51:53.1Z"
},
{
"$type": "Document",
"DocumentIndex": 9,
"Title": "GC_ECAN.cs",
"DocumentMoniker": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"RelativeDocumentMoniker": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"ToolTip": "E:\\liudagui\\project\\HONGRI\\code\\git\\uds_tools\\CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"RelativeToolTip": "CAN_Tool\\CanDevice\\GCCAN\\GC_ECAN.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAYAAAAbAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-11-06T03:51:43.461Z"
"WhenOpened": "2024-11-06T08:33:03.505Z",
"EditorCaption": ""
}
]
}

View File

@ -5,12 +5,17 @@ using System.Runtime.InteropServices;
using System.Threading;
using GC_ECan.Basic;
using System.Windows.Forms;
using Peak.Can.Basic;
namespace Can
{
class ECanDevice : CanDevice
{
Thread ReadThread;
AutoResetEvent ReceiveEvent;
bool IsConnect;
//±ê×¼CAN
#region CAN
@ -50,6 +55,12 @@ namespace Can
}
else
{
IsConnect = true;
ReadThread = new Thread(new ThreadStart(this.CANReadThreadFunc));
ReceiveEvent = new System.Threading.AutoResetEvent(false);
ReadThread.IsBackground = true;
ret = "OK";
}
@ -169,6 +180,40 @@ namespace Can
return "OK";
}
private void CANReadThreadFunc()
{
UInt32 id = 0;
byte[] data = new byte[8];
int len = 0;
UInt32 iBuffer;
// TPCANStatus stsResult;
iBuffer = Convert.ToUInt32(ReceiveEvent.SafeWaitHandle.DangerousGetHandle().ToInt32());
// Sets the handle of the Receive-Event.
//
// stsResult = PCANBasic.SetValue(PcanHandle, TPCANParameter.PCAN_RECEIVE_EVENT, ref iBuffer, sizeof(UInt32));
//if (stsResult != TPCANStatus.PCAN_ERROR_OK)
//{
// return;
//}
// While this mode is selected
while (IsConnect)
{
if (ReceiveEvent.WaitOne(50))
{
while (true == CanReadMessage(ref id, data, ref len))
{
CanReadEventInvoke(id, data, len);
}
}
}
}
#endregion
//CANFD

View File

@ -0,0 +1,271 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Threading;
using ZLGCAN.Basic;
using System.Windows.Forms;
using USB2XXX;
using System.IO;
using System.Drawing;
namespace Can
{
class ZLGCanDevice : CanDevice
{
const int NULL = 0;
Thread ReadThread;
IntPtr device_handle_;
IntPtr channel_handle_;
//标准CAN
#region CAN
//CAN初始化
public override string CanInit()
{
string ret;
uint device_type; // 设备类型
uint device_index; // 设备号
uint channel_index; // 通道
uint reserved;
uint temp_error;
ZCAN_CHANNEL_INIT_CONFIG config_ = new ZCAN_CHANNEL_INIT_CONFIG();
//
device_type = Define.ZCAN_USBCAN2; // 设备类型 USBCANII / II + 、 MiniPCIeCAN II
device_index = 0; // 设备
channel_index = 0;// 通道号
reserved = 0;
temp_error = 0;
//
config_.can_type = Define.TYPE_CAN;
config_.can.filter = 0;
config_.can.acc_code = 0;
config_.can.acc_mask = 0xFFFFFFFF;
config_.can.mode = 0;
// 打开设备
device_handle_ = Method.ZCAN_OpenDevice(device_type, device_index, reserved);
if(NULL == (int)device_handle_)
{
temp_error = 1;
}
// 设波特率
string path = channel_index + "/baud_rate_custom";
string baudrate = "500000"; // 500K
Method.ZCAN_SetValue(device_handle_, path, Encoding.ASCII.GetBytes(baudrate));
//
// 初始化设置
IntPtr pConfig = Marshal.AllocHGlobal(Marshal.SizeOf(config_));
Marshal.StructureToPtr(config_, pConfig, true);
channel_handle_ = Method.ZCAN_InitCAN(device_handle_, (uint)channel_index, pConfig);
if (NULL == (int)channel_handle_)
{
temp_error = 1;
}
// 启动对应的can
if (Method.ZCAN_StartCAN((IntPtr)channel_index) != Define.STATUS_OK)
{
temp_error = 1;
}
if (temp_error == 1)
{
ret = "Error!";
}
else
{
ret = "OK";
}
return ret;
}
//CAN逆初始化
public override string CanDeInit()
{
string ret;
if(Method.ZCAN_CloseDevice(device_handle_) == Define.STATUS_OK)
{
ret = "OK";
}
else
{
ret = "断开连接失败";
}
return ret;
}
public override string CanReceiveEventEnable()
{
string ret;
if (null == ReadThread)
{
ret = "线程为null";
}
else
{
ReadThread.Start();
ret = "OK";
}
return ret;
}
public override string CanReceiveEventDisable()
{
string ret;
if (null == ReadThread)
{
ret = "线程为null";
}
else
{
ReadThread.Abort();
ret = "OK";
}
return ret;
}
// CAN发送一帧报文
public override void CanSendMessage(UInt32 id, byte[] data, int len)
{
//uint temp_error;
// temp_error = 0;
ZCAN_Transmit_Data can_data = new ZCAN_Transmit_Data();
can_data.frame.data = new byte[8];
can_data.frame.can_id = id;
for(int i = 0;i< len;i++)
{
can_data.frame.data[i] = data[i];
}
can_data.frame.can_dlc = (byte)len;
can_data.transmit_type = 0; // 正常发送
IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(can_data));
// Marshal.StructureToPtr(can_data, ptr, true);
if(Method.ZCAN_Transmit(device_handle_, ptr, 1) != 1)
{
// temp_error = 1;
}
}
//CAN从FIFO接收一帧报文
public override bool CanReadMessage(ref UInt32 id, byte[] data, ref int len)
{
ZCAN_Receive_Data[] can_data = new ZCAN_Receive_Data[16];
const int TYPE_CAN = 0;
uint len_size;
bool ret = false;
len_size = Method.ZCAN_GetReceiveNum(channel_handle_, TYPE_CAN);
if(len_size > 0)
{
int size = Marshal.SizeOf(typeof(ZCAN_Receive_Data));
IntPtr ptr = Marshal.AllocHGlobal((int)100 * size);
Method.ZCAN_Receive(channel_handle_, ptr, 100, 50);
for (int i = 0; i < len_size; ++i)
{
can_data[i] = (ZCAN_Receive_Data)Marshal.PtrToStructure(
(IntPtr)((Int64)ptr + i * size), typeof(ZCAN_Receive_Data));
}
}
return ret;
}
// 设置过滤设置
public override string CanSetFilter(UInt32 stratId, UInt32 endId)
{
return "OK";
}
#endregion
//CANFD
#region CANFD
//CANFD初始化
public override string CanFdInit()
{
return "OK";
}
//CANFD初始化
public override string CanFdDeInit()
{
// return this.CanDeInit();
string ret;
ret = "OK";
return ret;
}
// CanFD 过滤器设置
public override string CanFdSetFilter(UInt32 stratId, UInt32 endId)
{
//清除所有过滤器
//设置过滤
return "OK";
}
// 开接收
public override string CanFdReceiveEventEnable()
{
return this.CanReceiveEventEnable();
}
// 关接收
public override string CanFdReceiveEventDisable()
{
return this.CanReceiveEventDisable();
}
//CANFD发送一帧报文
public override void CanFdSendMessage(UInt32 id, byte[] data, int len)
{
}
//CANFD从FIFO接收一帧报文
public override bool CanFdReadMessage(ref UInt32 id, byte[] data, ref int len)
{
bool ret = false;
return ret;
}
#endregion
}
}

View File

@ -0,0 +1,506 @@
using System;
using System.Runtime.InteropServices;
namespace ZLGCAN.Basic
{
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN
{
public uint acc_code;
public uint acc_mask;
public uint reserved;
public byte filter;
public byte timing0;
public byte timing1;
public byte mode;
};
[StructLayout(LayoutKind.Sequential)]
public struct CANFD
{
public uint acc_code;
public uint acc_mask;
public uint abit_timing;
public uint dbit_timing;
public uint brp;
public byte filter;
public byte mode;
public UInt16 pad;
public uint reserved;
};
[StructLayout(LayoutKind.Sequential)]
public struct can_frame
{
public uint can_id; /* 32 bit MAKE_CAN_ID + EFF/RTR/ERR flags */
public byte can_dlc; /* frame payload length in byte (0 .. CAN_MAX_DLEN) */
public byte __pad; /* padding */
public byte __res0; /* reserved / padding */
public byte __res1; /* reserved / padding */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] data/* __attribute__((aligned(8)))*/;
};
[StructLayout(LayoutKind.Sequential)]
public struct canfd_frame
{
public uint can_id; /* 32 bit MAKE_CAN_ID + EFF/RTR/ERR flags */
public byte len; /* frame payload length in byte */
public byte flags; /* additional flags for CAN FD,i.e error code */
public byte __res0; /* reserved / padding */
public byte __res1; /* reserved / padding */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public byte[] data/* __attribute__((aligned(8)))*/;
};
[StructLayout(LayoutKind.Explicit)]
public struct ZCAN_CHANNEL_INIT_CONFIG
{
[FieldOffset(0)]
public uint can_type; //type:TYPE_CAN TYPE_CANFD
[FieldOffset(4)]
public ZCAN can;
[FieldOffset(4)]
public CANFD canfd;
};
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_Transmit_Data
{
public can_frame frame;
public uint transmit_type;
};
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_Receive_Data
{
public can_frame frame;
public UInt64 timestamp;//us
};
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_TransmitFD_Data
{
public canfd_frame frame;
public uint transmit_type;
};
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_AUTO_TRANSMIT_OBJ //CAN定时发送帧结构体
{
public ushort enable; //0-禁用1-使能
public ushort index; //定时报文索引
public uint interval; //定时周期
public ZCAN_Transmit_Data obj;
};
[StructLayout(LayoutKind.Sequential)]
public struct ZCANFD_AUTO_TRANSMIT_OBJ //CANFD定时发送帧结构体
{
public ushort enable; //0-禁用1-使能
public ushort index; //定时报文索引
public uint interval; //定时周期
public ZCAN_TransmitFD_Data obj;
};
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct ZCANLINEventData
{
public UInt64 timeStamp;
public byte type;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 7)]
public byte[] reserved;
}
public struct DeviceInfo
{
public uint device_type; //设备类型
public uint channel_count;//设备的通道个数
public DeviceInfo(uint type, uint count)
{
device_type = type;
channel_count = count;
}
};
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_ReceiveFD_Data
{
public canfd_frame frame;
public UInt64 timestamp;//us
};
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_CHANNEL_ERROR_INFO
{
public uint error_code;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
public byte[] passive_ErrData;
public byte arLost_ErrData;
};
//for zlg cloud
[StructLayout(LayoutKind.Sequential)]
public struct ZCLOUD_CHNINFO
{
public byte enable;
public byte type;
public byte isUpload;
public byte isDownload;
};
//for zlg cloud
[StructLayout(LayoutKind.Sequential)]
public struct ZCLOUD_DEVINFO
{
public int devIndex;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] type;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] id;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] name;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] owner;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] model;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public char[] fwVer;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public char[] hwVer;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] serial;
public int status; // 0:online, 1:offline
//[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public byte bGpsUploads;
public byte channelCnt; // each channel enable can upload
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public ZCLOUD_CHNINFO[] channels;
};
//[StructLayout(LayoutKind.Sequential)]
//public struct ZCLOUD_DEV_GROUP_INFO
//{
// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
// public char[] groupName;
// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 128)]
// public char[] desc;
// [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
// public char[] groupId;
// //public ZCLOUD_DEVINFO *pDevices;
// public IntPtr pDevices;
// public uint devSize;
//};
[StructLayout(LayoutKind.Sequential)]
public struct ZCLOUD_USER_DATA
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] username;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public char[] mobile;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 16)]
public char[] dllVer;
public uint devCnt;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 100)]
public ZCLOUD_DEVINFO[] devices;
};
//LIN_init_config
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_LIN_INIT_CONFIG
{
public byte linMode; //0-slave,1-master
public byte chkSumMode; //1-经典校验2-增强校验 3-自动(对应eZLINChkSumMode的模式)
public UInt16 reserved;
public uint libBaud; //波特率取值1000~20000
};
//ZCAN_LIN_PUBLISH_CFG注册从站响应报文
[StructLayout(LayoutKind.Sequential)]
public struct ZCAN_LIN_PUBLISH_CFG
{
public byte ID; //受保护的IDID取值范围为0-63
public byte datelen; //范围1~8
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)] //数据段内容
public byte[] data;
public byte chkSumMode; //校验方式0-默认,启动时配置 1-经典校验 2-增强校验(对应eZLINChkSumMode的模式)
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
public byte[] reserved;
};
/////////////////////LIN收发报文结构体////////////////
//LIN收发的ID
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct PID
{
public byte rawVal;
}
//LIN收发的数据段部分
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct RxData
{
public UInt64 timeStamp;
public byte datalen;
public byte dir;
public byte chkSum;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 13)]
public byte[] reserved;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] data;
}
//LIN收发的报文部分结构体
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct ZCANLINData
{
public PID pid;
public RxData rxData;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 13)]
public byte[] reserved;
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct Reserved
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 46)]
public byte[] reserved;
}
//ZCAN_LIN_MSG发送/接收LIN的结构体
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct ZCAN_LIN_MSG
{
public byte chnl; //数据通道
public byte dataType; //0-LIN1-ErrLIN
public ZCANLINData zcanLINData; //数据段内容共40字节
//FieldOffset(2)]
// public ZCAN_AUTO_TRANSMIT_OBJ ZCAN_OBJ;
};
//////////////////合并发送/接收的结构体////////////////////////////////////
public class flag
{
public const uint CANFD_FLAG = 0x1; //1代表CANFD报文0代表CAN报文
public const uint TXDELAY_FLAG = 0x4; //发送有效,队列发送标志位
public const uint TRANSMIT_TYPE_FLAG = 0x0; //正常发送
public const uint TXECHOREQUEST_FLAG = 0x100; //发送回显请求,发送有效
public const uint TXECHOED_FLAG = 0x200; //发送回显标志,接收有效
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct ZCANCANFDData
{
public UInt64 timeStamp;
public UInt32 flag;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public byte[] extraData; //未使用
public canfd_frame frame; //实际报文结构体
}
[StructLayout(LayoutKind.Sequential, Pack = 1)]
public struct ZCANDataObj
{
public byte dataType; //1-can/canfd数据。
public byte chnl; //数据通道
public UInt16 flag; //未使用
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public byte[] extraData; //未使用
public ZCANCANFDData zcanCANFDData; //报文结构体
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
public byte[] reserve; //用于字节对齐
}
public class Define
{
public const int TYPE_CAN = 0;
public const int TYPE_CANFD = 1;
public const int ZCAN_USBCAN1 = 3;
public const int ZCAN_USBCAN2 = 4;
public const int ZCAN_PCI9820I = 16;
public const int ZCAN_CANETUDP = 12;
public const int ZCAN_CANETTCP = 17;
public const int ZCAN_CANWIFI_TCP = 25;
public const int ZCAN_USBCAN_E_U = 20;
public const int ZCAN_USBCAN_2E_U = 21;
public const int ZCAN_USBCAN_4E_U = 31;
public const int ZCAN_PCIECANFD_100U = 38;
public const int ZCAN_PCIECANFD_200U = 39;
public const int ZCAN_PCIECANFD_200U_EX = 62;
public const int ZCAN_PCIECANFD_400U = 61;
public const int ZCAN_USBCANFD_200U = 41;
public const int ZCAN_USBCANFD_400U = 76;
public const int ZCAN_USBCANFD_100U = 42;
public const int ZCAN_USBCANFD_MINI = 43;
public const int ZCAN_USBCANFD_800U = 59;
public const int ZCAN_CLOUD = 46;
public const int ZCAN_CANFDNET_200U_TCP = 48;
public const int ZCAN_CANFDNET_200U_UDP = 49;
public const int ZCAN_CANFDNET_400U_TCP = 52;
public const int ZCAN_CANFDNET_400U_UDP = 53;
public const int ZCAN_CANFDNET_800U_TCP = 57;
public const int ZCAN_CANFDNET_800U_UDP = 58;
public const int STATUS_ERR = 0;
public const int STATUS_OK = 1;
};
public class Method
{
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr ZCAN_OpenDevice(uint device_type, uint device_index, uint reserved);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_CloseDevice(IntPtr device_handle);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
// pInitConfig -> ZCAN_CHANNEL_INIT_CONFIG
public static extern IntPtr ZCAN_InitCAN(IntPtr device_handle, uint can_index, IntPtr pInitConfig);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_SetValue(IntPtr device_handle, string path, byte[] value);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_SetValue(IntPtr device_handle, string path, IntPtr value);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr ZCAN_GetValue(IntPtr device_handle, string path);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_StartCAN(IntPtr channel_handle);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_ResetCAN(IntPtr channel_handle);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_ClearBuffer(IntPtr channel_handle);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
// pTransmit -> ZCAN_Transmit_Data
public static extern uint ZCAN_Transmit(IntPtr channel_handle, IntPtr pTransmit, uint len);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
// pTransmit -> ZCAN_TransmitFD_Data
public static extern uint ZCAN_TransmitFD(IntPtr channel_handle, IntPtr pTransmit, uint len);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
// pTransmit -> ZCAN_TransmitFD_Data
public static extern uint ZCAN_TransmitData(IntPtr device_handle, IntPtr pTransmit, uint len);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_GetReceiveNum(IntPtr channel_handle, byte type);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_Receive(IntPtr channel_handle, IntPtr data, uint len, int wait_time = -1);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_ReceiveFD(IntPtr channel_handle, IntPtr data, uint len, int wait_time = -1);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_ReceiveData(IntPtr device_handle, IntPtr data, uint len, int wait_time = -1);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
// pErrInfo -> ZCAN_CHANNEL_ERROR_INFO
public static extern uint ZCAN_ReadChannelErrInfo(IntPtr channel_handle, IntPtr pErrInfo);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr GetIProperty(IntPtr device_handle);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern bool ZCLOUD_IsConnected();
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern void ZCLOUD_SetServerInfo(string httpAddr, ushort httpPort,
string mqttAddr, ushort mqttPort);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCLOUD_ConnectServer(string username, string password);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCLOUD_DisconnectServer();
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr ZCLOUD_GetUserData(int updata);
///////////LIN相关接口函数////////
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern IntPtr ZCAN_InitLIN(IntPtr device_handle, uint lin_index, IntPtr pLINinitConfig);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_StartLIN(IntPtr channel_handle);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_ResetLIN(IntPtr channel_handle);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_TransmitLIN(IntPtr channel_handle, IntPtr pTransmit, uint len);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_ReceiveLIN(IntPtr channel_handle, IntPtr data, uint len, int wait_time);
[DllImport("zlgcan.dll", CallingConvention = CallingConvention.StdCall)]
public static extern uint ZCAN_SetLINPublish(IntPtr channel_handle, IntPtr data, uint nPublishCount); //注册响应报文
}
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate int SetValueFunc(string path, byte[] value);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate IntPtr GetValueFunc(string path);
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate IntPtr GetPropertysFunc(string path, string value);
public struct IProperty
{
public SetValueFunc SetValue;
public GetValueFunc GetValue;
public GetPropertysFunc GetPropertys;
};
}

View File

@ -290,6 +290,9 @@ namespace CanTool
/*21*/
new UpdateStepItem(UDSUpdateECUHardReset0x03, UpdateReplyECUReset),
/* 22 */
new UpdateStepItem(UpdateToolsDeinit, null),
};
#endregion

View File

@ -14,7 +14,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>Sy9ylKWrFbd9KeJ59V76jUWUp8FPTOdM4Tz0rdkSwp8=</dsig:DigestValue>
<dsig:DigestValue>J/ZWXWeg25TP1LI1XBgOgklGi/gQ9jJOv5yh2G/MyyU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

Binary file not shown.

View File

@ -42,14 +42,14 @@
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CanTool.exe" size="117248">
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CanTool.exe" size="128000">
<assemblyIdentity name="CanTool" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>OxFesbJMFlyYsuPilhufcJBAg7CkGd6jmC8a2FjUL5k=</dsig:DigestValue>
<dsig:DigestValue>pAYtSUHtNoGdpQxqSN9pfCdZqPjN6trIgq2DGaaocwY=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

Binary file not shown.

View File

@ -1,66 +0,0 @@
:020000040802F0
:20380000485230315F4150502020202020202020AA55AA55AA55AA55AA55AA55AA55AA5575
:20382000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5598
:20384000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5578
:20386000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5558
:20388000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5538
:2038A000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5518
:2038C000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F8
:2038E000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D8
:20390000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55B7
:20392000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5597
:20394000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5577
:20396000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5557
:20398000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5537
:2039A000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5517
:2039C000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F7
:2039E000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D7
:203A0000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55B6
:203A2000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5596
:203A4000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5576
:203A6000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5556
:203A8000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5536
:203AA000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5516
:203AC000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F6
:203AE000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D6
:203B0000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55B5
:203B2000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5595
:203B4000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5575
:203B6000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5555
:203B8000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5535
:203BA000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5515
:203BC000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F5
:203BE000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D5
:203C0000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55B4
:203C2000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5594
:203C4000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5574
:203C6000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5554
:203C8000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5534
:203CA000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5514
:203CC000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F4
:203CE000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D4
:203D0000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55B3
:203D2000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5593
:203D4000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5573
:203D6000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5553
:203D8000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5533
:203DA000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5513
:203DC000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F3
:203DE000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D3
:203E0000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55B2
:203E2000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5592
:203E4000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5572
:203E6000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5552
:203E8000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5532
:203EA000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5512
:203EC000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F2
:203EE000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D2
:203F0000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55B1
:203F2000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5591
:203F4000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5571
:203F6000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5551
:203F8000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5531
:203FA000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA5511
:203FC000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55F1
:203FE000AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55AA55D1
:00000001FF

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -14,7 +14,7 @@
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>Sy9ylKWrFbd9KeJ59V76jUWUp8FPTOdM4Tz0rdkSwp8=</dsig:DigestValue>
<dsig:DigestValue>J/ZWXWeg25TP1LI1XBgOgklGi/gQ9jJOv5yh2G/MyyU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

Binary file not shown.

View File

@ -42,14 +42,14 @@
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CanTool.exe" size="117248">
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CanTool.exe" size="128000">
<assemblyIdentity name="CanTool" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>OxFesbJMFlyYsuPilhufcJBAg7CkGd6jmC8a2FjUL5k=</dsig:DigestValue>
<dsig:DigestValue>pAYtSUHtNoGdpQxqSN9pfCdZqPjN6trIgq2DGaaocwY=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>

Binary file not shown.

View File

@ -1 +1 @@
de7bf1db613257b0cb89efa5a9577d1dda72ec4e6ffa7df7818c520682bb55c0
393ffe9685cc444ba5ded6754fa31b30fd046ce0cd34af44229e5282d9c1df13

View File

@ -1,32 +1,16 @@
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.AssemblyReference.cache
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\CanTool.MessageConfigForm.resources
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\CanTool.uds_tools.resources
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\CanTool.Properties.Resources.resources
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.GenerateResource.cache
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.CoreCompileInputs.cache
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\bin\Debug\CanTool.exe.config
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\bin\Debug\CanTool.exe.manifest
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\bin\Debug\CanTool.application
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\bin\Debug\CanTool.exe
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\bin\Debug\CanTool.pdb
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\CanTool.exe.manifest
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\CanTool.application
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.Up2Date
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\CanTool.exe
E:\liudagui\project\HONGRI\code\dev\uds_tools\CAN_Tool\obj\Debug\CanTool.pdb
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\bin\Debug\CanTool.exe.config
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\bin\Debug\CanTool.exe.manifest
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\bin\Debug\CanTool.application
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\bin\Debug\CanTool.exe
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\bin\Debug\CanTool.pdb
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.AssemblyReference.cache
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\CanTool.MessageConfigForm.resources
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\CanTool.uds_tools.resources
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\CanTool.Properties.Resources.resources
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.GenerateResource.cache
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.CoreCompileInputs.cache
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\CanTool.exe.manifest
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\CanTool.application
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.Up2Date
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\CanTool.exe
E:\liudagui\project\HONGRI\code\git\uds_tools\CAN_Tool\obj\Debug\CanTool.pdb
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\bin\Debug\CanTool.exe.config
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\bin\Debug\CanTool.exe.manifest
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\bin\Debug\CanTool.application
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\bin\Debug\CanTool.exe
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\bin\Debug\CanTool.pdb
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.AssemblyReference.cache
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\CanTool.MessageConfigForm.resources
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\CanTool.uds_tools.resources
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\CanTool.Properties.Resources.resources
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.GenerateResource.cache
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.CoreCompileInputs.cache
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\CanTool.exe.manifest
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\CanTool.application
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\uds_tools.csproj.Up2Date
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\CanTool.exe
E:\liudagui\project\HONGRI\code\dev\HONGRI_uds_tools\CAN_Tool\obj\Debug\CanTool.pdb

View File

@ -41,7 +41,6 @@
this.btProgram = new System.Windows.Forms.Button();
this.btDefault = new System.Windows.Forms.Button();
this.btlev1 = new System.Windows.Forms.Button();
this.btlev2 = new System.Windows.Forms.Button();
this.timerSendMsg = new System.Windows.Forms.Timer(this.components);
this.btClrDial = new System.Windows.Forms.Button();
this.btComOff = new System.Windows.Forms.Button();
@ -49,11 +48,8 @@
this.timerFlashMain = new System.Windows.Forms.Timer(this.components);
this.timer1s = new System.Windows.Forms.Timer(this.components);
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.btnSecurityAccessLevel3 = new System.Windows.Forms.Button();
this.btnSecurityAccessLevel4 = new System.Windows.Forms.Button();
this.btnECUReset = new System.Windows.Forms.Button();
this.btnStartUpdataBoot = new System.Windows.Forms.Button();
this.btnResetSecurityKey = new System.Windows.Forms.Button();
this.btnRelease = new System.Windows.Forms.Button();
this.tabControl1 = new System.Windows.Forms.TabControl();
this.UpgradeFunctionTest = new System.Windows.Forms.TabPage();
@ -107,6 +103,20 @@
this.tsmiEditMessage = new System.Windows.Forms.ToolStripMenuItem();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.timer2 = new System.Windows.Forms.Timer(this.components);
this.btDidF183 = new System.Windows.Forms.Button();
this.btDidF187 = new System.Windows.Forms.Button();
this.btDidF188 = new System.Windows.Forms.Button();
this.btDidF18A = new System.Windows.Forms.Button();
this.btDidF18B = new System.Windows.Forms.Button();
this.btDidF18C = new System.Windows.Forms.Button();
this.btDidF190 = new System.Windows.Forms.Button();
this.btDidF193 = new System.Windows.Forms.Button();
this.btDidF195 = new System.Windows.Forms.Button();
this.btDidF197 = new System.Windows.Forms.Button();
this.btDidClearn = new System.Windows.Forms.Button();
this.textBoxDidF183 = new System.Windows.Forms.TextBox();
this.textBoxDidF187 = new System.Windows.Forms.TextBox();
this.textBoxDidF193 = new System.Windows.Forms.TextBox();
this.groupBox4.SuspendLayout();
this.tabControl1.SuspendLayout();
this.UpgradeFunctionTest.SuspendLayout();
@ -135,6 +145,7 @@
"TOSUN",
"PCAN",
"GC_USBCAN_II",
"ZLG_USBCAN-II",
"TOOMOSS"});
this.cbbDeviceType.Location = new System.Drawing.Point(23, 32);
this.cbbDeviceType.Name = "cbbDeviceType";
@ -185,7 +196,7 @@
//
// button1
//
this.button1.Location = new System.Drawing.Point(164, 19);
this.button1.Location = new System.Drawing.Point(161, 15);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 41;
@ -195,7 +206,7 @@
//
// btProgram
//
this.btProgram.Location = new System.Drawing.Point(83, 19);
this.btProgram.Location = new System.Drawing.Point(81, 15);
this.btProgram.Name = "btProgram";
this.btProgram.Size = new System.Drawing.Size(75, 23);
this.btProgram.TabIndex = 41;
@ -205,7 +216,7 @@
//
// btDefault
//
this.btDefault.Location = new System.Drawing.Point(4, 19);
this.btDefault.Location = new System.Drawing.Point(4, 15);
this.btDefault.Name = "btDefault";
this.btDefault.Size = new System.Drawing.Size(75, 23);
this.btDefault.TabIndex = 41;
@ -215,7 +226,7 @@
//
// btlev1
//
this.btlev1.Location = new System.Drawing.Point(4, 50);
this.btlev1.Location = new System.Drawing.Point(242, 15);
this.btlev1.Name = "btlev1";
this.btlev1.Size = new System.Drawing.Size(65, 23);
this.btlev1.TabIndex = 45;
@ -223,16 +234,6 @@
this.btlev1.UseVisualStyleBackColor = true;
this.btlev1.Click += new System.EventHandler(this.btlev1_Click);
//
// btlev2
//
this.btlev2.Location = new System.Drawing.Point(75, 50);
this.btlev2.Name = "btlev2";
this.btlev2.Size = new System.Drawing.Size(65, 23);
this.btlev2.TabIndex = 45;
this.btlev2.Text = "二级解锁";
this.btlev2.UseVisualStyleBackColor = true;
this.btlev2.Click += new System.EventHandler(this.btlev2_Click);
//
// timerSendMsg
//
this.timerSendMsg.Interval = 20;
@ -240,7 +241,7 @@
//
// btClrDial
//
this.btClrDial.Location = new System.Drawing.Point(6, 115);
this.btClrDial.Location = new System.Drawing.Point(6, 43);
this.btClrDial.Name = "btClrDial";
this.btClrDial.Size = new System.Drawing.Size(75, 23);
this.btClrDial.TabIndex = 47;
@ -250,7 +251,7 @@
//
// btComOff
//
this.btComOff.Location = new System.Drawing.Point(4, 144);
this.btComOff.Location = new System.Drawing.Point(4, 71);
this.btComOff.Name = "btComOff";
this.btComOff.Size = new System.Drawing.Size(151, 23);
this.btComOff.TabIndex = 47;
@ -260,7 +261,7 @@
//
// btComOn
//
this.btComOn.Location = new System.Drawing.Point(161, 144);
this.btComOn.Location = new System.Drawing.Point(161, 71);
this.btComOn.Name = "btComOn";
this.btComOn.Size = new System.Drawing.Size(147, 23);
this.btComOn.TabIndex = 47;
@ -279,49 +280,25 @@
//
// groupBox4
//
this.groupBox4.Controls.Add(this.btnSecurityAccessLevel3);
this.groupBox4.Controls.Add(this.btnSecurityAccessLevel4);
this.groupBox4.Controls.Add(this.btnECUReset);
this.groupBox4.Controls.Add(this.btnStartUpdataBoot);
this.groupBox4.Controls.Add(this.btnResetSecurityKey);
this.groupBox4.Controls.Add(this.btDefault);
this.groupBox4.Controls.Add(this.button1);
this.groupBox4.Controls.Add(this.btProgram);
this.groupBox4.Controls.Add(this.btlev1);
this.groupBox4.Controls.Add(this.btlev2);
this.groupBox4.Controls.Add(this.btClrDial);
this.groupBox4.Controls.Add(this.btComOff);
this.groupBox4.Controls.Add(this.btComOn);
this.groupBox4.Location = new System.Drawing.Point(206, 9);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(314, 173);
this.groupBox4.Size = new System.Drawing.Size(314, 99);
this.groupBox4.TabIndex = 59;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "诊断操作";
//
// btnSecurityAccessLevel3
//
this.btnSecurityAccessLevel3.Location = new System.Drawing.Point(146, 50);
this.btnSecurityAccessLevel3.Name = "btnSecurityAccessLevel3";
this.btnSecurityAccessLevel3.Size = new System.Drawing.Size(65, 23);
this.btnSecurityAccessLevel3.TabIndex = 52;
this.btnSecurityAccessLevel3.Text = "三级解锁";
this.btnSecurityAccessLevel3.UseVisualStyleBackColor = true;
this.btnSecurityAccessLevel3.Click += new System.EventHandler(this.btnSecurityAccessLevel3_Click);
//
// btnSecurityAccessLevel4
//
this.btnSecurityAccessLevel4.Location = new System.Drawing.Point(217, 50);
this.btnSecurityAccessLevel4.Name = "btnSecurityAccessLevel4";
this.btnSecurityAccessLevel4.Size = new System.Drawing.Size(65, 23);
this.btnSecurityAccessLevel4.TabIndex = 51;
this.btnSecurityAccessLevel4.Text = "四级解锁";
this.btnSecurityAccessLevel4.UseVisualStyleBackColor = true;
this.btnSecurityAccessLevel4.Click += new System.EventHandler(this.btnSecurityAccessLevel4_Click);
//
// btnECUReset
//
this.btnECUReset.Location = new System.Drawing.Point(167, 115);
this.btnECUReset.Location = new System.Drawing.Point(167, 43);
this.btnECUReset.Name = "btnECUReset";
this.btnECUReset.Size = new System.Drawing.Size(75, 23);
this.btnECUReset.TabIndex = 50;
@ -331,7 +308,7 @@
//
// btnStartUpdataBoot
//
this.btnStartUpdataBoot.Location = new System.Drawing.Point(86, 115);
this.btnStartUpdataBoot.Location = new System.Drawing.Point(86, 43);
this.btnStartUpdataBoot.Name = "btnStartUpdataBoot";
this.btnStartUpdataBoot.Size = new System.Drawing.Size(75, 23);
this.btnStartUpdataBoot.TabIndex = 49;
@ -339,16 +316,6 @@
this.btnStartUpdataBoot.UseVisualStyleBackColor = true;
this.btnStartUpdataBoot.Click += new System.EventHandler(this.btnStartUpdataBoot_Click);
//
// btnResetSecurityKey
//
this.btnResetSecurityKey.Location = new System.Drawing.Point(6, 79);
this.btnResetSecurityKey.Name = "btnResetSecurityKey";
this.btnResetSecurityKey.Size = new System.Drawing.Size(104, 23);
this.btnResetSecurityKey.TabIndex = 48;
this.btnResetSecurityKey.Text = "重置安全密钥";
this.btnResetSecurityKey.UseVisualStyleBackColor = true;
this.btnResetSecurityKey.Click += new System.EventHandler(this.btnResetSecurityKey_Click);
//
// btnRelease
//
this.btnRelease.Enabled = false;
@ -368,7 +335,7 @@
this.tabControl1.Location = new System.Drawing.Point(23, 59);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(534, 456);
this.tabControl1.Size = new System.Drawing.Size(534, 506);
this.tabControl1.TabIndex = 72;
//
// UpgradeFunctionTest
@ -389,7 +356,7 @@
this.UpgradeFunctionTest.Controls.Add(this.btFlashDriver);
this.UpgradeFunctionTest.Location = new System.Drawing.Point(4, 22);
this.UpgradeFunctionTest.Name = "UpgradeFunctionTest";
this.UpgradeFunctionTest.Size = new System.Drawing.Size(526, 430);
this.UpgradeFunctionTest.Size = new System.Drawing.Size(526, 480);
this.UpgradeFunctionTest.TabIndex = 2;
this.UpgradeFunctionTest.Text = "升级功能";
this.UpgradeFunctionTest.UseVisualStyleBackColor = true;
@ -542,11 +509,25 @@
//
// ProductFunctionTest_1
//
this.ProductFunctionTest_1.Controls.Add(this.textBoxDidF193);
this.ProductFunctionTest_1.Controls.Add(this.textBoxDidF187);
this.ProductFunctionTest_1.Controls.Add(this.textBoxDidF183);
this.ProductFunctionTest_1.Controls.Add(this.btDidClearn);
this.ProductFunctionTest_1.Controls.Add(this.btDidF197);
this.ProductFunctionTest_1.Controls.Add(this.btDidF195);
this.ProductFunctionTest_1.Controls.Add(this.btDidF193);
this.ProductFunctionTest_1.Controls.Add(this.btDidF190);
this.ProductFunctionTest_1.Controls.Add(this.btDidF18C);
this.ProductFunctionTest_1.Controls.Add(this.btDidF18B);
this.ProductFunctionTest_1.Controls.Add(this.btDidF18A);
this.ProductFunctionTest_1.Controls.Add(this.btDidF188);
this.ProductFunctionTest_1.Controls.Add(this.btDidF187);
this.ProductFunctionTest_1.Controls.Add(this.btDidF183);
this.ProductFunctionTest_1.Controls.Add(this.groupBox4);
this.ProductFunctionTest_1.Location = new System.Drawing.Point(4, 22);
this.ProductFunctionTest_1.Name = "ProductFunctionTest_1";
this.ProductFunctionTest_1.Padding = new System.Windows.Forms.Padding(3);
this.ProductFunctionTest_1.Size = new System.Drawing.Size(526, 430);
this.ProductFunctionTest_1.Size = new System.Drawing.Size(526, 480);
this.ProductFunctionTest_1.TabIndex = 1;
this.ProductFunctionTest_1.Text = "版本号";
this.ProductFunctionTest_1.UseVisualStyleBackColor = true;
@ -556,7 +537,7 @@
this.selfDiagTabPage.Location = new System.Drawing.Point(4, 22);
this.selfDiagTabPage.Name = "selfDiagTabPage";
this.selfDiagTabPage.Padding = new System.Windows.Forms.Padding(3);
this.selfDiagTabPage.Size = new System.Drawing.Size(526, 430);
this.selfDiagTabPage.Size = new System.Drawing.Size(526, 480);
this.selfDiagTabPage.TabIndex = 7;
this.selfDiagTabPage.Text = "其它";
this.selfDiagTabPage.UseVisualStyleBackColor = true;
@ -764,9 +745,9 @@
this.lsvSendMessagesTable.ContextMenuStrip = this.ctmsSendMessagesTable;
this.lsvSendMessagesTable.FullRowSelect = true;
this.lsvSendMessagesTable.HideSelection = false;
this.lsvSendMessagesTable.Location = new System.Drawing.Point(23, 521);
this.lsvSendMessagesTable.Location = new System.Drawing.Point(23, 571);
this.lsvSendMessagesTable.Name = "lsvSendMessagesTable";
this.lsvSendMessagesTable.Size = new System.Drawing.Size(534, 149);
this.lsvSendMessagesTable.Size = new System.Drawing.Size(534, 99);
this.lsvSendMessagesTable.TabIndex = 89;
this.lsvSendMessagesTable.UseCompatibleStateImageBehavior = false;
this.lsvSendMessagesTable.View = System.Windows.Forms.View.Details;
@ -825,6 +806,129 @@
//
this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
//
// btDidF183
//
this.btDidF183.Location = new System.Drawing.Point(1, 9);
this.btDidF183.Name = "btDidF183";
this.btDidF183.Size = new System.Drawing.Size(107, 23);
this.btDidF183.TabIndex = 60;
this.btDidF183.Text = "读BT版本号F183";
this.btDidF183.UseVisualStyleBackColor = true;
this.btDidF183.Click += new System.EventHandler(this.btDidF183_Click);
//
// btDidF187
//
this.btDidF187.Location = new System.Drawing.Point(1, 35);
this.btDidF187.Name = "btDidF187";
this.btDidF187.Size = new System.Drawing.Size(107, 23);
this.btDidF187.TabIndex = 61;
this.btDidF187.Text = "读零件号F187";
this.btDidF187.UseVisualStyleBackColor = true;
this.btDidF187.Click += new System.EventHandler(this.btDidF187_Click);
//
// btDidF188
//
this.btDidF188.Location = new System.Drawing.Point(1, 62);
this.btDidF188.Name = "btDidF188";
this.btDidF188.Size = new System.Drawing.Size(107, 23);
this.btDidF188.TabIndex = 62;
this.btDidF188.Text = "F188";
this.btDidF188.UseVisualStyleBackColor = true;
//
// btDidF18A
//
this.btDidF18A.Location = new System.Drawing.Point(1, 91);
this.btDidF18A.Name = "btDidF18A";
this.btDidF18A.Size = new System.Drawing.Size(107, 23);
this.btDidF18A.TabIndex = 63;
this.btDidF18A.Text = "F18A";
this.btDidF18A.UseVisualStyleBackColor = true;
//
// btDidF18B
//
this.btDidF18B.Location = new System.Drawing.Point(1, 120);
this.btDidF18B.Name = "btDidF18B";
this.btDidF18B.Size = new System.Drawing.Size(107, 23);
this.btDidF18B.TabIndex = 64;
this.btDidF18B.Text = "F18B";
this.btDidF18B.UseVisualStyleBackColor = true;
//
// btDidF18C
//
this.btDidF18C.Location = new System.Drawing.Point(1, 148);
this.btDidF18C.Name = "btDidF18C";
this.btDidF18C.Size = new System.Drawing.Size(107, 23);
this.btDidF18C.TabIndex = 65;
this.btDidF18C.Text = "F18C";
this.btDidF18C.UseVisualStyleBackColor = true;
//
// btDidF190
//
this.btDidF190.Location = new System.Drawing.Point(1, 178);
this.btDidF190.Name = "btDidF190";
this.btDidF190.Size = new System.Drawing.Size(107, 23);
this.btDidF190.TabIndex = 66;
this.btDidF190.Text = "F190";
this.btDidF190.UseVisualStyleBackColor = true;
//
// btDidF193
//
this.btDidF193.Location = new System.Drawing.Point(1, 206);
this.btDidF193.Name = "btDidF193";
this.btDidF193.Size = new System.Drawing.Size(107, 23);
this.btDidF193.TabIndex = 67;
this.btDidF193.Text = "硬件版本号F193";
this.btDidF193.UseVisualStyleBackColor = true;
this.btDidF193.Click += new System.EventHandler(this.btDidF193_Click);
//
// btDidF195
//
this.btDidF195.Location = new System.Drawing.Point(1, 233);
this.btDidF195.Name = "btDidF195";
this.btDidF195.Size = new System.Drawing.Size(107, 23);
this.btDidF195.TabIndex = 68;
this.btDidF195.Text = "F195";
this.btDidF195.UseVisualStyleBackColor = true;
//
// btDidF197
//
this.btDidF197.Location = new System.Drawing.Point(1, 261);
this.btDidF197.Name = "btDidF197";
this.btDidF197.Size = new System.Drawing.Size(107, 23);
this.btDidF197.TabIndex = 69;
this.btDidF197.Text = "F197";
this.btDidF197.UseVisualStyleBackColor = true;
//
// btDidClearn
//
this.btDidClearn.Location = new System.Drawing.Point(419, 457);
this.btDidClearn.Name = "btDidClearn";
this.btDidClearn.Size = new System.Drawing.Size(107, 23);
this.btDidClearn.TabIndex = 70;
this.btDidClearn.Text = "清除读取";
this.btDidClearn.UseVisualStyleBackColor = true;
//
// textBoxDidF183
//
this.textBoxDidF183.Location = new System.Drawing.Point(110, 11);
this.textBoxDidF183.Name = "textBoxDidF183";
this.textBoxDidF183.Size = new System.Drawing.Size(94, 21);
this.textBoxDidF183.TabIndex = 80;
//
// textBoxDidF187
//
this.textBoxDidF187.Location = new System.Drawing.Point(110, 37);
this.textBoxDidF187.Name = "textBoxDidF187";
this.textBoxDidF187.Size = new System.Drawing.Size(96, 21);
this.textBoxDidF187.TabIndex = 81;
//
// textBoxDidF193
//
this.textBoxDidF193.Location = new System.Drawing.Point(110, 208);
this.textBoxDidF193.Name = "textBoxDidF193";
this.textBoxDidF193.Size = new System.Drawing.Size(88, 21);
this.textBoxDidF193.TabIndex = 82;
//
// uds_tools
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -864,6 +968,7 @@
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ProductFunctionTest_1.ResumeLayout(false);
this.ProductFunctionTest_1.PerformLayout();
this.ctmsMessageLog.ResumeLayout(false);
this.ctmsLog.ResumeLayout(false);
this.ctmsSendMessagesTable.ResumeLayout(false);
@ -885,7 +990,6 @@
private System.Windows.Forms.Button btProgram;
private System.Windows.Forms.Button btDefault;
private System.Windows.Forms.Button btlev1;
private System.Windows.Forms.Button btlev2;
private System.Windows.Forms.Timer timerSendMsg;
private System.Windows.Forms.Button btClrDial;
private System.Windows.Forms.Button btComOff;
@ -914,7 +1018,6 @@
private System.Windows.Forms.TabPage selfDiagTabPage;
private System.Windows.Forms.TextBox txtUIUpdateFilePath;
private System.Windows.Forms.Button btnUIUpdateFileSwitch;
private System.Windows.Forms.Button btnResetSecurityKey;
private System.Windows.Forms.CheckBox ckbIsCanFd;
private System.Windows.Forms.Button btnStartUpdataBoot;
private System.Windows.Forms.CheckBox ckbIsCrcLsb;
@ -947,10 +1050,22 @@
private System.Windows.Forms.ToolStripMenuItem tsmiAddMessage;
private System.Windows.Forms.ToolStripMenuItem tsmiDeleteMessage;
private System.Windows.Forms.ToolStripMenuItem tsmiEditMessage;
private System.Windows.Forms.Button btnSecurityAccessLevel3;
private System.Windows.Forms.Button btnSecurityAccessLevel4;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Timer timer2;
private System.Windows.Forms.Button btDidF183;
private System.Windows.Forms.Button btDidF187;
private System.Windows.Forms.Button btDidF197;
private System.Windows.Forms.Button btDidF195;
private System.Windows.Forms.Button btDidF193;
private System.Windows.Forms.Button btDidF190;
private System.Windows.Forms.Button btDidF18C;
private System.Windows.Forms.Button btDidF18B;
private System.Windows.Forms.Button btDidF18A;
private System.Windows.Forms.Button btDidF188;
private System.Windows.Forms.Button btDidClearn;
private System.Windows.Forms.TextBox textBoxDidF193;
private System.Windows.Forms.TextBox textBoxDidF187;
private System.Windows.Forms.TextBox textBoxDidF183;
}
}

View File

@ -75,6 +75,7 @@ namespace CanTool
ToSunDevice ToSumDeviceObj;
TooMossDevice TooMossDeviceObj;
ECanDevice GCanDeviceObj;
ZLGCanDevice ZLGCanDeviceObj;
UDSInfo UDSInfo;
@ -184,6 +185,7 @@ namespace CanTool
ToSumDeviceObj = new ToSunDevice();
TooMossDeviceObj = new TooMossDevice();
GCanDeviceObj = new ECanDevice();
ZLGCanDeviceObj = new ZLGCanDevice();
UDSInfo = new UDSInfo();
@ -446,6 +448,10 @@ namespace CanTool
{
CanDeviceObj = GCanDeviceObj;
}
else if("ZLG_USBCAN-II" == cbbDeviceType.Text) // ZLG_USBCAN-II
{
CanDeviceObj = ZLGCanDeviceObj;
}
else
{
MessageBox.Show("设备选择错误", "提示");
@ -1074,6 +1080,228 @@ namespace CanTool
}
}
private void UdsOtherInfo(byte[] data, int len)
{
//单帧
if (len <= 7)
{
switch (data[0])
{
case 0x6f:
break;
case 0x62:
switch (data[1])
{
case 0x0E:
switch (data[2])
{
case 0x21:// 22 0E 21
break;
case 0x39:// 22 0e 39
break;
default:
break;
}
break;
default:
break;
}
break;
case 0x6E:
switch (data[1])
{
case 0x0E:
switch (data[2])
{
case 0x05:// 2E 0E 05 01
break;
default:
break;
}
break;
case 0xF1:
switch (data[2])
{
case 0x8C:// 2E F1 8C
break;
default:
break;
}
break;
default:
break;
}
break;
default:
break;
}
}
else
{
switch (data[0])
{
case 0x62:
switch (data[1])
{
case 0x0E:
switch (data[2])
{
case 0x00:// 22 0E 00
break;
case 0x02: // 22 0E 02
break;
case 0x16: // 22 0E 16
break;
case 0x17: // 22 0E 17
break;
case 0x18: // 22 0E 18
break;
case 0x20:// 22 0E 20
break;
case 0x38:// 22 0e 38
break;
default:
break;
}
break;
case 0xF0:
switch (data[2])
{
case 0x10:// 22 F0 10
break;
default:
break;
}
break;
case 0xF1:
switch (data[2])
{
case 0x80:// 22 F1 80
if (len == 13)
{
}
break;
case 0x81:// 22 F1 81
if (len == 13)
{
}
break;
case 0x82:// 22 F1 82
if (len == 13)
{
}
break;
case 0x83:// 22 F1 83
if (len == 13)
{
textBoxDidF183.Text = Encoding.Default.GetString(data, 3, len - 3);
rtxtLog.AppendText("boot版本号" + textBoxDidF183.Text + "\n");
}
break;
case 0x84:// 22 F1 84
if (len == 13)
{
}
break;
case 0x87:// 22 F1 87
if (len == 18)
{
textBoxDidF187.Text = Encoding.Default.GetString(data, 3, len - 3);
rtxtLog.AppendText("零件号:" + textBoxDidF187.Text + "\n");
}
break;
case 0x88:// 22 F1 88
if (len == 13)
{
}
break;
case 0x8A:// 22 F1 8A
if (len == 13)
{
}
break;
case 0x8B:// 22 F1 8B
if (len == 13)
{
}
break;
case 0x8C:// 22 F1 8C
if (len == 13)
{
}
break;
case 0x90:// 22 F1 90
if (len == 13)
{
}
break;
case 0x93:// 22 F1 93
if (len == 13)
{
textBoxDidF193.Text = Encoding.Default.GetString(data, 3, len - 3);
rtxtLog.AppendText("硬件版本号:" + textBoxDidF193.Text + "\n");
}
break;
case 0x94:// 22 F1 94
if (len == 13)
{
}
break;
case 0x95:// 22 F1 95
if (len == 13)
{
}
break;
case 0x96:// 22 F1 96
if (len == 13)
{
}
break;
case 0x97:// 22 F1 97
if (len == 13)
{
}
break;
default:
break;
}
break;
default:
break;
}
break;
default:
break;
}
}
}
//UDS报文接收到一个包后处理
@ -1101,6 +1329,8 @@ namespace CanTool
//版本号显示
DiagVersionDisplay(data, len);
// 其他信息处理
UdsOtherInfo(data, len);
}
@ -1177,23 +1407,6 @@ namespace CanTool
}
//安全访问等级2
private void btlev2_Click(object sender, EventArgs e)
{
this.EntrySecurityFlag = EntrySecurityStatus.RequestSeedLevel2;
}
//安全访问等级3
private void btnSecurityAccessLevel3_Click(object sender, EventArgs e)
{
this.EntrySecurityFlag = EntrySecurityStatus.RequestSeedLevel3;
}
//安全访问等级4
private void btnSecurityAccessLevel4_Click(object sender, EventArgs e)
{
this.EntrySecurityFlag = EntrySecurityStatus.RequestSeedLevel4;
}
private void btnResetSecurityKey_Click(object sender, EventArgs e)
{
int len = 14;
@ -1668,7 +1881,7 @@ namespace CanTool
/*版本信息*/
private void btVersionInfo_Click(object sender, EventArgs e)
{
MessageBox.Show("版本号V0.001-20241106");
MessageBox.Show("版本号V0.001-20241113");
}
@ -1946,8 +2159,14 @@ namespace CanTool
}
// uds 后测试工具
private void UpdateToolsDeinit()
{
}
private void cobCarType_SelectedIndexChanged(object sender, EventArgs e)
{
@ -1991,8 +2210,39 @@ namespace CanTool
}
private void btDidF183_Click(object sender, EventArgs e)
{
byte[] data = new byte[8];
byte len = 3;
data[0] = 0x22;
data[1] = 0xF1;
data[2] = 0x83;
UDSInfo.SendPackage(data, len, false);
// rtxtLog.AppendText("ECU复位\n");
}
private void btDidF187_Click(object sender, EventArgs e)
{
byte[] data = new byte[8];
byte len = 3;
data[0] = 0x22;
data[1] = 0xF1;
data[2] = 0x87;
UDSInfo.SendPackage(data, len, false);
}
private void btDidF193_Click(object sender, EventArgs e)
{
byte[] data = new byte[8];
byte len = 3;
data[0] = 0x22;
data[1] = 0xF1;
data[2] = 0x93;
UDSInfo.SendPackage(data, len, false);
}
}
}

View File

@ -85,6 +85,8 @@
<Compile Include="CanDevice\TOOMOSS\usb2can.cs" />
<Compile Include="CanDevice\TOOMOSS\usb2canfd.cs" />
<Compile Include="CanDevice\TOOMOSS\usb_device.cs" />
<Compile Include="CanDevice\ZLG\ZLG_CAN.cs" />
<Compile Include="CanDevice\ZLG\ZLG_CANBasic.cs" />
<Compile Include="Diag.cs" />
<Compile Include="CanToolForm.Diag.cs">
<SubType>Form</SubType>