diff --git a/CAN_Bootloader/main.aardio b/CAN_Bootloader/main.aardio
index 9a1a860..e7d5116 100644
--- a/CAN_Bootloader/main.aardio
+++ b/CAN_Bootloader/main.aardio
@@ -3,7 +3,6 @@ import win.ui;
mainForm = win.form(text="CAN_Bootloader";right=599;bottom=465;border="dialog frame";max=false)
mainForm.add(
btnConnect={cls="button";text="连接";left=204;top=64;right=289;bottom=90;z=4};
-btnDiag={cls="button";text="诊断";left=149;top=350;right=248;bottom=375;z=25};
btnFlash={cls="button";text="开始刷写";left=37;top=315;right=136;bottom=343;z=9};
btnFresh={cls="button";text="刷新";left=204;top=28;right=288;bottom=54;z=2};
btnOpen={cls="button";text="打开文件";left=37;top=282;right=136;bottom=310;z=8};
@@ -237,22 +236,14 @@ mainForm.btnOpenFlashdrv.oncommand = function(id,event){
::PostThreadMessage(thrdId,104,1,0)//自定义消息-打开flashdriver
}
-var frmChild = win.loadForm("\dlg\诊断子窗口.aardio");
-frmChild.show(false);
-mainForm.btnDiag.oncommand = function(id,event){
-
- frmChild.show();
-
-}
+
thrdHandle,thrdId = thread.create( CanThread )
mainForm.onClose = function(hwnd,message,wParam,lParam){
- ::PostThreadMessage(thrdId,120,1,0)
raw.closehandle(thrdHandle);
- thread.waitClose(thrdHandle);
-
+ //frmChild.close();
}
diff --git a/CAN_Bootloader/user/CanThread.aardio b/CAN_Bootloader/user/CanThread.aardio
index 617ab12..7565d76 100644
--- a/CAN_Bootloader/user/CanThread.aardio
+++ b/CAN_Bootloader/user/CanThread.aardio
@@ -207,7 +207,7 @@ var FuncSendPackage = function(){
data[i+1] = table.remove(Packdata);
}
CANHw.SendMsg(PackID,data);
- sleep(1);
+ //sleep(1);
PackNext += 1;
if(PackNext > 0x2f){
PackNext = 0x20;
diff --git a/cva_asw_m0146/.vscode/settings.json b/cva_asw_m0146/.vscode/settings.json
index 5b093a8..4afa91c 100644
--- a/cva_asw_m0146/.vscode/settings.json
+++ b/cva_asw_m0146/.vscode/settings.json
@@ -13,7 +13,13 @@
"hwctrl.h": "c",
"cvm014x_features.h": "c",
"clock_drv.h": "c",
- "irq_drv.h": "c"
+ "irq_drv.h": "c",
+ "motorctrl.h": "c",
+ "extern.h": "c",
+ "sbc_tle94x1.h": "c",
+ "tle94x1.h": "c",
+ "reset_drv.h": "c",
+ "pwmlite_drv.h": "c"
},
"C_Cpp.default.compilerPath": ""
}
\ No newline at end of file
diff --git a/cva_asw_m0146/SDK/middleware/uds/user/uds_service11.c b/cva_asw_m0146/SDK/middleware/uds/user/uds_service11.c
index d8e2ec5..1f17961 100644
--- a/cva_asw_m0146/SDK/middleware/uds/user/uds_service11.c
+++ b/cva_asw_m0146/SDK/middleware/uds/user/uds_service11.c
@@ -19,6 +19,7 @@
******************************************************************************/
#include "uds_service11.h"
+#include "extern.h"
/*******************************************************************************
* the defines
@@ -72,7 +73,7 @@ void UdsService11_ResetEcu(UdsType *obj, const uint8_t msgBuf[], uint16_t msgLen
case UDS_RESET_HARD:
Uds_PositiveResponse(obj, rspBuffer, 3);
/*add hardware reset code*/
-
+ extHardwareReset();
break;
case UDS_RESET_KEYOFFON:
Uds_PositiveResponse(obj, rspBuffer, 3);
@@ -82,7 +83,7 @@ void UdsService11_ResetEcu(UdsType *obj, const uint8_t msgBuf[], uint16_t msgLen
case UDS_RESET_SOFT:
Uds_PositiveResponse(obj, rspBuffer, 3);
/*add software reset code*/
-
+ extSortwareReset();
break;
default:
Uds_NegativeResponse(obj, 0x11, NRC_SUBFUNCTION_NOT_SUPPORTED);
diff --git a/cva_asw_m0146/cva_asw_m0146.ewp b/cva_asw_m0146/cva_asw_m0146.ewp
index de06dbd..ce514be 100644
--- a/cva_asw_m0146/cva_asw_m0146.ewp
+++ b/cva_asw_m0146/cva_asw_m0146.ewp
@@ -2964,6 +2964,9 @@
$PROJ_DIR$\src\appTask.c
+
+ $PROJ_DIR$\src\canuser.c
+
$PROJ_DIR$\src\extern.c
diff --git a/cva_asw_m0146/cva_asw_m0146.ewt b/cva_asw_m0146/cva_asw_m0146.ewt
index bab0c6f..43da57a 100644
--- a/cva_asw_m0146/cva_asw_m0146.ewt
+++ b/cva_asw_m0146/cva_asw_m0146.ewt
@@ -3603,6 +3603,9 @@
$PROJ_DIR$\src\appTask.c
+
+ $PROJ_DIR$\src\canuser.c
+
$PROJ_DIR$\src\extern.c
diff --git a/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.bat b/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.bat
index 1f65c7c..a46c3b9 100644
--- a/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.bat
+++ b/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.bat
@@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
@echo on
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
@echo off
goto end
@@ -34,7 +34,7 @@ goto end
@echo on
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" "--debug_file=%~1" --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" "--debug_file=%~1" --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
@echo off
:end
\ No newline at end of file
diff --git a/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.ps1 b/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.ps1
index 8eaae2d..9544490 100644
--- a/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.ps1
+++ b/cva_asw_m0146/settings/cva_asw_m0146.Debug.cspy.ps1
@@ -23,9 +23,9 @@
if ($debugfile -eq "")
{
-& "E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
+& "e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
}
else
{
-& "E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" --debug_file=$debugfile --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
+& "e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.general.xcl" --debug_file=$debugfile --backend -f "F:\FCB_project\RP-01\CODE\cva_asw_m0146\settings\cva_asw_m0146.Debug.driver.xcl"
}
diff --git a/cva_asw_m0146/settings/cva_asw_m0146.Debug.driver.xcl b/cva_asw_m0146/settings/cva_asw_m0146.Debug.driver.xcl
index ffd29cb..28b46e5 100644
--- a/cva_asw_m0146/settings/cva_asw_m0146.Debug.driver.xcl
+++ b/cva_asw_m0146/settings/cva_asw_m0146.Debug.driver.xcl
@@ -6,7 +6,7 @@
"-p"
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf"
"--semihosting"
diff --git a/cva_asw_m0146/settings/cva_asw_m0146.Debug.general.xcl b/cva_asw_m0146/settings/cva_asw_m0146.Debug.general.xcl
index e6c2ce3..9bf83b9 100644
--- a/cva_asw_m0146/settings/cva_asw_m0146.Debug.general.xcl
+++ b/cva_asw_m0146/settings/cva_asw_m0146.Debug.general.xcl
@@ -1,10 +1,10 @@
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armPROC.dll"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armPROC.dll"
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armJLINK.dll"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armJLINK.dll"
"F:\FCB_project\RP-01\CODE\cva_asw_m0146\Debug_FLASH\Exe\app_m146.out"
---plugin="E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armbat.dll"
+--plugin="e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armbat.dll"
diff --git a/cva_asw_m0146/settings/cva_asw_m0146.dnx b/cva_asw_m0146/settings/cva_asw_m0146.dnx
index f785f4d..2269911 100644
--- a/cva_asw_m0146/settings/cva_asw_m0146.dnx
+++ b/cva_asw_m0146/settings/cva_asw_m0146.dnx
@@ -22,7 +22,7 @@
0
- E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf
+ e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf
1
diff --git a/cva_asw_m0146/settings/cva_asw_m0146.wsdt b/cva_asw_m0146/settings/cva_asw_m0146.wsdt
index 6047720..bc34714 100644
--- a/cva_asw_m0146/settings/cva_asw_m0146.wsdt
+++ b/cva_asw_m0146/settings/cva_asw_m0146.wsdt
@@ -117,11 +117,11 @@
1
1
1
- 6C00000019001386000007000000108600000100000026810000050000000F810000010000000C810000520000000D8000000100000001E1000001000000568600000600000017810000010000000384000001000000148100000100000055840000020000000E810000140000005E86000001000000E98000000500000028970000010000000B8100000200000014860000020000001186000001000000058100000400000046810000010000000D810000010000005D860000010000000A84000001000000E880000001000000
+ 9600000019001386000007000000108600000100000026810000050000000F810000010000000C8100007A0000000D8000000100000001E1000001000000568600000600000017810000010000000384000001000000148100000100000055840000020000000E810000140000005E86000001000000E98000000700000028970000010000000B8100000200000014860000020000001186000001000000058100000400000046810000010000000D810000010000005D860000010000000A84000001000000E880000001000000
4C000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400000C8400003384000078840000118400005384000010E1000011E1000012E1000013E1000014E1000015E1000016E1000017E1000018E1000019E100001AE100001BE100001CE100001DE100001EE100001FE10000E8800000778400000784000086840000808C000044D500002AE10000008200001C82000033820000018200003D9700003E9700004D9700002DDE00001FDE000020DE000021DE000026DE000028DE000023DE000022DE000024DE000027DE000025DE000020920000289200002992000037920000389200003492000033920000259200001E9200001D9200002CDE00000088000001880000028800000388000004880000058800007C8400007D8400007E8400008384000084840000
- 5600048400004D000000249700007A000000139700007700000015810000240000002CE1000044000000048100001B0000001097000072000000268100007600000007E100003F000000318400005400000029E10000B70000001E97000074000000239200000000000004E100003D0000000F8100006C000000208100007400000000900000580000000D8000001800000001E100003A00000023E10000410000000C8100006900000029970000640000003A9700008F00000007970000B20000001982000013000000068400004F00000026970000860000001597000076000000098100006700000017810000260000001682000011000000038400004C000000349700008A000000239700007D000000129700007100000014810000230000002BE1000043000000008400004900000031970000870000000F97000070000000008100001900000030840000530000000E84000051000000449200000C00000003E100003C00000025E10000420000002F820000140000000E8100006B0000001F810000730000002B970000660000003C970000910000001F9200000900000000E100003900000022E100004000000006970000380000000B810000680000002897000063000000399700008E000000179700007B0000002D9200000B00000041E10000460000001882000012000000058400004E000000D184000059000000259700008500000014970000790000001681000025000000028400004B000000058100001C0000001197000075000000328400005500000010840000520000000E9700006F000000518400005700000005E100003E00000002E100003B0000000D8100006A0000000A8400005000000024E10000B60000002A970000650000003B9700009000000035E100008F0000000597000037000000279700007E000000169700007C0000002C9200000A000000
+ 5700048400004D000000249700007A000000139700007700000015810000240000002CE1000044000000048100001B0000001097000072000000268100007600000007E100003F000000318400005400000029E10000B70000001E97000074000000239200000000000004E100003D0000000F8100006C000000208100007400000000900000580000000D8000001800000001E100003A00000023E10000410000000C8100006900000029970000640000003A9700008F00000007970000B20000001982000013000000068400004F00000026970000860000001597000076000000098100006700000017810000260000001682000011000000038400004C000000349700008A000000239700007D000000129700007100000014810000230000002BE1000043000000008400004900000031970000870000000F970000700000002592000059000000008100001900000030840000530000000E84000051000000449200000C00000003E100003C00000025E10000420000002F820000140000000E8100006B0000001F810000730000002B970000660000003C970000910000001F9200000900000000E100003900000022E100004000000006970000380000000B8100001E0000002897000063000000399700008E000000179700007B0000002D9200000B00000041E10000460000001882000012000000058400004E000000D184000059000000259700008500000014970000790000001681000025000000028400004B000000058100001C0000001197000075000000328400005500000010840000520000000E9700006F000000518400005700000005E100003E00000002E100003B0000000D810000200000000A8400005000000024E10000B60000002A970000650000003B9700009000000035E100008F0000000597000037000000279700007E000000169700007C0000002C9200000A000000
0
@@ -180,7 +180,7 @@
76
914
2
-
+
0
-1
@@ -202,7 +202,7 @@
76
914
2
-
+
0
-1
@@ -238,7 +238,7 @@
76
912
2
-
+
0
-1
@@ -257,7 +257,7 @@
2
-
+
0
-1
@@ -279,16 +279,16 @@
- 2
-
+
-
+
- <Right-click on a symbol in the editor to show a call graph>
-
+
- 0
@@ -297,7 +297,7 @@
- 0
-
+
- 0
@@ -419,7 +419,7 @@
CMSIS-Pack
- 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000092000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000
+ 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED184000002000000AA000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000
34048
@@ -548,7 +548,7 @@
Main
- 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000BC000000FFFEFF000000000000000000000000000100000001000000018001E1000000000000BD000000FFFEFF000000000000000000000000000100000001000000018003E1000000000000BF000000FFFEFF000000000000000000000000000100000001000000018000810000000000009C000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E1000000000000C2000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E1000000000400C4000000FFFEFF000000000000000000000000000100000001000000018022E1000000000400C3000000FFFEFF000000000000000000000000000100000001000000018025E1000000000000C5000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE1000000000400C6000000FFFEFF00000000000000000000000000010000000100000001802CE1000000000400C7000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000000FFFFFFFFFFFEFF000000000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF009600000000000000000001802181000000000400AE000000FFFEFF000000000000000000000000000100000001000000018024E1000000000000B7000000FFFEFF000000000000000000000000000100000001000000018028E1000000000400B6000000FFFEFF000000000000000000000000000100000001000000018029E1000000000000B8000000FFFEFF000000000000000000000000000100000001000000018002810000000000009D000000FFFEFF00000000000000000000000000010000000100000001802981000000000000B2000000FFFEFF00000000000000000000000000010000000100000001802781000000000000B0000000FFFEFF00000000000000000000000000010000000100000001802881000000000000B1000000FFFEFF00000000000000000000000000010000000100000001801D81000000000000AA000000FFFEFF00000000000000000000000000010000000100000001801E81000000000400AB000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B81000002000000A1000000FFFEFF00000000000000000000000000010000000100000001800C81000002000000A2000000FFFEFF00000000000000000000000000010000000100000001805F86000002000000B5000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E81000002000000A4000000FFFEFF00000000000000000000000000010000000100000001800F81000002000000A5000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000
+ 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000DB000000FFFEFF000000000000000000000000000100000001000000018001E1000000000000DC000000FFFEFF000000000000000000000000000100000001000000018003E1000000000000DE000000FFFEFF00000000000000000000000000010000000100000001800081000000000000BB000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E1000000000000E1000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E1000000000400E3000000FFFEFF000000000000000000000000000100000001000000018022E1000000000400E2000000FFFEFF000000000000000000000000000100000001000000018025E1000000000000E4000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE1000000000400E5000000FFFEFF00000000000000000000000000010000000100000001802CE1000000000400E6000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000000FFFFFFFFFFFEFF000000000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF009600000000000000000001802181000000000400CD000000FFFEFF000000000000000000000000000100000001000000018024E1000000000000D6000000FFFEFF000000000000000000000000000100000001000000018028E1000000000400D5000000FFFEFF000000000000000000000000000100000001000000018029E1000000000000D7000000FFFEFF00000000000000000000000000010000000100000001800281000000000000BC000000FFFEFF00000000000000000000000000010000000100000001802981000000000000D1000000FFFEFF00000000000000000000000000010000000100000001802781000000000000CF000000FFFEFF00000000000000000000000000010000000100000001802881000000000000D0000000FFFEFF00000000000000000000000000010000000100000001801D81000000000000C9000000FFFEFF00000000000000000000000000010000000100000001801E81000000000400CA000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B81000002000000C0000000FFFEFF00000000000000000000000000010000000100000001800C81000002000000C1000000FFFEFF00000000000000000000000000010000000100000001805F86000002000000D4000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E81000002000000C3000000FFFEFF00000000000000000000000000010000000100000001800F81000002000000C4000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000
34064
@@ -580,7 +580,7 @@
- 010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000020000000100000001000000FFFEFF182400570053005F0044004900520024005C007300720063005C004D006F0074006F0072004300740072006C002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B4D006F0074006F0072004300740072006C002E00630000000000FFFFFFFFFFFFFFFFFFFEFF152400570053005F0044004900520024005C007300720063005C00680077006300740072006C002E006300010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003400340034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00310037003900370036003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00310037003900370036003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF08680077006300740072006C002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A0100004900000000060000C7010000
+ 010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000080000000700000001000000FFFEFF182400570053005F0044004900520024005C007300720063005C004D006F0074006F0072004300740072006C002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003500330039003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B4D006F0074006F0072004300740072006C002E00630000000000FFFFFFFFFFFFFFFFFFFEFF152400570053005F0044004900520024005C007300720063005C00680077006300740072006C002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003300380030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF08680077006300740072006C002E00630000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C007300720063005C00630061006E0075007300650072002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100350031003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF09630061006E0075007300650072002E00630000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C007300720063005C006100700070005400610073006B002E006300010000000180FFFEFF00FFFEFFFF21013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00370035003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF096100700070005400610073006B002E00630000000000FFFFFFFFFFFFFFFFFFFEFF162400570053005F0044004900520024005C007300720063005C00630061006E0075007300650072002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0031003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF09630061006E0075007300650072002E00680000000000FFFFFFFFFFFFFFFFFFFEFF182400570053005F0044004900520024005C007300720063005C004D006F0074006F0072004300740072006C002E006800010000000180FFFEFF00FFFEFFFF20013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B4D006F0074006F0072004300740072006C002E00680000000000FFFFFFFFFFFFFFFFFFFEFF152400570053005F0044004900520024005C007300720063005C00680077006300740072006C002E006800010000000180FFFEFF00FFFEFFFF24013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003300300032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003300300032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF08680077006300740072006C002E00680000000000FFFFFFFFFFFFFFFFFFFEFF152400570053005F0044004900520024005C007300720063005C00650078007400650072006E002E006300010000000180FFFEFF00FFFEFFFF25013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00310034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003600370039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003600370039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF08650078007400650072006E002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000000A0100004900000000060000C7010000
diff --git a/cva_asw_m0146/src/MotorCtrl.c b/cva_asw_m0146/src/MotorCtrl.c
index 2e985c7..d2be17f 100644
--- a/cva_asw_m0146/src/MotorCtrl.c
+++ b/cva_asw_m0146/src/MotorCtrl.c
@@ -1,22 +1,610 @@
#include "MotorCtrl.h"
#include "hwctrl.h"
+/*******************************************************************************
+ * the defines
+ ******************************************************************************/
+#define START_FLAG 0x55aa
+#define STOP_FLAG 0xaa55
+
+#define AUTOCAL_STOP 0
+#define AUTOCAL_START 1
+#define AUTOCAL_ACT1 2
+#define AUTOCAL_ACT2 3
+#define AUTOCAL_END 4
+
+#define OC_10A 100
+#define OC_30A 300
+#define OC_500mS 500
+#define OC_50mS 50
+
+#define OC_TIME_200MS 200
+
+#define HALLDELAYMAX 2
+/*******************************************************************************
+ * the typedefs
+ ******************************************************************************/
+
+typedef struct
+{
+ uint16_t MotorStopLoc1;
+ uint16_t MotorStopLoc2;
+ uint16_t MotorNowLoc;
+}MOTOR_DATA;
+
+typedef struct
+{
+ uint16_t start_flag;
+ MOTOR_DATA MotorData[6];
+ uint16_t MemoryLoc[3][6];
+ uint16_t checksum;
+ uint16_t stop_flag;
+}MEMORY_DATA;
+
+/*******************************************************************************
+ * the globals
+ ******************************************************************************/
+
+MOTOR_DATA MotorData[6];
+uint16_t MemoryLoc[3][6];
+MEMORY_DATA MemoryData;
+uint8_t OC1flag,OC2flag,OC3flag;
+uint8_t MotorState[6],MotorStateReal[6];
+uint16_t MotorHallLoc[6],MotorHardStop1[6],MotorHardStop2[6];
+uint8_t MotorLearnState[6];
+uint8_t MotorErr[6];
+uint16_t MotorTarget[6] = {0};
+uint16_t current1,current2,current3;
+uint8_t stopflag = 0;
+static uint8_t AutoCalState;
+uint16_t HallErrorCount[6];
+
+/*******************************************************************************
+ * the const
+ ******************************************************************************/
+
+/*******************************************************************************
+ * the local function prototypes
+ ******************************************************************************/
+static void MotorCtrl(void);
+static void AutoCalCtrl(void);
+static void MotorValueInit(void);
+
+
+/*******************************************************************************
+ * the local functions
+ ******************************************************************************/
+static void MotorValueInit(void)
+{
+ uint8_t i;
+ for (i = 0; i < 6; i++)
+ {
+ MotorHallLoc[i] = 0x8000;
+ MotorErr[i] = 0;
+ }
+ //ReadMotorMemory();
+}
+
+static void AutoCalCtrl(void)
+{
+ static uint16_t autocalcounter[3];
+ static uint8_t MotorArr1state,MotorArr2state,MotorArr3state;
+ static uint8_t wait1,wait2,wait3;
+ uint8_t i;
+ uint32_t temp;
+ switch (AutoCalState)
+ {
+ case AUTOCAL_STOP:
+ MotorArr1state = AUTOCAL_STOP;
+ MotorArr2state = AUTOCAL_STOP;
+ MotorArr3state = AUTOCAL_STOP;
+ return;
+ case AUTOCAL_START:
+ MotorArr1state = 1;
+ MotorArr2state = 1;
+ MotorArr3state = 1;
+ setMotorState(Motor1,Motor_ACT_CW);
+ setMotorState(Motor3,Motor_ACT_CW);
+ setMotorState(Motor5,Motor_ACT_CW);
+ autocalcounter[0] = 0;
+ autocalcounter[1] = 0;
+ autocalcounter[2] = 0;
+ AutoCalState++;
+ for (i = 0; i < 6; i++)
+ {
+ MotorHardStop1[i] = 0;
+ MotorHardStop2[i] = 0;
+ MotorHallLoc[i] = 0x8000;
+ }
+ break;
+ case AUTOCAL_ACT1:
+ if (MotorArr1state == 0 && MotorArr2state == 0 && MotorArr3state == 0)
+ {
+ for (i = 0; i < 6; i++)
+ {
+ temp = MotorHardStop1[i];
+ temp += MotorHardStop2[i];
+ setMotorTarget(i,temp/2);
+ }
+
+ }
+
+
+
+ break;
+ case AUTOCAL_ACT2:
+
+ break;
+
+ default:
+ break;
+ }
+ //1
+ switch (MotorArr1state)
+ {
+ case 1://Motor1 xq
+ autocalcounter[0]++;
+ if (MotorHardStop1[Motor1] != 0)
+ {
+ MotorArr1state++;
+ wait1 = 0;
+ setMotorState(Motor1,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[0] > 3000 || MotorErr[Motor1] != 0)
+ {
+ MotorArr1state = 4;
+ wait1 = 0;
+ setMotorState(Motor1,Motor_ACT_NOACT);
+ }
+ break;
+ case 2://wait
+ wait1++;
+ if (wait1 > 50)
+ {
+ MotorArr1state++;
+ setMotorState(Motor1,Motor_ACT_CCW);
+ autocalcounter[0] = 0;
+ }
+ break;
+ case 3://Motor1 xh
+ autocalcounter[0]++;
+ if (MotorHardStop2[Motor1] != 0)
+ {
+ MotorArr1state++;
+ wait1 = 0;
+ setMotorState(Motor1,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[0] > 3000 || MotorErr[Motor1] != 0)
+ {
+ MotorArr1state = 4;
+ wait1 = 0;
+ setMotorState(Motor1,Motor_ACT_NOACT);
+ }
+ break;
+ case 4://wait
+ wait1++;
+ if (wait1 > 50)
+ {
+ MotorArr1state++;
+ setMotorState(Motor2,Motor_ACT_CW);
+ autocalcounter[0] = 0;
+ }
+ break;
+ case 5://Motor2 xq
+ autocalcounter[0]++;
+ if (MotorHardStop1[Motor2] != 0)
+ {
+ MotorArr1state++;
+ wait1 = 0;
+ setMotorState(Motor2,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[0] > 3000 || MotorErr[Motor2] != 0)
+ {
+ MotorArr1state = 0;
+ setMotorState(Motor2,Motor_ACT_NOACT);
+ }
+ break;
+ case 6://wait
+ wait1++;
+ if (wait1 > 50)
+ {
+ MotorArr1state++;
+ setMotorState(Motor2,Motor_ACT_CCW);
+ autocalcounter[0] = 0;
+ }
+ break;
+ case 7:
+ autocalcounter[0]++;
+ if (MotorHardStop2[Motor2] != 0)
+ {
+ MotorArr1state=0;
+ wait1 = 0;
+ setMotorState(Motor2,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[0] > 3000 || MotorErr[Motor2] != 0)
+ {
+ MotorArr1state = 0;
+ setMotorState(Motor2,Motor_ACT_NOACT);
+ }
+ break;
+ default:
+ break;
+ }
+
+ //2
+ switch (MotorArr2state)
+ {
+ case 1://Motor3 xq
+ autocalcounter[1]++;
+ if (MotorHardStop1[Motor3] != 0)
+ {
+ MotorArr2state++;
+ wait2 = 0;
+ setMotorState(Motor3,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[1] > 3000 || MotorErr[Motor3] != 0)
+ {
+ MotorArr2state = 4;
+ wait2 = 0;
+ setMotorState(Motor3,Motor_ACT_NOACT);
+ }
+ break;
+ case 2://wait
+ wait2++;
+ if (wait2 > 50)
+ {
+ MotorArr2state++;
+ setMotorState(Motor3,Motor_ACT_CCW);
+ autocalcounter[1] = 0;
+ }
+ break;
+ case 3://Motor3 xh
+ autocalcounter[1]++;
+ if (MotorHardStop2[Motor3] != 0)
+ {
+ MotorArr2state++;
+ wait2 = 0;
+ setMotorState(Motor3,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[1] > 3000 || MotorErr[Motor3] != 0)
+ {
+ MotorArr2state = 4;
+ wait2 = 0;
+ setMotorState(Motor3,Motor_ACT_NOACT);
+ }
+ break;
+ case 4://wait
+ wait2++;
+ if (wait2 > 50)
+ {
+ MotorArr2state++;
+ setMotorState(Motor4,Motor_ACT_CW);
+ autocalcounter[1] = 0;
+ }
+ break;
+ case 5://Motor4 xq
+ autocalcounter[1]++;
+ if (MotorHardStop1[Motor4] != 0)
+ {
+ MotorArr2state++;
+ wait2 = 0;
+ setMotorState(Motor4,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[1] > 3000 || MotorErr[Motor4] != 0)
+ {
+ MotorArr2state = 0;
+ setMotorState(Motor4,Motor_ACT_NOACT);
+ }
+ break;
+ case 6://wait
+ wait2++;
+ if (wait2 > 50)
+ {
+ MotorArr2state++;
+ setMotorState(Motor4,Motor_ACT_CCW);
+ autocalcounter[1] = 0;
+ }
+ break;
+ case 7:
+ autocalcounter[1]++;
+ if (MotorHardStop2[Motor4] != 0)
+ {
+ MotorArr2state=0;
+ wait2 = 0;
+ setMotorState(Motor4,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[1] > 3000 || MotorErr[Motor4] != 0)
+ {
+ MotorArr2state = 0;
+ setMotorState(Motor4,Motor_ACT_NOACT);
+ }
+ break;
+ default:
+ break;
+ }
+ switch (MotorArr3state)
+ {
+ case 1://Motor5 xq
+ autocalcounter[2]++;
+ if (MotorHardStop1[Motor5] != 0)
+ {
+ MotorArr3state++;
+ wait3 = 0;
+ setMotorState(Motor5,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[2] > 3000 || MotorErr[Motor5] != 0)
+ {
+ MotorArr3state = 4;
+ wait3 = 0;
+ setMotorState(Motor5,Motor_ACT_NOACT);
+ }
+ break;
+ case 2://wait
+ wait3++;
+ if (wait3 > 50)
+ {
+ MotorArr3state++;
+ setMotorState(Motor5,Motor_ACT_CCW);
+ autocalcounter[2] = 0;
+ }
+ break;
+ case 3://Motor5 xh
+ autocalcounter[2]++;
+ if (MotorHardStop2[Motor5] != 0)
+ {
+ MotorArr3state++;
+ wait3 = 0;
+ setMotorState(Motor5,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[2] > 3000 || MotorErr[Motor5] != 0)
+ {
+ MotorArr3state = 4;
+ wait3 = 0;
+ setMotorState(Motor5,Motor_ACT_NOACT);
+ }
+ break;
+ case 4://wait
+ wait3++;
+ if (wait3 > 50)
+ {
+ MotorArr3state++;
+ setMotorState(Motor6,Motor_ACT_CW);
+ autocalcounter[2] = 0;
+ }
+ break;
+ case 5://Motor6 xq
+ autocalcounter[2]++;
+ if (MotorHardStop1[Motor6] != 0)
+ {
+ MotorArr3state++;
+ wait3 = 0;
+ setMotorState(Motor6,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[2] > 3000 || MotorErr[Motor6] != 0)
+ {
+ MotorArr3state = 0;
+ setMotorState(Motor6,Motor_ACT_NOACT);
+ }
+ break;
+ case 6://wait
+ wait3++;
+ if (wait3 > 50)
+ {
+ MotorArr3state++;
+ setMotorState(Motor6,Motor_ACT_CCW);
+ autocalcounter[2] = 0;
+ }
+ break;
+ case 7:
+ autocalcounter[2]++;
+ if (MotorHardStop2[Motor6] != 0)
+ {
+ MotorArr3state=0;
+ wait3 = 0;
+ setMotorState(Motor6,Motor_ACT_NOACT);
+ }
+ if (autocalcounter[2] > 3000 || MotorErr[Motor6] != 0)
+ {
+ MotorArr3state = 0;
+ setMotorState(Motor6,Motor_ACT_NOACT);
+ }
+ break;
+ default:
+ break;
+ }
+}
+
+static void MotorCtrl(void)//10ms
+{
+ uint8_t i;
+ //WriteMotorMemory(); //TODO
+ AutoCalCtrl();
+
+
+ if (OC1flag == 1)
+ {
+ OC1flag = 0;
+ if (MotorState[0] == Motor_ACT_CW)
+ {
+ MotorHardStop1[0] = MotorHallLoc[0];
+ }
+ else if (MotorState[0] == Motor_ACT_CCW)
+ {
+ MotorHardStop2[0] = MotorHallLoc[0];
+ }
+ else if (MotorState[1] == Motor_ACT_CW)
+ {
+ MotorHardStop1[1] = MotorHallLoc[1];
+ }
+ else if (MotorState[1] == Motor_ACT_CCW)
+ {
+ MotorHardStop2[1] = MotorHallLoc[1];
+ }
+ setMotorTarget(Motor1,0);
+ setMotorTarget(Motor2,0);
+ MotorState[Motor1] = Motor_ACT_NOACT;
+ MotorState[Motor2] = Motor_ACT_NOACT;
+ }
+ if (OC2flag == 1)
+ {
+ OC2flag = 0;
+ if (MotorState[2] == Motor_ACT_CW)
+ {
+ MotorHardStop1[2] = MotorHallLoc[2];
+ }
+ else if (MotorState[2] == Motor_ACT_CCW)
+ {
+ MotorHardStop2[2] = MotorHallLoc[2];
+ }
+ else if (MotorState[3] == Motor_ACT_CW)
+ {
+ MotorHardStop1[3] = MotorHallLoc[3];
+ }
+ else if (MotorState[3] == Motor_ACT_CCW)
+ {
+ MotorHardStop2[3] = MotorHallLoc[3];
+ }
+ setMotorTarget(Motor3,0);
+ setMotorTarget(Motor4,0);
+ MotorState[Motor3] = Motor_ACT_NOACT;
+ MotorState[Motor4] = Motor_ACT_NOACT;
+ }
+ if (OC3flag == 1)
+ {
+ OC3flag = 0;
+ if (MotorState[4] == Motor_ACT_CW)
+ {
+ MotorHardStop1[4] = MotorHallLoc[4];
+ }
+ else if (MotorState[4] == Motor_ACT_CCW)
+ {
+ MotorHardStop2[4] = MotorHallLoc[4];
+ }
+ else if (MotorState[5] == Motor_ACT_CW)
+ {
+ MotorHardStop1[5] = MotorHallLoc[5];
+ }
+ else if (MotorState[5] == Motor_ACT_CCW)
+ {
+ MotorHardStop2[5] = MotorHallLoc[5];
+ }
+ setMotorTarget(Motor5,0);
+ setMotorTarget(Motor6,0);
+ MotorState[Motor5] = Motor_ACT_NOACT;
+ MotorState[Motor6] = Motor_ACT_NOACT;
+ }
+
+ for (i = 0; i < 6; i++)
+ {
+ MotorStateReal[i] = MotorState[i];
+ if (MotorState[i] == Motor_ACT_NOACT && MotorHardStop1[i] != 0 && MotorHardStop2[i] != 0 )
+ {
+ if (MotorTarget[i]!=0 && MotorHardStop1[i] > MotorTarget[i] && MotorTarget[i] > MotorHardStop2[i])
+ {
+ if (MotorTarget[i] > MotorHallLoc[i]+10)
+ {
+ MotorStateReal[i] = Motor_ACT_CW;
+ }
+ else if (MotorTarget[i] < MotorHallLoc[i]-10)
+ {
+ MotorStateReal[i] = Motor_ACT_CCW;
+ }
+ else
+ {
+ MotorTarget[i] = 0;
+ }
+ }
+
+ }
+ else if (MotorHardStop1[i] != 0 && MotorHardStop2[i] != 0)
+ {
+ if (MotorHallLoc[i] > (MotorHardStop1[i]-20) && MotorStateReal[i] == Motor_ACT_CW)
+ {
+ MotorStateReal[i] = Motor_ACT_NOACT;
+ }
+ if (MotorHallLoc[i] < (MotorHardStop2[i] + 20) && MotorStateReal[i] == Motor_ACT_CCW)
+ {
+ MotorStateReal[i] = Motor_ACT_NOACT;
+ }
+
+ }
+
+ else
+ {
+ MotorTarget[i] = 0;
+ }
+ }
+
+
+}
+
+
+/*******************************************************************************
+ * the global functions
+ ******************************************************************************/
void MotorCtrl_Init(McuType *obj)
{
for (uint8_t i = 0; i < 6; i++)
{
hw_MotorCtrl(obj, i, Motor_ACT_NOACT);
}
-
+ MotorValueInit();
}
void MotorCtrl_Maintask(McuType *obj)//10ms task
{
- static uint8_t motor_cnt = 0,motor_act=0,run_count=0;
- run_count++;
- if (run_count > 100)
+ MotorCtrl();
+ for (Motor_ID_Type i = 0; i < MOTOR_NUM; i++)
{
- run_count = 0;
+ hw_MotorCtrl(obj, i, MotorStateReal[i]);
+ }
+}
+
+void setMotorState(Motor_ID_Type motorid,Motor_ACT_Type act)
+{
+ if (act < Motor_ACT_NUM && motorid < MOTOR_NUM)
+ {
+ MotorState[motorid] = act;
+ }
+}
+
+void setMotorTarget(uint8_t motorid,uint16_t target)
+{
+ if (MotorHardStop1[motorid]!=0 && MotorHardStop2[motorid]!=0)
+ {
+ MotorTarget[motorid] = target;
+ }
+ else
+ {
+ MotorTarget[motorid] = 0;
+ }
+}
+
+void StartAutoCal(void)
+{
+ AutoCalState = AUTOCAL_START;
+
+}
+void StopAutoCal(void)
+{
+ uint8_t i;
+ if (AutoCalState != AUTOCAL_STOP)
+ {
+ AutoCalState = AUTOCAL_STOP;
+ setMotorState(Motor1,Motor_ACT_NOACT);
+ setMotorState(Motor2,Motor_ACT_NOACT);
+ setMotorState(Motor3,Motor_ACT_NOACT);
+ setMotorState(Motor4,Motor_ACT_NOACT);
+ setMotorState(Motor5,Motor_ACT_NOACT);
+ setMotorState(Motor6,Motor_ACT_NOACT);
+ }
+ for (i = 0; i < 6; i++)
+ {
+ if (MotorTarget[i] != 0)
+ {
+ MotorTarget[i] = 0;
+ stopflag = 1;
+ }
}
@@ -27,3 +615,95 @@ void MotorCtrl_Maintask(McuType *obj)//10ms task
+uint16_t getOverCurrentTh(uint8_t ch)
+{
+ uint16_t th = 10;
+ switch (ch)
+ {
+ case 0:
+ if (MotorStateReal[Motor1]!=Motor_ACT_NOACT)
+ {
+ th+=50;
+ }
+ if (MotorStateReal[Motor2]!=Motor_ACT_NOACT)
+ {
+ th+=50;
+ }
+ break;
+ case 1:
+ if (MotorStateReal[Motor3]!=Motor_ACT_NOACT)
+ {
+ th+=50;
+ }
+ if (MotorStateReal[Motor4]!=Motor_ACT_NOACT)
+ {
+ th+=50;
+ }
+ break;
+ case 2:
+ if (MotorStateReal[Motor5]!=Motor_ACT_NOACT)
+ {
+ th+=50;
+ }
+ if (MotorStateReal[Motor6]!=Motor_ACT_NOACT)
+ {
+ th+=20;
+ }
+ break;
+ default:
+ break;
+ }
+ return th;
+}
+
+void HallDetecte(void)
+{
+ static uint8_t HallLastState[6],HallDelay[6];
+ uint8_t i,hallstate;
+ for (i = 0; i < 6; i++)
+ {
+ hallstate = GetIOState(i+1);
+ if (hallstate != HallLastState[i])
+ {
+ HallDelay[i]++;
+ if (HallDelay[i] > HALLDELAYMAX)
+ {
+ if (MotorStateReal[i] == Motor_ACT_CW)
+ {
+ MotorHallLoc[i]++;
+ }
+ else if (MotorStateReal[i] == Motor_ACT_CCW)
+ {
+ MotorHallLoc[i]--;
+ }
+ HallLastState[i] = hallstate;
+ }
+ HallErrorCount[i] = 0;
+ MotorErr[i] = 0;
+ //EEL_SAVE_Counter = 1000;
+ //EEL_SAVE_REQUIRE_FLAG = 1;
+ }
+ else
+ {
+ HallDelay[i] = 0;
+ if (MotorStateReal[i] != Motor_ACT_NOACT)
+ {
+ HallErrorCount[i]++;
+ if (HallErrorCount[i] > 500)
+ {
+ HallErrorCount[i] = 500;
+ MotorErr[i] = 1;
+ }
+
+ }
+
+ }
+ }
+ /*
+ if (EEL_SAVE_Counter > 0)
+ {
+ EEL_SAVE_Counter--;
+ }
+ */
+}
+
diff --git a/cva_asw_m0146/src/MotorCtrl.h b/cva_asw_m0146/src/MotorCtrl.h
index 68b61db..90da483 100644
--- a/cva_asw_m0146/src/MotorCtrl.h
+++ b/cva_asw_m0146/src/MotorCtrl.h
@@ -3,8 +3,36 @@
#include "Mcu.h"
+
+/*******************************************************************************
+ * the typedefs
+ ******************************************************************************/
+typedef enum
+{
+ Motor_ACT_NOACT,//停止
+ Motor_ACT_CW,//正转
+ Motor_ACT_CCW,//反转
+ Motor_ACT_NUM,
+} Motor_ACT_Type;
+typedef enum
+{
+ Motor1,//
+ Motor2,//
+ Motor3,//
+ Motor4,//
+ Motor5,//
+ Motor6,//
+ MOTOR_NUM,
+} Motor_ID_Type;
+
+
+
void MotorCtrl_Init(McuType *obj);
void MotorCtrl_Maintask(McuType *obj);
+void setMotorState(Motor_ID_Type motorid,Motor_ACT_Type act);
+void setMotorTarget(uint8_t motorid,uint16_t target);
+void StartAutoCal(void);
+void StopAutoCal(void);
diff --git a/cva_asw_m0146/src/appTask.c b/cva_asw_m0146/src/appTask.c
index 1170290..49d0731 100644
--- a/cva_asw_m0146/src/appTask.c
+++ b/cva_asw_m0146/src/appTask.c
@@ -9,6 +9,7 @@
#include "string.h"
#include "SEGGER_RTT.h"
#include "MotorCtrl.h"
+#include "canuser.h"
/*******************************************************************************
* the defines
@@ -21,13 +22,12 @@
-uint8_t txMsgBuf[8] = {0};
+
uint8_t udsSendBuf[UDS_SEND_BUF] = {0};
uint8_t udsRecvBuf[UDS_RECV_BUF] = {0};
-
UdsType udsObj;
int64_t Get_Cur_Time_Stamp(void);
Uds_ParamsType udsParam = {
@@ -54,6 +54,7 @@ volatile uint32_t gSystick1msEvent = 0, gSystick1msCnt = 0, gTestRunCnt = 0, gTe
#pragma location = ".bss.no_init"
static uint32_t sAswBoot_Req;
+
//
int64_t Get_Cur_Time_Stamp(void)
{
@@ -73,7 +74,6 @@ void SysTick_Handler(void)
}
void appTask(McuType *obj)
{
- FlexCan_FrameStructureType rxMsg;
if(gSystick1msEvent > 0u)
{
if(udsObj.session == UDS_SESSION_PROGRAMMING)
@@ -81,10 +81,10 @@ void appTask(McuType *obj)
Asw_SetBootloaderRequest();
ResetDrv_SoftwareResetModule(&obj->resetDrv, RESETDRV_SWRESET_SYS);
}
-
gSystick1msEvent--;
gSystick1msCnt++;
gSysTick1sCnt++;
+ MsgTask(&udsObj);
if (gSystick1msCnt % 10 == 0)
{
MotorCtrl_Maintask(obj);
@@ -97,10 +97,8 @@ void appTask(McuType *obj)
if(gSystick1msCnt % 200 == 0)
{
- uint8_t txMsgBuf[8]={0};
- txMsgBuf[3] = gSysTick1sCnt & 0xFF;
- FlexCanBoot_TxMessage(APP_TX_TEST1_MSG_ID, txMsgBuf, 8);
+
}
if (gSystick1msCnt >= 10000)
{
@@ -108,21 +106,6 @@ void appTask(McuType *obj)
SEGGER_RTT_printf(0,"app running\n");
}
-
- /* Handler user routine */
- if(FlexCanBoot_ReadoutMsg(&rxMsg) == true)
- {
- if((rxMsg.id == UDS_PHYS_RECV_MSG_ID) || (rxMsg.id == UDS_FUNC_RECV_MSG_ID))
- {
- IsoTp_HandleIncomingCanMsg(&udsObj.isotp, rxMsg.id, rxMsg.data, rxMsg.len);
- }
- else
- {
-
- }
- }
-
- Uds_Run(&udsObj);
}
}
diff --git a/cva_asw_m0146/src/canuser.c b/cva_asw_m0146/src/canuser.c
new file mode 100644
index 0000000..e684752
--- /dev/null
+++ b/cva_asw_m0146/src/canuser.c
@@ -0,0 +1,340 @@
+
+
+#include "canuser.h"
+
+/*******************************************************************************
+ * the typedefs
+ ******************************************************************************/
+typedef enum
+{
+ UDS_MSG_IDX_STD_RX_PHYS,
+ UDS_MSG_IDX_STD_RX_FUNC,
+ UDS_MSG_IDX_STD_HOST_REQ1,
+ UDS_MSG_IDX_STD_HOST_REQ2,
+ UDS_MSG_IDX_STD_PHYS_RESP,
+ UDS_MSG_IDX_STD_ECU_STATUS,
+ UDS_MSG_IDX_STD_ECU_DEBUG1,
+ UDS_MSG_IDX_STD_ECU_DEBUG2,
+ UDS_MSG_IDX_STD_ECU_DEBUG3,
+ UDS_MSG_IDX_NUM
+} Uds_MsgIdIdxType;
+
+typedef struct
+{
+ FlexCan_FrameStructureType rxMsg[CAN_BUFFER_FIFO_SIZE];
+ FlexCan_FrameStructureType txMsg[CAN_BUFFER_FIFO_SIZE];
+ uint8_t wrIdx;
+ uint8_t rdIdx;
+} FlexCan_DataInfoType;
+
+typedef struct
+{
+ uint8_t ECU_HeatStatus:4;//0
+ uint8_t ECU_FanStatus:4;
+ uint8_t ECU_AnmoStatus:4;//1
+ uint8_t reverse14:4;
+ uint8_t ECU_MOTOR1_STATUS:2;//2
+ uint8_t ECU_MOTOR2_STATUS:2;
+ uint8_t ECU_MOTOR3_STATUS:2;
+ uint8_t ECU_MOTOR4_STATUS:2;
+ uint8_t ECU_MOTOR5_STATUS:2;//3
+ uint8_t ECU_MOTOR6_STATUS:2;//4
+ uint8_t reverse34:4;
+ uint8_t reverse[4];
+}ECU_status_Type;
+
+typedef struct
+{
+ uint8_t ECU_Power;
+ uint8_t ECU_MOTOR_C1;
+ uint8_t ECU_MOTOR_C2;
+ uint8_t ECU_MOTOR_C3;
+ uint8_t ECU_HEAT_C1;
+ uint8_t ECU_HEAT_C2;
+ uint8_t reverse[2];
+}ECU_Debug1_Type;
+typedef struct
+{
+ uint16_t ECU_MOTOR_POS1;
+ uint16_t ECU_MOTOR_POS2;
+ uint16_t ECU_MOTOR_POS3;
+ uint16_t ECU_MOTOR_POS4;
+}ECU_Debug2_Type;
+typedef struct
+{
+ uint16_t ECU_MOTOR_POS5;
+ uint16_t ECU_MOTOR_POS6;
+ uint8_t ECU_HALL1:1;
+ uint8_t ECU_HALL2:1;
+ uint8_t ECU_HALL3:1;
+ uint8_t ECU_HALL4:1;
+ uint8_t ECU_HALL5:1;
+ uint8_t ECU_HALL6:1;
+ uint8_t reverse46:2;
+ uint8_t reverse[3];
+}ECU_Debug3_Type;
+
+typedef struct
+{
+ uint8_t HOST_KEY1:1;//0
+ uint8_t HOST_KEY2:1;
+ uint8_t HOST_KEY3:1;
+ uint8_t HOST_KEY4:1;
+ uint8_t HOST_KEY5:1;
+ uint8_t HOST_KEY6:1;
+ uint8_t HOST_KEY7:1;
+ uint8_t HOST_KEY8:1;
+ uint8_t HOST_KEY9:1;//1
+ uint8_t HOST_KEY10:1;
+ uint8_t HOST_KEY11:1;
+ uint8_t HOST_KEY12:1;
+ uint8_t HOST_KEY13:1;
+ uint8_t HOST_KEY14:1;
+ uint8_t HOST_KEY15:1;
+ uint8_t HOST_KEY16:1;
+ uint8_t HOST_HeatReq:4;//2
+ uint8_t HOST_FanReq:4;
+ uint8_t HOST_AnmoReq:4;//3
+ uint8_t reverse34:4;
+ uint8_t reverse[3];
+ uint8_t HOST_DebugMode:1;//7
+ uint8_t reverse71:7;
+}HOST_Req1_Type;
+
+/*******************************************************************************
+ * the globals
+ ******************************************************************************/
+FlexCanDrv_ControllerCfgType flexCanCfg;
+FlexCan_DataInfoType flexCan_DataInfo;
+FlexCanDrvType* flexCanDrv_DemoObj;
+static uint8_t txMsgBuf1[8] = {0};
+static uint8_t txMsgBuf2[8] = {0};
+static uint8_t txMsgBuf3[8] = {0};
+static uint8_t txMsgBuf4[8] = {0};
+static uint8_t rxMsgBuf1[8] = {0};
+static uint8_t rxMsgBuf2[8] = {0};
+static uint8_t debugMode;
+
+
+/*******************************************************************************
+ * the const
+ ******************************************************************************/
+const FlexCanDrv_MsgCfgType msgCfgObj[UDS_MSG_IDX_NUM] = {
+ {UDS_MSG_IDX_STD_RX_PHYS, 1, UDS_PHYS_RECV_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_PHYS */
+ {UDS_MSG_IDX_STD_RX_FUNC, 1, UDS_FUNC_RECV_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_FUNC */
+ {UDS_MSG_IDX_STD_HOST_REQ1, 1, APP_RX_HOST_REQ1_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_FUNC */
+ {UDS_MSG_IDX_STD_HOST_REQ2, 1, APP_RX_HOST_REQ2_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_FUNC */
+ {UDS_MSG_IDX_STD_PHYS_RESP, 1, UDS_PHYS_RESP_MSG_ID, false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
+ {UDS_MSG_IDX_STD_ECU_STATUS,1, APP_TX_ECU_STATUS_MSG_ID,false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
+ {UDS_MSG_IDX_STD_ECU_DEBUG1,1, APP_TX_ECU_DEBUG1_MSG_ID,false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
+ {UDS_MSG_IDX_STD_ECU_DEBUG2,1, APP_TX_ECU_DEBUG2_MSG_ID,false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
+ {UDS_MSG_IDX_STD_ECU_DEBUG3,1, APP_TX_ECU_DEBUG3_MSG_ID,false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
+};
+
+
+
+static void RxMsgProcess(void)
+{
+ HOST_Req1_Type* prxMsgBuf1 = (HOST_Req1_Type*)rxMsgBuf1;
+ debugMode = prxMsgBuf1->HOST_DebugMode;
+}
+void MsgTask(UdsType *obj)//1ms task
+{
+ static uint16_t msg_counter=0;
+ FlexCan_FrameStructureType rxMsg;
+
+ //tx
+ msg_counter++;
+ if (msg_counter >= 50)
+ {
+ msg_counter = 0;
+ FlexCanBoot_TxMessage(APP_TX_ECU_STATUS_MSG_ID, txMsgBuf1, 8);
+ if (debugMode!=0)
+ {
+ FlexCanBoot_TxMessage(APP_TX_ECU_DEBUG1_MSG_ID, txMsgBuf2, 8);
+ FlexCanBoot_TxMessage(APP_TX_ECU_DEBUG2_MSG_ID, txMsgBuf3, 8);
+ FlexCanBoot_TxMessage(APP_TX_ECU_DEBUG3_MSG_ID, txMsgBuf4, 8);
+ }
+
+ }
+
+ //rx
+ /* Handler user routine */
+ if(FlexCanBoot_ReadoutMsg(&rxMsg) == true)
+ {
+ if((rxMsg.id == UDS_PHYS_RECV_MSG_ID) || (rxMsg.id == UDS_FUNC_RECV_MSG_ID))
+ {
+ IsoTp_HandleIncomingCanMsg(&obj->isotp, rxMsg.id, rxMsg.data, rxMsg.len);
+ }
+ else
+ {
+ if (rxMsg.id == APP_RX_HOST_REQ1_MSG_ID)
+ {
+ memcpy(rxMsgBuf1, rxMsg.data, rxMsg.len);
+ }
+ }
+ }
+ RxMsgProcess();
+
+ //uds stack
+ Uds_Run(obj);
+
+}
+
+/************************************* CAN *****************************************/
+int8_t FlexCanBoot_TxMessage(uint32_t msgId, const uint8_t* pData, uint8_t size)
+{
+ FlexCanDrv_MsgObjType txMsgObj;
+ uint8_t msgIdx = 0, i = 0;
+
+ for(i = 0; i < flexCanCfg.msgNum; i++)
+ {
+ if(msgId == flexCanCfg.msgCfg[i].msgId)
+ {
+ msgIdx = i;
+ break;
+ }
+ }
+
+ txMsgObj.msgBufId = flexCanCfg.msgCfg[msgIdx].msgBufId;
+ txMsgObj.dlc = size;
+ txMsgObj.msgId = flexCanCfg.msgCfg[msgIdx].msgId;
+ memcpy(&txMsgObj.data[0], pData, size);
+
+ FlexCanDrv_SetTxMsg(flexCanDrv_DemoObj, &txMsgObj);
+ /* transmit standard CAN Tx message */
+ FlexCanDrv_TransmitMsg(flexCanDrv_DemoObj, &txMsgObj);
+
+ return 0;
+}
+
+void FlexCanBoot_Init(McuType *obj)
+{
+ uint32_t busClockFreq = 0;
+
+ /* CAN init */
+ memset(&flexCan_DataInfo, 0, sizeof(flexCan_DataInfo));
+ memset(&flexCanCfg, 0, sizeof(flexCanCfg));
+ SEGGER_RTT_printf(0,"-----FlexCanDrv_INIT-----\n");
+ /* get CAN controller default configuration */
+ FlexCanDrv_GetDefaultCfg(&flexCanCfg);
+
+ flexCanCfg.msgNum = sizeof(msgCfgObj) / sizeof(FlexCanDrv_MsgCfgType);
+ flexCanCfg.msgCfg = msgCfgObj;
+
+ flexCanDrv_DemoObj = &obj->flexCanDrv0;
+
+ /* set PTE4 as MUX 5 - CAN0.RX */
+ PinsDrv_SetMuxModeSel(&obj->ptb, 0, PINSDRV_MUX_ALT5);
+
+ /* set PTE5 as MUX 5 - CAN0.TX */
+ PinsDrv_SetMuxModeSel(&obj->ptb, 1, PINSDRV_MUX_ALT5);
+
+ flexCanCfg.clkSrc = FLEXCANDRV_CLKSRC_CHICLK;
+ flexCanCfg.fdEnable = false;
+ flexCanCfg.fdISOEnable = false;
+ flexCanCfg.enhancefifoEnable = true;
+ flexCanCfg.msgBufDataLenSel = FLEXCANDRV_MB_SIZE_BYTE_8;
+ flexCanCfg.individualMaskEnable = true;
+
+ if(flexCanCfg.clkSrc == FLEXCANDRV_CLKSRC_CHICLK)
+ {
+ ClockDrv_GetFreq(&obj->clockDrv, CLOCKDRV_APB, &busClockFreq);
+ }
+ else
+ {
+ ClockDrv_GetFreq(&obj->clockDrv, CLOCKDRV_SOSC_DIV2, &busClockFreq);
+ }
+
+ if(flexCanCfg.fdEnable == true)
+ {
+ FlexCanDrv_BitTimingCalc(&flexCanCfg.fdBitTiming,
+ busClockFreq, /* module clock source: 16M */
+ 2000000, /* baudrate: 2M */
+ 7500, /* sample point: 75% */
+ 2000, /* SJW: 20% */
+ 1); /* FD bit timing */
+ }
+
+ FlexCanDrv_BitTimingCalc(&flexCanCfg.bitTiming,
+ busClockFreq, /* module clock source: 16M */
+ 500000, /* baudrate: 500K */
+ 7500, /* sample point: 75% */
+ 2500, /* SJW: 20% */
+ 0); /* classic CAN bit timing */
+
+ /* initialize CAN module */
+ FlexCanDrv_Configure(flexCanDrv_DemoObj, &flexCanCfg);
+
+ /* enable enhance rx fifo interrupt */
+ FlexCanDrv_SetEnhanceRxFFIsr(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_DAIE, true);
+ IrqDrv_EnableIrq(CAN0_ERxFIFO_IRQn);
+}
+
+
+
+bool FlexCanBoot_ReadoutMsg(FlexCan_FrameStructureType* pRxMsgObj)
+{
+ bool ret = false;
+
+ if(flexCan_DataInfo.wrIdx != flexCan_DataInfo.rdIdx)
+ {
+ memcpy(pRxMsgObj, &flexCan_DataInfo.rxMsg[flexCan_DataInfo.rdIdx], sizeof(FlexCan_FrameStructureType));
+ flexCan_DataInfo.rdIdx++;
+ if(flexCan_DataInfo.rdIdx >= CAN_BUFFER_FIFO_SIZE)
+ {
+ flexCan_DataInfo.rdIdx = 0;
+ }
+
+ ret = true;
+ }
+
+ return ret;
+}
+
+
+uint8_t flexCanBoot_EnhanceRxFFCnt = 0;
+void CAN0_ERxFIFO_Handler(void)
+{
+ if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_DAIE) == true)
+ {
+ if(FlexCanDrv_GetEnhanceRxFFIsFull(flexCanDrv_DemoObj) == false)
+ {
+ }
+
+ if(FlexCanDrv_GetEnhanceRxFFIsEmpty(flexCanDrv_DemoObj) == false)
+ {
+ FlexCanDrv_MsgObjType rxMsgObj;
+
+ flexCanBoot_EnhanceRxFFCnt = FlexCanDrv_GetEnhanceRxFFMsgNums(flexCanDrv_DemoObj);
+
+ if(flexCanBoot_EnhanceRxFFCnt > 0)
+ {
+ FlexCanDrv_GetEnhanceRxFifoMsg(flexCanDrv_DemoObj, &rxMsgObj);
+ memcpy(flexCan_DataInfo.rxMsg[flexCan_DataInfo.wrIdx].data, rxMsgObj.data, rxMsgObj.dlc);
+ flexCan_DataInfo.rxMsg[flexCan_DataInfo.wrIdx].id = rxMsgObj.msgId;
+ flexCan_DataInfo.rxMsg[flexCan_DataInfo.wrIdx].len = rxMsgObj.dlc;
+ flexCan_DataInfo.wrIdx++;
+ if(flexCan_DataInfo.wrIdx >= CAN_BUFFER_FIFO_SIZE)
+ {
+ flexCan_DataInfo.wrIdx = 0;
+ }
+ }
+ }
+ }
+
+ if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_WMMIE) == true)
+ {
+ FlexCanDrv_ClearEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_WMMIE);
+ }
+
+ if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_OVFIE) == true)
+ {
+ FlexCanDrv_ClearEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_OVFIE);
+ }
+
+ if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_UFWIE) == true)
+ {
+ FlexCanDrv_ClearEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_UFWIE);
+ }
+}
diff --git a/cva_asw_m0146/src/canuser.h b/cva_asw_m0146/src/canuser.h
new file mode 100644
index 0000000..0d41704
--- /dev/null
+++ b/cva_asw_m0146/src/canuser.h
@@ -0,0 +1,46 @@
+#ifndef __CANUSER_H__
+#define __CANUSER_H__
+
+#include "mcu.h"
+#include "uds.h"
+/*******************************************************************************
+ * the defines
+ ******************************************************************************/
+#define UDS_PHYS_RECV_MSG_ID (0x732)
+#define UDS_FUNC_RECV_MSG_ID (0x7DF)
+#define UDS_PHYS_RESP_MSG_ID (0x7B2)
+
+#define APP_TX_ECU_STATUS_MSG_ID (0x210)
+#define APP_TX_ECU_DEBUG1_MSG_ID (0x211)
+#define APP_TX_ECU_DEBUG2_MSG_ID (0x212)
+#define APP_TX_ECU_DEBUG3_MSG_ID (0x213)
+#define APP_RX_HOST_REQ1_MSG_ID (0x200)
+#define APP_RX_HOST_REQ2_MSG_ID (0x201)
+
+#define CAN_DATA_BUFFER_SIZE (64u)
+#define CAN_BUFFER_FIFO_SIZE (32u)
+
+/*******************************************************************************
+ * the typedefs
+ ******************************************************************************/
+
+typedef struct
+{
+ uint32_t id;
+ uint8_t data[CAN_DATA_BUFFER_SIZE];
+ uint8_t len;
+ uint16_t timeStamp;
+ uint32_t hrTimeStamp;
+} FlexCan_FrameStructureType;
+
+
+/*******************************************************************************
+ * the function prototypes
+ ******************************************************************************/
+
+void FlexCanBoot_Init(McuType *obj);
+int8_t FlexCanBoot_TxMessage(uint32_t msgId, const uint8_t* pData, uint8_t size);
+bool FlexCanBoot_ReadoutMsg(FlexCan_FrameStructureType* pRxMsgObj);
+void MsgTask(UdsType *obj);
+
+#endif
diff --git a/cva_asw_m0146/src/extern.c b/cva_asw_m0146/src/extern.c
index e15077a..ce8383f 100644
--- a/cva_asw_m0146/src/extern.c
+++ b/cva_asw_m0146/src/extern.c
@@ -1,11 +1,13 @@
#include "extern.h"
-
+#include "TLE94x1.h"
#include
-
+#include "drivers/reset/reset_drv.h"
+#include "mcu.h"
static const unsigned char SW_VERSION[16] = "SW0101_20240510";
static const unsigned char HW_VERSION[8] = "HW01";
+extern McuType mcu;
void getSW_VERSION(unsigned char *pdata)
{
@@ -22,4 +24,13 @@ void getBuildTime(unsigned char *pdata)
memcpy(pdata, (unsigned char *)0x00010410, 12);
memcpy(pdata + 12, (unsigned char *)0x00010404, 8);
pdata[11] = ' ';
+}
+
+void extHardwareReset(void)
+{
+ SBC_Write_RegField(SBC_M_S_CTRL, SBC_M_S_CTRL_MODE_Msk, SBC_M_S_CTRL_MODE_Pos, SBC_MODE_RESET, NULL);
+}
+void extSortwareReset(void)
+{
+ ResetDrv_SoftwareResetModule(&mcu.resetDrv,RESETDRV_SWRESET_SYS);
}
\ No newline at end of file
diff --git a/cva_asw_m0146/src/extern.h b/cva_asw_m0146/src/extern.h
index ce714a9..477a085 100644
--- a/cva_asw_m0146/src/extern.h
+++ b/cva_asw_m0146/src/extern.h
@@ -6,6 +6,9 @@ void getSW_VERSION(unsigned char *pdata);
void getHW_VERSION(unsigned char *pdata);
void getBuildTime(unsigned char *pdata);
+void extHardwareReset(void);
+void extSortwareReset(void);
+
#endif
diff --git a/cva_asw_m0146/src/hwctrl.c b/cva_asw_m0146/src/hwctrl.c
index ccf8edb..34695f4 100644
--- a/cva_asw_m0146/src/hwctrl.c
+++ b/cva_asw_m0146/src/hwctrl.c
@@ -6,6 +6,8 @@
#include "TLE94x1.h"
#include "string.h"
#include "irq_drv.h"
+#include "canuser.h"
+
/*******************************************************************************
* the defines
@@ -15,51 +17,23 @@
/*******************************************************************************
* the typedefs
******************************************************************************/
-typedef enum
-{
- UDS_MSG_IDX_STD_RX_PHYS,
- UDS_MSG_IDX_STD_RX_FUNC,
- UDS_MSG_IDX_STD_RX_TEST1,
- UDS_MSG_IDX_STD_RX_TEST2,
- UDS_MSG_IDX_STD_TX_TEST1,
- UDS_MSG_IDX_STD_TX,
- UDS_MSG_IDX_STD_TEST1,
- UDS_MSG_IDX_STD_TEST2,
- UDS_MSG_IDX_NUM
-} Uds_MsgIdIdxType;
-typedef struct
-{
- FlexCan_FrameStructureType rxMsg[CAN_BUFFER_FIFO_SIZE];
- FlexCan_FrameStructureType txMsg[CAN_BUFFER_FIFO_SIZE];
- uint8_t wrIdx;
- uint8_t rdIdx;
-} FlexCan_DataInfoType;
+
/*******************************************************************************
* the globals
******************************************************************************/
-FlexCanDrv_ControllerCfgType flexCanCfg;
-FlexCan_DataInfoType flexCan_DataInfo;
-FlexCanDrvType* flexCanDrv_DemoObj;
+
/*******************************************************************************
* the const
******************************************************************************/
-const FlexCanDrv_MsgCfgType msgCfgObj[UDS_MSG_IDX_NUM] = {
- {UDS_MSG_IDX_STD_RX_PHYS, 1, UDS_PHYS_RECV_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_PHYS */
- {UDS_MSG_IDX_STD_RX_FUNC, 1, UDS_FUNC_RECV_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_FUNC */
- {UDS_MSG_IDX_STD_RX_TEST1, 1, APP_RX_TEST1_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_FUNC */
- {UDS_MSG_IDX_STD_RX_TEST2, 1, APP_RX_TEST2_MSG_ID, false, FLEXCANDRV_MSGTYPE_RX, DLC_BYTE_8, false, true, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_RX_FUNC */
- {UDS_MSG_IDX_STD_TX, 1, UDS_PHYS_RESP_MSG_ID, false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
- {UDS_MSG_IDX_STD_TEST1, 1, APP_TX_TEST1_MSG_ID, false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
- {UDS_MSG_IDX_STD_TEST2, 1, APP_TX_TEST2_MSG_ID, false, FLEXCANDRV_MSGTYPE_TX, DLC_BYTE_8, false, false, 0xFFFFFFFF}, /* CAN_MSGOBJ_STD_TX */
-};
+
/*******************************************************************************
* the function prototypes
******************************************************************************/
-static void FlexCanBoot_Init(McuType *obj);
+
static void hw_IO_Init(McuType *obj);
@@ -112,16 +86,6 @@ void hw_init(McuType *obj)
SEGGER_RTT_printf(0,"-----SPI_INIT-----\n");
SBC_SPI_INIT();
- /* CAN init */
- memset(&flexCan_DataInfo, 0, sizeof(flexCan_DataInfo));
- memset(&flexCanCfg, 0, sizeof(flexCanCfg));
- SEGGER_RTT_printf(0,"-----FlexCanDrv_INIT-----\n");
- /* get CAN controller default configuration */
- FlexCanDrv_GetDefaultCfg(&flexCanCfg);
-
- flexCanCfg.msgNum = sizeof(msgCfgObj) / sizeof(FlexCanDrv_MsgCfgType);
- flexCanCfg.msgCfg = msgCfgObj;
-
FlexCanBoot_Init(obj);
hw_IO_Init(obj);
@@ -459,149 +423,8 @@ void hw_MotorCtrl(McuType *obj,Motor_ID_Type motorid,Motor_ACT_Type dir)
}
-/************************************* CAN *****************************************/
-int8_t FlexCanBoot_TxMessage(uint32_t msgId, const uint8_t* pData, uint8_t size)
-{
- FlexCanDrv_MsgObjType txMsgObj;
- uint8_t msgIdx = 0, i = 0;
-
- for(i = 0; i < flexCanCfg.msgNum; i++)
- {
- if(msgId == flexCanCfg.msgCfg[i].msgId)
- {
- msgIdx = i;
- break;
- }
- }
-
- txMsgObj.msgBufId = flexCanCfg.msgCfg[msgIdx].msgBufId;
- txMsgObj.dlc = size;
- txMsgObj.msgId = flexCanCfg.msgCfg[msgIdx].msgId;
- memcpy(&txMsgObj.data[0], pData, size);
-
- FlexCanDrv_SetTxMsg(flexCanDrv_DemoObj, &txMsgObj);
- /* transmit standard CAN Tx message */
- FlexCanDrv_TransmitMsg(flexCanDrv_DemoObj, &txMsgObj);
-
- return 0;
-}
-
-static void FlexCanBoot_Init(McuType *obj)
-{
- uint32_t busClockFreq = 0;
-
- flexCanDrv_DemoObj = &obj->flexCanDrv0;
-
- /* set PTE4 as MUX 5 - CAN0.RX */
- PinsDrv_SetMuxModeSel(&obj->ptb, 0, PINSDRV_MUX_ALT5);
-
- /* set PTE5 as MUX 5 - CAN0.TX */
- PinsDrv_SetMuxModeSel(&obj->ptb, 1, PINSDRV_MUX_ALT5);
-
- flexCanCfg.clkSrc = FLEXCANDRV_CLKSRC_CHICLK;
- flexCanCfg.fdEnable = false;
- flexCanCfg.fdISOEnable = false;
- flexCanCfg.enhancefifoEnable = true;
- flexCanCfg.msgBufDataLenSel = FLEXCANDRV_MB_SIZE_BYTE_8;
- flexCanCfg.individualMaskEnable = true;
-
- if(flexCanCfg.clkSrc == FLEXCANDRV_CLKSRC_CHICLK)
- {
- ClockDrv_GetFreq(&obj->clockDrv, CLOCKDRV_APB, &busClockFreq);
- }
- else
- {
- ClockDrv_GetFreq(&obj->clockDrv, CLOCKDRV_SOSC_DIV2, &busClockFreq);
- }
-
- if(flexCanCfg.fdEnable == true)
- {
- FlexCanDrv_BitTimingCalc(&flexCanCfg.fdBitTiming,
- busClockFreq, /* module clock source: 16M */
- 2000000, /* baudrate: 2M */
- 7500, /* sample point: 75% */
- 2000, /* SJW: 20% */
- 1); /* FD bit timing */
- }
-
- FlexCanDrv_BitTimingCalc(&flexCanCfg.bitTiming,
- busClockFreq, /* module clock source: 16M */
- 500000, /* baudrate: 500K */
- 7500, /* sample point: 75% */
- 2500, /* SJW: 20% */
- 0); /* classic CAN bit timing */
-
- /* initialize CAN module */
- FlexCanDrv_Configure(flexCanDrv_DemoObj, &flexCanCfg);
-
- /* enable enhance rx fifo interrupt */
- FlexCanDrv_SetEnhanceRxFFIsr(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_DAIE, true);
- IrqDrv_EnableIrq(CAN0_ERxFIFO_IRQn);
-}
-
-bool FlexCanBoot_ReadoutMsg(FlexCan_FrameStructureType* pRxMsgObj)
-{
- bool ret = false;
-
- if(flexCan_DataInfo.wrIdx != flexCan_DataInfo.rdIdx)
- {
- memcpy(pRxMsgObj, &flexCan_DataInfo.rxMsg[flexCan_DataInfo.rdIdx], sizeof(FlexCan_FrameStructureType));
- flexCan_DataInfo.rdIdx++;
- if(flexCan_DataInfo.rdIdx >= CAN_BUFFER_FIFO_SIZE)
- {
- flexCan_DataInfo.rdIdx = 0;
- }
-
- ret = true;
- }
-
- return ret;
-}
-uint8_t flexCanBoot_EnhanceRxFFCnt = 0;
-void CAN0_ERxFIFO_Handler(void)
-{
- if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_DAIE) == true)
- {
- if(FlexCanDrv_GetEnhanceRxFFIsFull(flexCanDrv_DemoObj) == false)
- {
- }
-
- if(FlexCanDrv_GetEnhanceRxFFIsEmpty(flexCanDrv_DemoObj) == false)
- {
- FlexCanDrv_MsgObjType rxMsgObj;
-
- flexCanBoot_EnhanceRxFFCnt = FlexCanDrv_GetEnhanceRxFFMsgNums(flexCanDrv_DemoObj);
-
- if(flexCanBoot_EnhanceRxFFCnt > 0)
- {
- FlexCanDrv_GetEnhanceRxFifoMsg(flexCanDrv_DemoObj, &rxMsgObj);
- memcpy(flexCan_DataInfo.rxMsg[flexCan_DataInfo.wrIdx].data, rxMsgObj.data, rxMsgObj.dlc);
- flexCan_DataInfo.rxMsg[flexCan_DataInfo.wrIdx].id = rxMsgObj.msgId;
- flexCan_DataInfo.rxMsg[flexCan_DataInfo.wrIdx].len = rxMsgObj.dlc;
- flexCan_DataInfo.wrIdx++;
- if(flexCan_DataInfo.wrIdx >= CAN_BUFFER_FIFO_SIZE)
- {
- flexCan_DataInfo.wrIdx = 0;
- }
- }
- }
- }
-
- if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_WMMIE) == true)
- {
- FlexCanDrv_ClearEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_WMMIE);
- }
-
- if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_OVFIE) == true)
- {
- FlexCanDrv_ClearEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_OVFIE);
- }
-
- if(FlexCanDrv_GetEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_UFWIE) == true)
- {
- FlexCanDrv_ClearEnhanceRxFFIsrFlag(flexCanDrv_DemoObj, FLEXCANDRV_ENHANCERXFF_ISR_SRC_UFWIE);
- }
-}
+
+
diff --git a/cva_asw_m0146/src/hwctrl.h b/cva_asw_m0146/src/hwctrl.h
index bc5b1b2..1b0cc7a 100644
--- a/cva_asw_m0146/src/hwctrl.h
+++ b/cva_asw_m0146/src/hwctrl.h
@@ -2,61 +2,23 @@
#define __HWCTRL_H__
#include "mcu.h"
+#include "MotorCtrl.h"
/*******************************************************************************
* the defines
******************************************************************************/
-#define UDS_PHYS_RECV_MSG_ID (0x732)
-#define UDS_FUNC_RECV_MSG_ID (0x7DF)
-#define UDS_PHYS_RESP_MSG_ID (0x7B2)
-
-#define APP_TX_TEST1_MSG_ID (0x111)
-#define APP_TX_TEST2_MSG_ID (0x222)
-#define APP_RX_TEST1_MSG_ID (0x444)
-#define APP_RX_TEST2_MSG_ID (0x555)
-
-#define CAN_DATA_BUFFER_SIZE (64u)
-#define CAN_BUFFER_FIFO_SIZE (32u)
-
/*******************************************************************************
* the typedefs
******************************************************************************/
-typedef struct
-{
- uint32_t id;
- uint8_t data[CAN_DATA_BUFFER_SIZE];
- uint8_t len;
- uint16_t timeStamp;
- uint32_t hrTimeStamp;
-} FlexCan_FrameStructureType;
-typedef enum
-{
- Motor_ACT_NOACT,//停止
- Motor_ACT_CW,//正转
- Motor_ACT_CCW,//反转
-} Motor_ACT_Type;
-typedef enum
-{
- Motor1,//
- Motor2,//
- Motor3,//
- Motor4,//
- Motor5,//
- Motor6,//
-} Motor_ID_Type;
/*******************************************************************************
* the function prototypes
******************************************************************************/
void hw_init(McuType *obj);
-int8_t FlexCanBoot_TxMessage(uint32_t msgId, const uint8_t* pData, uint8_t size);
-bool FlexCanBoot_ReadoutMsg(FlexCan_FrameStructureType* pRxMsgObj);
-
-
void hw_MotorCtrl(McuType *obj,Motor_ID_Type motorid,Motor_ACT_Type dir);
diff --git a/cva_asw_m0146/src/main.c b/cva_asw_m0146/src/main.c
index d2e77b3..cd81ce4 100644
--- a/cva_asw_m0146/src/main.c
+++ b/cva_asw_m0146/src/main.c
@@ -55,11 +55,6 @@ typedef struct
******************************************************************************/
McuType mcu;
-
-
-
-
-
#pragma location = ".asw_header"
__root const app_CfgInfoType app_inif = {
.sAswHeader = ASW_HEAD_MASK,//0x00010400
@@ -79,10 +74,8 @@ __root const app_CfgInfoType app_inif = {
int main(void)
{
-
IrqDrv_DisableGlobalInterrupt();
-
/* Initialize all MCU drivers: flash drv included */
Mcu_Init(&mcu);
@@ -91,8 +84,6 @@ int main(void)
hw_init(&mcu);
appTaskInit(&mcu);
-
-
IrqDrv_EnableGlobalInterrupt();
SEGGER_RTT_printf(0,"-----init success-----\n");
diff --git a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.bat b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.bat
index 14ee629..df88f5a 100644
--- a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.bat
+++ b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.bat
@@ -25,7 +25,7 @@ if not "%~1" == "" goto debugFile
@echo on
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
@echo off
goto end
@@ -34,7 +34,7 @@ goto end
@echo on
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" "--debug_file=%~1" --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" "--debug_file=%~1" --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
@echo off
:end
\ No newline at end of file
diff --git a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.ps1 b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.ps1
index f14ba67..e6bf050 100644
--- a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.ps1
+++ b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.cspy.ps1
@@ -23,9 +23,9 @@
if ($debugfile -eq "")
{
-& "E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
+& "e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
}
else
{
-& "E:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" --debug_file=$debugfile --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
+& "e:\Program Files\IAR Systems\Embedded Workbench 9.2\common\bin\cspybat" -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.general.xcl" --debug_file=$debugfile --backend -f "F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\settings\cva_bootloader_m0146.Debug.driver.xcl"
}
diff --git a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.driver.xcl b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.driver.xcl
index ffd29cb..28b46e5 100644
--- a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.driver.xcl
+++ b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.driver.xcl
@@ -6,7 +6,7 @@
"-p"
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf"
"--semihosting"
diff --git a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.general.xcl b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.general.xcl
index e936804..d912a3a 100644
--- a/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.general.xcl
+++ b/cva_bootloader_m0146/settings/cva_bootloader_m0146.Debug.general.xcl
@@ -1,10 +1,10 @@
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armPROC.dll"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armPROC.dll"
-"E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armJLINK.dll"
+"e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armJLINK.dll"
"F:\FCB_project\RP-01\CODE\cva_bootloader_m0146\Debug_FLASH\Exe\bootloader_m146.out"
---plugin="E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armbat.dll"
+--plugin="e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\bin\armbat.dll"
diff --git a/cva_bootloader_m0146/settings/cva_bootloader_m0146.dnx b/cva_bootloader_m0146/settings/cva_bootloader_m0146.dnx
index f9cae5f..c3da40b 100644
--- a/cva_bootloader_m0146/settings/cva_bootloader_m0146.dnx
+++ b/cva_bootloader_m0146/settings/cva_bootloader_m0146.dnx
@@ -15,13 +15,13 @@
_ 0
_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
- _ 0
- _ 0
12
0
0x10000
0x0
0x4
+ _ 0
+ _ 0
968150740
@@ -77,11 +77,11 @@
0
- E:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf
+ e:\Program Files\IAR Systems\Embedded Workbench 9.2\arm\config\debugger\CVAChip\CVM0144.ddf
- 1
0
+ 1
1
@@ -95,6 +95,12 @@
uint8_t[2056] 4 0
+
+ 0
+ 1
+ 0
+ 0
+
0
0
@@ -149,12 +155,6 @@
1
0
-
- 0
- 1
- 0
- 0
-
10000
I0
diff --git a/cva_bootloader_m0146/settings/cva_bootloader_m0146.wsdt b/cva_bootloader_m0146/settings/cva_bootloader_m0146.wsdt
index f98b5d8..b6d5eec 100644
--- a/cva_bootloader_m0146/settings/cva_bootloader_m0146.wsdt
+++ b/cva_bootloader_m0146/settings/cva_bootloader_m0146.wsdt
@@ -16,7 +16,7 @@
- _I0
- - 1503
+ - 1486
- 20
2
@@ -95,11 +95,11 @@
1
1
1
- B200000019001386000004000000268100000500000010860000010000000F8100000100000001E10000010000000D800000010000000C81000083000000038400000100000017810000010000005686000008000000558400000200000014810000010000005E860000010000000E81000019000000E9800000040000000B81000002000000289700000100000014860000020000000581000003000000118600000200000046810000010000000A840000010000005D860000010000000D81000002000000E880000002000000
+ BD00000019001386000004000000268100000500000010860000010000000F8100000100000001E10000010000000D800000010000000C8100008B000000038400000100000017810000010000005686000008000000558400000300000014810000010000005E860000010000000E810000190000000B810000020000002897000001000000E98000000600000014860000020000000581000003000000118600000200000046810000010000000A840000010000005D860000010000000D81000002000000E880000002000000
- 5F000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400003C8400003D840000408400004C8400003E8400004B8400004D8400003F8400003A8400003B8400005A8400005B840000D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000E0840000E1840000E2840000EA840000248100000C84000033840000788400001184000020DE000021DE000026DE000028DE000023DE000022DE000024DE000027DE000025DE0000209200002892000029920000379200003892000034920000339200001E9200001D92000045DE000008800000098000000A8000000B8000000C800000158000000A81000001E800007784000007840000808C000044D5000055840000568400005984000012810000D284000053840000818400007D840000828400008384000084840000E8800000E98400002DDE00001FDE00002CDE0000868400004D9700002AE10000008200001C82000033820000018200003D9700003E970000
- 57001397000077000000249700007A00000004840000460C00002CE100003D0C00002681000076000000109700007200000015810000D1030000048100009E000000318400004D0C000023920000000000001E9700007400000029E10000B700000007E10000EC03000000900000510C00000F8100001B0C000020810000230C000004E10000EA03000023E100003A0C00000C810000180C000007970000B20000003A9700008F000000299700006400000001E10000E70300000D800000C5030000198200000C0C000009810000670000001597000076000000269700008600000006840000480C0000168200000A0C000003840000450C00001297000071000000239700007D000000349700008A00000017810000D30300002BE100003C0C000000840000420C00000F970000700000002592000059000000319700008700000014810000D003000044920000050C000000810000C60300000E840000FD01000030840000FF0100002F8200000D0C00001F920000020C00000E8100001A0C00001F810000220C00003C970000910000002B9700006600000025E100003B0C000003E10000E903000006970000310C00002D920000040C0000179700007B000000399700008E000000289700006300000022E10000390C000000E10000E60300000B810000CA010000188200000B0C000005840000470C0000D1840000010C00001497000079000000259700008500000041E10000F303000002840000440C0000119700007500000016810000D2030000058100009F000000108400004B0C0000328400004E0C00000E9700006F00000005E10000EB03000051840000040400000A840000490C000035E100008F0000003B970000900000002A9700006500000024E10000B600000002E10000E80300000D810000CC01000005970000300C00002C920000030C0000169700007C000000279700007E000000
+ 60000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400003C8400003D840000408400004C8400003E8400004B8400004D8400003F8400003A8400003B8400005A8400005B840000D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000E0840000E1840000E2840000EA840000248100000C84000033840000788400001184000020DE000021DE000026DE000028DE000023DE000022DE000024DE000027DE000025DE0000209200002892000029920000379200003892000034920000339200001E9200001D92000045DE000008800000098000000A8000000B8000000C800000158000000A81000001E800007784000007840000808C000044D5000055840000568400005984000012810000D284000053840000818400007D840000828400008384000084840000E8800000E98400002DDE00001FDE00002CDE0000868400004D9700002AE10000008200001C82000033820000018200003D9700003E97000025920000
+ 56001397000077000000249700007A000000048400004D0000002681000076000000109700007200000004810000D70000002CE100003D0C0000158100007500000023920000000000001E9700007400000029E10000B7000000318400005400000007E1000090000000009000000301000020810000E60000000F810000DE00000004E100008E00000007970000B20000003A9700008F00000029970000640000000C810000DB00000023E100003A0C000001E100008B0000000D8000006900000009810000D900000015970000760000002697000086000000068400004F000000198200000C0C00001297000071000000239700007D000000349700008A000000038400004C000000168200000A0C000017810000770000000F97000070000000319700008700000000840000420C00002BE100003C0C0000148100007400000044920000CF0000000E840000510000003084000053000000008100006A0000001F920000CC0000003C970000910000002B970000660000001F810000E50000000E810000DD0000002F8200000D0C000025E100003B0C000003E100008D0000002D920000CE000000179700007B000000399700008E00000028970000630000000B810000DA00000006970000310C000022E10000390C000000E100008A00000014970000790000002597000085000000D1840000CB000000058400004E000000188200000B0C000041E1000097000000119700007500000005810000D8000000028400004B00000016810000760000000E9700006F0000001084000052000000328400005500000005E100008F00000051840000A800000035E10000010100003B970000900000002A9700006500000024E10000B60000000A840000500000000D810000DC00000002E10000F70000002C920000CD000000169700007C000000279700007E00000005970000300C0000
0
@@ -457,11 +457,11 @@
1
- 000000000C000000000000000010000001000000FFFFFFFFFFFFFFFF3F0100003200000043010000040200000100000002000010040000000100000091FFFFFFF10400000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000004F01000000060000530100000000000001000000040000000100000000000000000000000C85000000000000000000000000000000000000010000000C850000010000000C850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000078500000000000000000000000000000000000001000000078500000100000007850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000001000000FFFFFFFFFFFFFFFF000000000402000000060000080200000100000001000010040000000100000072FEFFFF0D010000FFFFFFFF070000000485000008850000098500000A8500000B8500000E85000000850000FFFF02000B004354616262656450616E650080000001000000000000001F02000000060000310300000000000008020000000600001A030000000000004080005607000000FFFEFF054200750069006C006400010000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000985000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000E85000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000085000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFF0485000001000000FFFFFFFF0485000002000000FFFF02001200434D756C746950616E654672616D65576E6400010084000000001700000022010000C80000000000000000000000020000000000000003850000000000000000000000000000000000000100000003850000038000010084000000001700000022010000C800000000000000000000000200000000000000068500000000000000000000000000000000000001000000068500000000000000000000
+ 000000000C000000000000000010000001000000FFFFFFFFFFFFFFFF3F0100003200000043010000040200000100000002000010040000000100000091FFFFFFF10400000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000004F01000000060000530100000000000001000000040000000100000000000000000000000C85000000000000000000000000000000000000010000000C850000010000000C850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000078500000000000000000000000000000000000001000000078500000100000007850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000001000000FFFFFFFFFFFFFFFF000000000402000000060000080200000100000001000010040000000100000072FEFFFF0D010000FFFFFFFF070000000485000008850000098500000A8500000B8500000E85000000850000FFFF02000B004354616262656450616E650080000001000000000000001F02000000060000310300000000000008020000000600001A030000000000004080005607000000FFFEFF054200750069006C006400010000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000985000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000E85000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000085000001000000FFFFFFFFFFFFFFFF06000000000000000000000000000000000000000000000001000000FFFFFFFF0485000001000000FFFFFFFF0485000002000000FFFF02001200434D756C746950616E654672616D65576E6400010084000000001700000022010000C80000000000000000000000020000000000000003850000000000000000000000000000000000000100000003850000038000010084000000001700000022010000C800000000000000000000000200000000000000068500000000000000000000000000000000000001000000068500000000000000000000
CMSIS-Pack
- 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED184000002000000C3020000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000
+ 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED18400000200000004010000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000
34049
@@ -533,7 +533,7 @@
Main
- 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000F4020000FFFEFF000000000000000000000000000100000001000000018001E1000000000000F5020000FFFEFF000000000000000000000000000100000001000000018003E1000000000000F7020000FFFEFF00000000000000000000000000010000000100000001800081000000000000D4020000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E1000000000000FA020000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E1000000000400FC020000FFFEFF000000000000000000000000000100000001000000018022E1000000000400FB020000FFFEFF000000000000000000000000000100000001000000018025E1000000000000FD020000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE1000000000400FE020000FFFEFF00000000000000000000000000010000000100000001802CE1000000000400FF020000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000000FFFFFFFFFFFEFF000100000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF009600000000000000000001802181000000000400E6020000FFFEFF000000000000000000000000000100000001000000018024E1000000000000EF020000FFFEFF000000000000000000000000000100000001000000018028E1000000000400EE020000FFFEFF000000000000000000000000000100000001000000018029E1000000000400F0020000FFFEFF00000000000000000000000000010000000100000001800281000000000000D5020000FFFEFF00000000000000000000000000010000000100000001802981000000000000EA020000FFFEFF00000000000000000000000000010000000100000001802781000000000000E8020000FFFEFF00000000000000000000000000010000000100000001802881000000000000E9020000FFFEFF00000000000000000000000000010000000100000001801D81000000000400E2020000FFFEFF00000000000000000000000000010000000100000001801E81000000000400E3020000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B81000002000400D9020000FFFEFF00000000000000000000000000010000000100000001800C81000002000000DA020000FFFEFF00000000000000000000000000010000000100000001805F86000002000000ED020000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E81000002000000DC020000FFFEFF00000000000000000000000000010000000100000001800F81000002000000DD020000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000
+ 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E10000000000002E010000FFFEFF000000000000000000000000000100000001000000018001E10000000000002F010000FFFEFF000000000000000000000000000100000001000000018003E100000000000031010000FFFEFF000000000000000000000000000100000001000000018000810000000000000E010000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000000034010000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E100000000040036010000FFFEFF000000000000000000000000000100000001000000018022E100000000040035010000FFFEFF000000000000000000000000000100000001000000018025E100000000000037010000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040038010000FFFEFF00000000000000000000000000010000000100000001802CE100000000040039010000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01000D005061737465436F6D626F426F784281000000000000FFFFFFFFFFFEFF000000000000000000010000000000000001000000B400000002002050FFFFFFFFFFFEFF00960000000000000000000180218100000000040020010000FFFEFF000000000000000000000000000100000001000000018024E100000000000029010000FFFEFF000000000000000000000000000100000001000000018028E100000000040028010000FFFEFF000000000000000000000000000100000001000000018029E10000000000002A010000FFFEFF000000000000000000000000000100000001000000018002810000000000000F010000FFFEFF0000000000000000000000000001000000010000000180298100000000000024010000FFFEFF0000000000000000000000000001000000010000000180278100000000000022010000FFFEFF0000000000000000000000000001000000010000000180288100000000000023010000FFFEFF00000000000000000000000000010000000100000001801D810000000004001C010000FFFEFF00000000000000000000000000010000000100000001801E810000000004001D010000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B8100000200000013010000FFFEFF00000000000000000000000000010000000100000001800C8100000200000014010000FFFEFF00000000000000000000000000010000000100000001805F8600000200000027010000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000200000016010000FFFEFF00000000000000000000000000010000000100000001800F8100000200000017010000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E0024030000
34065
@@ -584,7 +584,7 @@
- 0100000003000000010000000000000000000000010000000100000002000000000000000100000001000000000000002800000028000000010000000A0000000800000001000000FFFEFF132400570053005F0044004900520024005C007300720063005C006D00610069006E002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003700350038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00320031003400340032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00320031003400340032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF302400570053005F0044004900520024005C00530044004B005C006D006900640064006C00650077006100720065005C007500640073005C0075007300650072005C007500640073005F007300650072007600690063006500330037002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00350030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003600360039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003600360039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0F7500640073005F007300650072007600690063006500330037002E00630000000000FFFFFFFFFFFFFFFFFFFEFF352400570053005F0044004900520024005C007300720063005C0070007200690076006100740065005F006400720069007600650072005C0064007200690076006500720073005C0063006C006F0063006B005C0063006C006F0063006B005F006400720076002E006300010000000180FFFEFF00FFFEFFFF2B013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0032003400350037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00370036003600300032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00370036003600300032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B63006C006F0063006B005F006400720076002E00630000000000FFFFFFFFFFFFFFFFFFFEFF342400570053005F0044004900520024005C007300720063005C0070007200690076006100740065005F006400720069007600650072005C007500640073005C0075007300650072005C007500640073005F007300650072007600690063006500330036002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00360036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003400350039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003400360038003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0F7500640073005F007300650072007600690063006500330036002E00630000000000FFFFFFFFFFFFFFFFFFFEFF2B2400570053005F0044004900520024005C007300720063005C0070007200690076006100740065005F006400720069007600650072005C007500640073005C0073007400610063006B005C007500640073002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00380036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003700330036003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003700330036003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF057500640073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF242400570053005F0044004900520024005C007300720063005C0062006F006F0074006C006F0061006400650072005C0062006F006F0074006C006F0061006400650072002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003600380038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0C62006F006F0074006C006F0061006400650072002E00630000000000FFFFFFFFFFFFFFFFFFFEFF492400570053005F0044004900520024005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C0064007200690076006500720073005C006300700075005C0073007400610072007400750070005C0073007400610072007400750070005F004D0030003100340078002E005300010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003300340034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00320034003400350039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00320034003400350039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0F73007400610072007400750070005F004D0030003100340078002E00530000000000FFFFFFFFFFFFFFFFFFFEFF482400570053005F0044004900520024005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C0064007200690076006500720073005C006300700075005C0073007400610072007400750070005C00730079007300740065006D005F004D0030003100340078002E006300010000000180FFFEFF00FFFEFFFF28013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100300030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0033003900390037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0033003900390037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0E730079007300740065006D005F004D0030003100340078002E00630000000000FFFFFFFFFFFFFFFFFFFEFF542400570053005F0044004900520024005C002E002E005C006300760061005F006100730077005F006D0030003100340036005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C0064007200690076006500720073005C0066006C0065007800630061006E005C0066006C0065007800630061006E005F006400720076002E006300010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003400320035003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00310033003800370032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00310033003800370032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D66006C0065007800630061006E005F006400720076002E00630000000000FFFFFFFFFFFFFFFFFFFEFF482400570053005F0044004900520024005C002E002E005C006300760061005F006100730077005F006D0030003100340036005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C007200650067005C0066006C0065007800630061006E005F007200650067002E006800010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003700320039003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00330037003500310032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00330037003500310032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D66006C0065007800630061006E005F007200650067002E00680000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000004301000049000000000600001B020000
+ 0100000003000000010000000000000000000000010000000100000002000000000000000100000001000000000000002800000028000000010000000B0000000000000001000000FFFEFF132400570053005F0044004900520024005C007300720063005C006D00610069006E002E00630001000000FFFF010017004966436F6E74656E7453746F726167654D6663496D706CFFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003800300033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF302400570053005F0044004900520024005C00530044004B005C006D006900640064006C00650077006100720065005C007500640073005C0075007300650072005C007500640073005F007300650072007600690063006500330037002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00340037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003600360039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003600360039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0F7500640073005F007300650072007600690063006500330037002E00630000000000FFFFFFFFFFFFFFFFFFFEFF352400570053005F0044004900520024005C007300720063005C0070007200690076006100740065005F006400720069007600650072005C0064007200690076006500720073005C0063006C006F0063006B005C0063006C006F0063006B005F006400720076002E006300010000000180FFFEFF00FFFEFFFF2B013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0032003400350037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00370036003600300032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00370036003600300032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B63006C006F0063006B005F006400720076002E00630000000000FFFFFFFFFFFFFFFFFFFEFF342400570053005F0044004900520024005C007300720063005C0070007200690076006100740065005F006400720069007600650072005C007500640073005C0075007300650072005C007500640073005F007300650072007600690063006500330036002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00360036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003400350039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003400360038003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0F7500640073005F007300650072007600690063006500330036002E00630000000000FFFFFFFFFFFFFFFFFFFEFF2B2400570053005F0044004900520024005C007300720063005C0070007200690076006100740065005F006400720069007600650072005C007500640073005C0073007400610063006B005C007500640073002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00380034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003700330036003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003700330036003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF057500640073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF242400570053005F0044004900520024005C007300720063005C0062006F006F0074006C006F0061006400650072005C0062006F006F0074006C006F0061006400650072002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003600380038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0C62006F006F0074006C006F0061006400650072002E00630000000000FFFFFFFFFFFFFFFFFFFEFF492400570053005F0044004900520024005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C0064007200690076006500720073005C006300700075005C0073007400610072007400750070005C0073007400610072007400750070005F004D0030003100340078002E005300010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003300340034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00320034003400350039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00320034003400350039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0F73007400610072007400750070005F004D0030003100340078002E00530000000000FFFFFFFFFFFFFFFFFFFEFF482400570053005F0044004900520024005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C0064007200690076006500720073005C006300700075005C0073007400610072007400750070005C00730079007300740065006D005F004D0030003100340078002E006300010000000180FFFEFF00FFFEFFFF28013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100300030003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0033003900390037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0033003900390037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0E730079007300740065006D005F004D0030003100340078002E00630000000000FFFFFFFFFFFFFFFFFFFEFF542400570053005F0044004900520024005C002E002E005C006300760061005F006100730077005F006D0030003100340036005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C0064007200690076006500720073005C0066006C0065007800630061006E005C0066006C0065007800630061006E005F006400720076002E006300010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003400360034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00310033003800370032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00310033003800370032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D66006C0065007800630061006E005F006400720076002E00630000000000FFFFFFFFFFFFFFFFFFFEFF482400570053005F0044004900520024005C002E002E005C006300760061005F006100730077005F006D0030003100340036005C00530044004B005C0070006C006100740066006F0072006D005C0064006500760069006300650073005C00430056004D0030003100340078005C007200650067005C0066006C0065007800630061006E005F007200650067002E006800010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003700320039003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00330037003500310032003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00330037003500310032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D66006C0065007800630061006E005F007200650067002E00680000000000FFFFFFFFFFFFFFFFFFFEFF262400570053005F0044004900520024005C007300720063005C0054004C00450039003400360031005C0054004C00450039003400780031005F0044004500460049004E00450053002E006800010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00360033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0033003000340030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0033003000350031003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF1154004C00450039003400780031005F0044004500460049004E00450053002E00680000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000001000000020000004301000049000000000600001B020000
diff --git a/cva_bootloader_m0146/src/main.c b/cva_bootloader_m0146/src/main.c
index 658202f..61a9906 100644
--- a/cva_bootloader_m0146/src/main.c
+++ b/cva_bootloader_m0146/src/main.c
@@ -713,6 +713,7 @@ static void Bootloader_SetSessionMode(uint8_t sessionMode)
static void Bootloader_SwReset(void)
{
+ IrqDrv_DisableGlobalInterrupt();//关闭中断,不加会导致无法复位
ResetDrv_SoftwareResetModule(&mcu.resetDrv, RESETDRV_SWRESET_SYS);
}
@@ -837,6 +838,9 @@ int main(void)
if (gSystick1msCnt % 500 == 0)
{
+ ret = SBC_Read_Command(SBC_WD_CTRL);
+ SEGGER_RTT_printf(0,"%04d : SBC_WD_CTRL = %x\n",rollingcounter++,ret);
+ testdata[0] = ret;
//FlexCanBoot_TxMessage(UDS_TEXT_TX_MSG_ID,testdata,8);
}
@@ -856,8 +860,7 @@ int main(void)
//PinsDrv_WritePin(&mcu.ptb, 5, 0);
}
- ret = SBC_Read_Command(SBC_M_S_CTRL);
- SEGGER_RTT_printf(0,"%04d : FAM_PROD_STAT = %x\n",rollingcounter++,ret);
+
}