此日期之前的累计更新,详见ReadMe
This commit is contained in:
@@ -377,40 +377,7 @@
|
|||||||
<Name></Name>
|
<Name></Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
</TargetDriverDllRegistry>
|
</TargetDriverDllRegistry>
|
||||||
<Breakpoint>
|
<Breakpoint/>
|
||||||
<Bp>
|
|
||||||
<Number>0</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>291</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134275382</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>D:\work\SVN\鍐夊窛\mcu_program\checker_slave\source\interface\if_can.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\checker_slave_app\source/interface/if_can.c\291</Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>1</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>22</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134303466</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>D:\work\SVN\鍐夊窛\mcu_program\checker_slave\source\rt_thread\core_delay.c</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\checker_slave_app\source/rt_thread/core_delay.c\22</Expression>
|
|
||||||
</Bp>
|
|
||||||
</Breakpoint>
|
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>0</count>
|
<count>0</count>
|
||||||
@@ -1210,7 +1177,7 @@
|
|||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>dev</GroupName>
|
<GroupName>dev</GroupName>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>1</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
<cbSel>0</cbSel>
|
<cbSel>0</cbSel>
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
|
@@ -3627,6 +3627,57 @@
|
|||||||
<FileName>XTDriver.c</FileName>
|
<FileName>XTDriver.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\source\elec_det\driver\XTDriver.c</FilePath>
|
<FilePath>.\source\elec_det\driver\XTDriver.c</FilePath>
|
||||||
|
<FileOption>
|
||||||
|
<CommonProperty>
|
||||||
|
<UseCPPCompiler>2</UseCPPCompiler>
|
||||||
|
<RVCTCodeConst>0</RVCTCodeConst>
|
||||||
|
<RVCTZI>0</RVCTZI>
|
||||||
|
<RVCTOtherData>0</RVCTOtherData>
|
||||||
|
<ModuleSelection>0</ModuleSelection>
|
||||||
|
<IncludeInBuild>0</IncludeInBuild>
|
||||||
|
<AlwaysBuild>2</AlwaysBuild>
|
||||||
|
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||||
|
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||||
|
<PublicsOnly>2</PublicsOnly>
|
||||||
|
<StopOnExitCode>11</StopOnExitCode>
|
||||||
|
<CustomArgument></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
</CommonProperty>
|
||||||
|
<FileArmAds>
|
||||||
|
<Cads>
|
||||||
|
<interw>2</interw>
|
||||||
|
<Optim>0</Optim>
|
||||||
|
<oTime>2</oTime>
|
||||||
|
<SplitLS>2</SplitLS>
|
||||||
|
<OneElfS>2</OneElfS>
|
||||||
|
<Strict>2</Strict>
|
||||||
|
<EnumInt>2</EnumInt>
|
||||||
|
<PlainCh>2</PlainCh>
|
||||||
|
<Ropi>2</Ropi>
|
||||||
|
<Rwpi>2</Rwpi>
|
||||||
|
<wLevel>0</wLevel>
|
||||||
|
<uThumb>2</uThumb>
|
||||||
|
<uSurpInc>2</uSurpInc>
|
||||||
|
<uC99>2</uC99>
|
||||||
|
<uGnu>2</uGnu>
|
||||||
|
<useXO>2</useXO>
|
||||||
|
<v6Lang>0</v6Lang>
|
||||||
|
<v6LangP>0</v6LangP>
|
||||||
|
<vShortEn>2</vShortEn>
|
||||||
|
<vShortWch>2</vShortWch>
|
||||||
|
<v6Lto>2</v6Lto>
|
||||||
|
<v6WtE>2</v6WtE>
|
||||||
|
<v6Rtti>2</v6Rtti>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Cads>
|
||||||
|
</FileArmAds>
|
||||||
|
</FileOption>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>BaseChecker.c</FileName>
|
<FileName>BaseChecker.c</FileName>
|
||||||
@@ -3642,6 +3693,57 @@
|
|||||||
<FileName>XTChecker.c</FileName>
|
<FileName>XTChecker.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\source\elec_det\interface\XTChecker.c</FilePath>
|
<FilePath>.\source\elec_det\interface\XTChecker.c</FilePath>
|
||||||
|
<FileOption>
|
||||||
|
<CommonProperty>
|
||||||
|
<UseCPPCompiler>2</UseCPPCompiler>
|
||||||
|
<RVCTCodeConst>0</RVCTCodeConst>
|
||||||
|
<RVCTZI>0</RVCTZI>
|
||||||
|
<RVCTOtherData>0</RVCTOtherData>
|
||||||
|
<ModuleSelection>0</ModuleSelection>
|
||||||
|
<IncludeInBuild>0</IncludeInBuild>
|
||||||
|
<AlwaysBuild>2</AlwaysBuild>
|
||||||
|
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||||
|
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||||
|
<PublicsOnly>2</PublicsOnly>
|
||||||
|
<StopOnExitCode>11</StopOnExitCode>
|
||||||
|
<CustomArgument></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
</CommonProperty>
|
||||||
|
<FileArmAds>
|
||||||
|
<Cads>
|
||||||
|
<interw>2</interw>
|
||||||
|
<Optim>0</Optim>
|
||||||
|
<oTime>2</oTime>
|
||||||
|
<SplitLS>2</SplitLS>
|
||||||
|
<OneElfS>2</OneElfS>
|
||||||
|
<Strict>2</Strict>
|
||||||
|
<EnumInt>2</EnumInt>
|
||||||
|
<PlainCh>2</PlainCh>
|
||||||
|
<Ropi>2</Ropi>
|
||||||
|
<Rwpi>2</Rwpi>
|
||||||
|
<wLevel>0</wLevel>
|
||||||
|
<uThumb>2</uThumb>
|
||||||
|
<uSurpInc>2</uSurpInc>
|
||||||
|
<uC99>2</uC99>
|
||||||
|
<uGnu>2</uGnu>
|
||||||
|
<useXO>2</useXO>
|
||||||
|
<v6Lang>0</v6Lang>
|
||||||
|
<v6LangP>0</v6LangP>
|
||||||
|
<vShortEn>2</vShortEn>
|
||||||
|
<vShortWch>2</vShortWch>
|
||||||
|
<v6Lto>2</v6Lto>
|
||||||
|
<v6WtE>2</v6WtE>
|
||||||
|
<v6Rtti>2</v6Rtti>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Cads>
|
||||||
|
</FileArmAds>
|
||||||
|
</FileOption>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>EWChecker.c</FileName>
|
<FileName>EWChecker.c</FileName>
|
||||||
@@ -5060,6 +5162,57 @@
|
|||||||
<FileName>XTDriver.c</FileName>
|
<FileName>XTDriver.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\source\elec_det\driver\XTDriver.c</FilePath>
|
<FilePath>.\source\elec_det\driver\XTDriver.c</FilePath>
|
||||||
|
<FileOption>
|
||||||
|
<CommonProperty>
|
||||||
|
<UseCPPCompiler>2</UseCPPCompiler>
|
||||||
|
<RVCTCodeConst>0</RVCTCodeConst>
|
||||||
|
<RVCTZI>0</RVCTZI>
|
||||||
|
<RVCTOtherData>0</RVCTOtherData>
|
||||||
|
<ModuleSelection>0</ModuleSelection>
|
||||||
|
<IncludeInBuild>0</IncludeInBuild>
|
||||||
|
<AlwaysBuild>2</AlwaysBuild>
|
||||||
|
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||||
|
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||||
|
<PublicsOnly>2</PublicsOnly>
|
||||||
|
<StopOnExitCode>11</StopOnExitCode>
|
||||||
|
<CustomArgument></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
</CommonProperty>
|
||||||
|
<FileArmAds>
|
||||||
|
<Cads>
|
||||||
|
<interw>2</interw>
|
||||||
|
<Optim>0</Optim>
|
||||||
|
<oTime>2</oTime>
|
||||||
|
<SplitLS>2</SplitLS>
|
||||||
|
<OneElfS>2</OneElfS>
|
||||||
|
<Strict>2</Strict>
|
||||||
|
<EnumInt>2</EnumInt>
|
||||||
|
<PlainCh>2</PlainCh>
|
||||||
|
<Ropi>2</Ropi>
|
||||||
|
<Rwpi>2</Rwpi>
|
||||||
|
<wLevel>0</wLevel>
|
||||||
|
<uThumb>2</uThumb>
|
||||||
|
<uSurpInc>2</uSurpInc>
|
||||||
|
<uC99>2</uC99>
|
||||||
|
<uGnu>2</uGnu>
|
||||||
|
<useXO>2</useXO>
|
||||||
|
<v6Lang>0</v6Lang>
|
||||||
|
<v6LangP>0</v6LangP>
|
||||||
|
<vShortEn>2</vShortEn>
|
||||||
|
<vShortWch>2</vShortWch>
|
||||||
|
<v6Lto>2</v6Lto>
|
||||||
|
<v6WtE>2</v6WtE>
|
||||||
|
<v6Rtti>2</v6Rtti>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Cads>
|
||||||
|
</FileArmAds>
|
||||||
|
</FileOption>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>BaseChecker.c</FileName>
|
<FileName>BaseChecker.c</FileName>
|
||||||
@@ -5075,6 +5228,57 @@
|
|||||||
<FileName>XTChecker.c</FileName>
|
<FileName>XTChecker.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\source\elec_det\interface\XTChecker.c</FilePath>
|
<FilePath>.\source\elec_det\interface\XTChecker.c</FilePath>
|
||||||
|
<FileOption>
|
||||||
|
<CommonProperty>
|
||||||
|
<UseCPPCompiler>2</UseCPPCompiler>
|
||||||
|
<RVCTCodeConst>0</RVCTCodeConst>
|
||||||
|
<RVCTZI>0</RVCTZI>
|
||||||
|
<RVCTOtherData>0</RVCTOtherData>
|
||||||
|
<ModuleSelection>0</ModuleSelection>
|
||||||
|
<IncludeInBuild>0</IncludeInBuild>
|
||||||
|
<AlwaysBuild>2</AlwaysBuild>
|
||||||
|
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||||
|
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||||
|
<PublicsOnly>2</PublicsOnly>
|
||||||
|
<StopOnExitCode>11</StopOnExitCode>
|
||||||
|
<CustomArgument></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
</CommonProperty>
|
||||||
|
<FileArmAds>
|
||||||
|
<Cads>
|
||||||
|
<interw>2</interw>
|
||||||
|
<Optim>0</Optim>
|
||||||
|
<oTime>2</oTime>
|
||||||
|
<SplitLS>2</SplitLS>
|
||||||
|
<OneElfS>2</OneElfS>
|
||||||
|
<Strict>2</Strict>
|
||||||
|
<EnumInt>2</EnumInt>
|
||||||
|
<PlainCh>2</PlainCh>
|
||||||
|
<Ropi>2</Ropi>
|
||||||
|
<Rwpi>2</Rwpi>
|
||||||
|
<wLevel>0</wLevel>
|
||||||
|
<uThumb>2</uThumb>
|
||||||
|
<uSurpInc>2</uSurpInc>
|
||||||
|
<uC99>2</uC99>
|
||||||
|
<uGnu>2</uGnu>
|
||||||
|
<useXO>2</useXO>
|
||||||
|
<v6Lang>0</v6Lang>
|
||||||
|
<v6LangP>0</v6LangP>
|
||||||
|
<vShortEn>2</vShortEn>
|
||||||
|
<vShortWch>2</vShortWch>
|
||||||
|
<v6Lto>2</v6Lto>
|
||||||
|
<v6WtE>2</v6WtE>
|
||||||
|
<v6Rtti>2</v6Rtti>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Cads>
|
||||||
|
</FileArmAds>
|
||||||
|
</FileOption>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>EWChecker.c</FileName>
|
<FileName>EWChecker.c</FileName>
|
||||||
@@ -5110,6 +5314,57 @@
|
|||||||
<FileName>XTCheckerTest.c</FileName>
|
<FileName>XTCheckerTest.c</FileName>
|
||||||
<FileType>1</FileType>
|
<FileType>1</FileType>
|
||||||
<FilePath>.\source\elec_det\test\XTCheckerTest.c</FilePath>
|
<FilePath>.\source\elec_det\test\XTCheckerTest.c</FilePath>
|
||||||
|
<FileOption>
|
||||||
|
<CommonProperty>
|
||||||
|
<UseCPPCompiler>2</UseCPPCompiler>
|
||||||
|
<RVCTCodeConst>0</RVCTCodeConst>
|
||||||
|
<RVCTZI>0</RVCTZI>
|
||||||
|
<RVCTOtherData>0</RVCTOtherData>
|
||||||
|
<ModuleSelection>0</ModuleSelection>
|
||||||
|
<IncludeInBuild>0</IncludeInBuild>
|
||||||
|
<AlwaysBuild>2</AlwaysBuild>
|
||||||
|
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||||
|
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||||
|
<PublicsOnly>2</PublicsOnly>
|
||||||
|
<StopOnExitCode>11</StopOnExitCode>
|
||||||
|
<CustomArgument></CustomArgument>
|
||||||
|
<IncludeLibraryModules></IncludeLibraryModules>
|
||||||
|
<ComprImg>1</ComprImg>
|
||||||
|
</CommonProperty>
|
||||||
|
<FileArmAds>
|
||||||
|
<Cads>
|
||||||
|
<interw>2</interw>
|
||||||
|
<Optim>0</Optim>
|
||||||
|
<oTime>2</oTime>
|
||||||
|
<SplitLS>2</SplitLS>
|
||||||
|
<OneElfS>2</OneElfS>
|
||||||
|
<Strict>2</Strict>
|
||||||
|
<EnumInt>2</EnumInt>
|
||||||
|
<PlainCh>2</PlainCh>
|
||||||
|
<Ropi>2</Ropi>
|
||||||
|
<Rwpi>2</Rwpi>
|
||||||
|
<wLevel>0</wLevel>
|
||||||
|
<uThumb>2</uThumb>
|
||||||
|
<uSurpInc>2</uSurpInc>
|
||||||
|
<uC99>2</uC99>
|
||||||
|
<uGnu>2</uGnu>
|
||||||
|
<useXO>2</useXO>
|
||||||
|
<v6Lang>0</v6Lang>
|
||||||
|
<v6LangP>0</v6LangP>
|
||||||
|
<vShortEn>2</vShortEn>
|
||||||
|
<vShortWch>2</vShortWch>
|
||||||
|
<v6Lto>2</v6Lto>
|
||||||
|
<v6WtE>2</v6WtE>
|
||||||
|
<v6Rtti>2</v6Rtti>
|
||||||
|
<VariousControls>
|
||||||
|
<MiscControls></MiscControls>
|
||||||
|
<Define></Define>
|
||||||
|
<Undefine></Undefine>
|
||||||
|
<IncludePath></IncludePath>
|
||||||
|
</VariousControls>
|
||||||
|
</Cads>
|
||||||
|
</FileArmAds>
|
||||||
|
</FileOption>
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<FileName>elec_cmd.c</FileName>
|
<FileName>elec_cmd.c</FileName>
|
||||||
|
@@ -338,3 +338,8 @@
|
|||||||
2021.2.3
|
2021.2.3
|
||||||
充能统计添加中间值滤波
|
充能统计添加中间值滤波
|
||||||
修改晶振起振超时时间和flash相关以适应gd32
|
修改晶振起振超时时间和flash相关以适应gd32
|
||||||
|
2024.3.7
|
||||||
|
此日期之前的累计更新
|
||||||
|
V2.15 屏蔽XT相关代码、开路电流判线改为30、充能统计添加数据记录;
|
||||||
|
修改写MTP任务写入数据不对的bug;
|
||||||
|
JQ写三码任务自动使能OTP
|
||||||
|
@@ -69,7 +69,8 @@ typedef struct{
|
|||||||
|
|
||||||
static self_def g_self={
|
static self_def g_self={
|
||||||
.taskid_table=(uint8_t*)(APP_TEST_PLAN_ADDR+4),
|
.taskid_table=(uint8_t*)(APP_TEST_PLAN_ADDR+4),
|
||||||
.tasks_fun_table={jqtaskArray,xttaskArray,ewtaskArray},
|
// .tasks_fun_table={jqtaskArray,xttaskArray,ewtaskArray},
|
||||||
|
.tasks_fun_table={jqtaskArray,0,ewtaskArray},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -496,7 +497,9 @@ CheckerTask elec_get_task_fun(uint8_t taskid)
|
|||||||
CheckerTask **tasks_fun_table=s->tasks_fun_table;
|
CheckerTask **tasks_fun_table=s->tasks_fun_table;
|
||||||
uint8_t chip_type=s->chip_type;
|
uint8_t chip_type=s->chip_type;
|
||||||
if(taskid<CHECKER_MAXID_COUNT){
|
if(taskid<CHECKER_MAXID_COUNT){
|
||||||
|
if(tasks_fun_table[chip_type]){
|
||||||
task_fun=tasks_fun_table[chip_type][taskid];
|
task_fun=tasks_fun_table[chip_type][taskid];
|
||||||
|
}
|
||||||
}else if((taskid>=CHECKER_MAXID_COUNT)&&
|
}else if((taskid>=CHECKER_MAXID_COUNT)&&
|
||||||
(taskid<(CHECKER_MAXID_COUNT+CHECKER_EXTID_COUNT)))
|
(taskid<(CHECKER_MAXID_COUNT+CHECKER_EXTID_COUNT)))
|
||||||
{
|
{
|
||||||
@@ -621,7 +624,7 @@ array_def *elec_code(array_def *uid_psw)
|
|||||||
return arr_temp(r);
|
return arr_temp(r);
|
||||||
}
|
}
|
||||||
elec_code_load_param(uid_psw);
|
elec_code_load_param(uid_psw);
|
||||||
ret = XT_UID_PWD_Bind();
|
// ret = XT_UID_PWD_Bind();
|
||||||
arr_append(r,ret);
|
arr_append(r,ret);
|
||||||
s->data=arr_duplicate(r);
|
s->data=arr_duplicate(r);
|
||||||
return arr_temp(r);
|
return arr_temp(r);
|
||||||
|
@@ -410,7 +410,7 @@ void elec_judge(elec_judge_def *e,int task_num,uint8_t *exe_ack,
|
|||||||
e->judge_fun_table=g_judge_fun_table[elec_extract_chip(e->scheme->plan_id)];
|
e->judge_fun_table=g_judge_fun_table[elec_extract_chip(e->scheme->plan_id)];
|
||||||
e->judge_fun_num=elec_calc_judge_fun_num(e->judge_fun_table);
|
e->judge_fun_num=elec_calc_judge_fun_num(e->judge_fun_table);
|
||||||
e->short_circuited=1500;
|
e->short_circuited=1500;
|
||||||
e->open_circuited=80;
|
e->open_circuited=30;
|
||||||
e->exe_ack=exe_ack;
|
e->exe_ack=exe_ack;
|
||||||
if(task_num>e->scheme->task_num)
|
if(task_num>e->scheme->task_num)
|
||||||
task_num=e->scheme->task_num;
|
task_num=e->scheme->task_num;
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
#include "power.h"
|
#include "power.h"
|
||||||
#include "filter.h"
|
#include "filter.h"
|
||||||
#include "core_delay.h"
|
#include "core_delay.h"
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
volatile uint16_t ad0_adc_sample[AD_SCAN_SAMPLE*AD_SCAN_COUNT];
|
volatile uint16_t ad0_adc_sample[AD_SCAN_SAMPLE*AD_SCAN_COUNT];
|
||||||
#define ADC1_SAMPLE_BUF_LEN 200
|
#define ADC1_SAMPLE_BUF_LEN 200
|
||||||
@@ -447,13 +448,12 @@ uint16_t AD_CurMonitor_(uint32_t ul_times)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*rc{
|
/*rc{
|
||||||
使用过滤算法的充能统计
|
使用过滤算法的充能统计
|
||||||
这个函数给出的都是adc原始值
|
这个函数给出的都是adc原始值
|
||||||
sample_timeout 单位是0.1ms
|
sample_timeout 单位是0.1ms
|
||||||
}*/
|
}*/
|
||||||
uint16_t AD_GetChgEnergy(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max_cul,uint16_t *shake_adv)
|
uint16_t AD_GetChgEnergy_(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max_cul,uint16_t *shake_adv)
|
||||||
{
|
{
|
||||||
uint16_t adc_max = 0;
|
uint16_t adc_max = 0;
|
||||||
uint16_t adc_temp,adc_shake=0;
|
uint16_t adc_temp,adc_shake=0;
|
||||||
@@ -470,9 +470,12 @@ uint16_t AD_GetChgEnergy(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max
|
|||||||
do{
|
do{
|
||||||
adc_value=adc_get_value(ADC_CURR_DE);
|
adc_value=adc_get_value(ADC_CURR_DE);
|
||||||
adc_start(ADC_CURR_DE);
|
adc_start(ADC_CURR_DE);
|
||||||
// adc_value = GetADC_Fast(ADC_CURR_DE);
|
DBG_LOG("adc_value=%d",adc_value);
|
||||||
filter_insert(&f,adc_value);
|
filter_insert(&f,adc_value);
|
||||||
filter_value=filter_get_head(&f);
|
filter_value=filter_get_head(&f);
|
||||||
|
if(adc_max<filter_value){
|
||||||
|
adc_max=filter_value;
|
||||||
|
}
|
||||||
if(delay_check(tick,1000000)){
|
if(delay_check(tick,1000000)){
|
||||||
// 1s超时,未进入充能阶段
|
// 1s超时,未进入充能阶段
|
||||||
goto end;
|
goto end;
|
||||||
@@ -486,10 +489,9 @@ uint16_t AD_GetChgEnergy(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max
|
|||||||
do{
|
do{
|
||||||
adc_value=adc_get_value(ADC_CURR_DE);
|
adc_value=adc_get_value(ADC_CURR_DE);
|
||||||
adc_start(ADC_CURR_DE);
|
adc_start(ADC_CURR_DE);
|
||||||
// adc_value = GetADC_Fast(ADC_CURR_DE);
|
|
||||||
filter_insert(&f,adc_value);
|
filter_insert(&f,adc_value);
|
||||||
filter_value=filter_get_mid(&f);
|
filter_value=filter_get_mid(&f);
|
||||||
//filter_value=adc_value;
|
|
||||||
filter_insert(&sort,filter_value);
|
filter_insert(&sort,filter_value);
|
||||||
adc_temp=filter_get_tail(&sort)-filter_get_head(&sort);
|
adc_temp=filter_get_tail(&sort)-filter_get_head(&sort);
|
||||||
if(adc_max<filter_value){
|
if(adc_max<filter_value){
|
||||||
@@ -523,8 +525,9 @@ uint16_t AD_GetChgEnergy(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max
|
|||||||
@rtv 时间采集值0.1ms
|
@rtv 时间采集值0.1ms
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
uint16_t g_adc_values[1024];
|
||||||
uint16_t AD_GetChgEnergy_(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max_cul,uint16_t *shake_adv)
|
uint16_t g_adc_value_index;
|
||||||
|
uint16_t AD_GetChgEnergy(uint16_t sample_timeout, uint16_t end_adv,uint16_t* max_cul,uint16_t *shake_adv)
|
||||||
{
|
{
|
||||||
uint16_t aus_adc_v[5];
|
uint16_t aus_adc_v[5];
|
||||||
uint16_t aus_adv_shake[20];
|
uint16_t aus_adv_shake[20];
|
||||||
@@ -532,30 +535,33 @@ uint16_t AD_GetChgEnergy_(uint16_t sample_timeout, uint16_t end_adv,uint16_t* ma
|
|||||||
uint16_t us_count = 0;
|
uint16_t us_count = 0;
|
||||||
uint16_t us_shake_count = 0;
|
uint16_t us_shake_count = 0;
|
||||||
uint16_t us_shake_minadc,us_shake_maxadc;
|
uint16_t us_shake_minadc,us_shake_maxadc;
|
||||||
|
uint16_t time_cost=0;
|
||||||
uint8_t start_flag = 0,shake_flag = 0;
|
uint8_t start_flag = 0,shake_flag = 0;
|
||||||
Get100usCount();
|
Get100usCount();
|
||||||
// ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
|
ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
|
||||||
// ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
|
ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
|
||||||
aus_adc_v[4] = 0xFFFF;
|
aus_adc_v[4] = 0xFFFF;
|
||||||
*max_cul = 0;
|
*max_cul = 0;
|
||||||
*shake_adv = 0;
|
*shake_adv = 0;
|
||||||
LED1_Out = 0;
|
LED1_Out = 0;
|
||||||
|
g_adc_value_index=0;
|
||||||
if(end_adv == 0 || end_adv == 0xFFFF)
|
if(end_adv == 0 || end_adv == 0xFFFF)
|
||||||
{
|
{
|
||||||
return 0;
|
time_cost =0;
|
||||||
|
goto end;
|
||||||
}
|
}
|
||||||
while(GetCountTimerCnt() < sample_timeout)
|
while(GetCountTimerCnt() < sample_timeout)
|
||||||
{
|
{
|
||||||
// time_out = 2000;
|
time_out = 2000;
|
||||||
// while((time_out > 0) && ( ADC_GetFlagStatus(ADC_CURR_DE,ADC_FLAG_EOC) == RESET))
|
while((time_out > 0) && ( ADC_GetFlagStatus(ADC_CURR_DE,ADC_FLAG_EOC) == RESET))
|
||||||
// {
|
{
|
||||||
// time_out--;
|
time_out--;
|
||||||
// }
|
}
|
||||||
// aus_adc_v[us_count] = ADC_GetConversionValue(ADC_CURR_DE) & 0x0FFF;
|
aus_adc_v[us_count] = ADC_GetConversionValue(ADC_CURR_DE) & 0x0FFF;
|
||||||
aus_adc_v[us_count] = GetADC_Fast(ADC_CURR_DE);
|
aus_adc_v[us_count] = GetADC_Fast(ADC_CURR_DE);
|
||||||
aus_adv_shake[us_shake_count] = aus_adc_v[us_count];
|
aus_adv_shake[us_shake_count] = aus_adc_v[us_count];
|
||||||
// ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
|
ADC_ClearFlag(ADC_CURR_DE,ADC_FLAG_EOC);//清除转换结束标志
|
||||||
// ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
|
ADC_SoftwareStartConvCmd(ADC_CURR_DE, ENABLE); //启动转换
|
||||||
us_count++;
|
us_count++;
|
||||||
us_shake_count++;
|
us_shake_count++;
|
||||||
us_count %= 5;
|
us_count %= 5;
|
||||||
@@ -602,6 +608,9 @@ uint16_t AD_GetChgEnergy_(uint16_t sample_timeout, uint16_t end_adv,uint16_t* ma
|
|||||||
if(us_count == 0)
|
if(us_count == 0)
|
||||||
{
|
{
|
||||||
Bubble_Sort_u16(aus_adc_v,5);
|
Bubble_Sort_u16(aus_adc_v,5);
|
||||||
|
if(g_adc_value_index<1023){
|
||||||
|
g_adc_values[g_adc_value_index++]=aus_adc_v[2];
|
||||||
|
}
|
||||||
if((aus_adc_v[0] > end_adv) && start_flag == 0)
|
if((aus_adc_v[0] > end_adv) && start_flag == 0)
|
||||||
{
|
{
|
||||||
start_flag = 1;
|
start_flag = 1;
|
||||||
@@ -617,19 +626,29 @@ uint16_t AD_GetChgEnergy_(uint16_t sample_timeout, uint16_t end_adv,uint16_t* ma
|
|||||||
if(aus_adc_v[4] < end_adv)
|
if(aus_adc_v[4] < end_adv)
|
||||||
{
|
{
|
||||||
LED1_Out = 0;
|
LED1_Out = 0;
|
||||||
return Get100usCount();
|
time_cost =Get100usCount();
|
||||||
|
goto end;
|
||||||
}
|
}
|
||||||
}else if(start_flag == 0)
|
}else if(start_flag == 0)
|
||||||
{
|
{
|
||||||
if(GetCountTimerCnt() > 10000)
|
if(GetCountTimerCnt() > 10000)
|
||||||
{
|
{
|
||||||
return 0;
|
time_cost =0;
|
||||||
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 40000;
|
time_cost=sample_timeout+1;
|
||||||
|
end:
|
||||||
|
// if(time_cost<10){
|
||||||
|
DBG_LOG("adc_value num=%d",g_adc_value_index);
|
||||||
|
for(int i=0;i<g_adc_value_index;i++){
|
||||||
|
DBG_LOG("adc_value=%d",g_adc_values[i]);
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
return time_cost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*获取桥丝电阻*/
|
/*获取桥丝电阻*/
|
||||||
|
@@ -1010,7 +1010,7 @@ void EW_Test_WriteMTP(void)
|
|||||||
uint8_t addr=checker_runcfg.params[0];
|
uint8_t addr=checker_runcfg.params[0];
|
||||||
uint8_t len=checker_runcfg.params[1];
|
uint8_t len=checker_runcfg.params[1];
|
||||||
delay_ms(50);
|
delay_ms(50);
|
||||||
memcpy(EW_RunBuf,&checker_runcfg.params[1],len);
|
memcpy(EW_RunBuf,&checker_runcfg.params[2],len);
|
||||||
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,addr,EW_RunBuf,len);
|
uc_rtv |= EW_WriteMTP(checker_runcfg.netid,addr,EW_RunBuf,len);
|
||||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||||
}
|
}
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
#include "hardware/power.h"
|
#include "hardware/power.h"
|
||||||
#include "JQChecker.h"
|
#include "JQChecker.h"
|
||||||
#include "CheckerExt.h"
|
#include "CheckerExt.h"
|
||||||
|
#include "debug.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@brief 统计模块的上电充能,具有电压设置功能,采集档位 R10_0p1mA_1p6mA_UC
|
@brief 统计模块的上电充能,具有电压设置功能,采集档位 R10_0p1mA_1p6mA_UC
|
||||||
@@ -83,7 +84,7 @@ void JQ_Test_BaseCur(void)
|
|||||||
@brief 扫描总线上的电子模块 1发
|
@brief 扫描总线上的电子模块 1发
|
||||||
@param0 使能或失能通信反码信息采集
|
@param0 使能或失能通信反码信息采集
|
||||||
@param1 1 uid数据全0验证 其他不验证
|
@param1 1 uid数据全0验证 其他不验证
|
||||||
@rtv1 最大反馈电流
|
@rtv1 最大反馈电流 0.1mA
|
||||||
@rtv2 最大反馈时间
|
@rtv2 最大反馈时间
|
||||||
@rtv3 最小反馈电流
|
@rtv3 最小反馈电流
|
||||||
@rtv4 最小反馈时间
|
@rtv4 最小反馈时间
|
||||||
@@ -525,6 +526,7 @@ void JQ_Test_ChgEnergy(void)
|
|||||||
Power_SetSampleRange_Seep(JQChecker_ChgEnger_Sample_R,ADC_SPEED_HIGH);
|
Power_SetSampleRange_Seep(JQChecker_ChgEnger_Sample_R,ADC_SPEED_HIGH);
|
||||||
delay_ms(1);
|
delay_ms(1);
|
||||||
us_energy = AD_GetChgEnergy(us_sample_timeout,us_adend,&us_max_cur,&us_shake);
|
us_energy = AD_GetChgEnergy(us_sample_timeout,us_adend,&us_max_cur,&us_shake);
|
||||||
|
DBG_LOG("max_cur=%d",us_max_cur);
|
||||||
us_max_cur = (Power_ConvCur(us_max_cur,JQChecker_ChgEnger_Sample_R) /100+5)/10;
|
us_max_cur = (Power_ConvCur(us_max_cur,JQChecker_ChgEnger_Sample_R) /100+5)/10;
|
||||||
ADC_CurChnnelSet(AN_MAL_CH, ADC_SPEED_MIDLE);
|
ADC_CurChnnelSet(AN_MAL_CH, ADC_SPEED_MIDLE);
|
||||||
ul_temp = AD_CurMonitor(ul_holdtime*1000);
|
ul_temp = AD_CurMonitor(ul_holdtime*1000);
|
||||||
@@ -703,7 +705,7 @@ void JQ_Test_ClearBoom()
|
|||||||
{
|
{
|
||||||
uint16_t us_temp;
|
uint16_t us_temp;
|
||||||
JQ_CheckerBoomCmd(1,&us_temp);
|
JQ_CheckerBoomCmd(1,&us_temp);
|
||||||
|
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@brief 起爆充能
|
@brief 起爆充能
|
||||||
@@ -853,16 +855,17 @@ void JQ_UID_PWD_Bind(void)
|
|||||||
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
Checker_MaskResult(0,checker_runcfg.task_info.runindex);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//全0时写码,比较相同时成功,有数据时crc不对也写
|
||||||
|
JQ_EnWOTP();
|
||||||
|
JQ_EnWOTP();
|
||||||
uc_ack = JQ_ReadOTP(CHECKER_NET_ID,0x03,12,(uint8_t*)uc_optbuf);
|
uc_ack = JQ_ReadOTP(CHECKER_NET_ID,0x03,12,(uint8_t*)uc_optbuf);
|
||||||
if(uc_ack < 1)
|
if(uc_ack < 1)
|
||||||
{
|
{
|
||||||
uc_rtv = 1;
|
uc_rtv = 1;
|
||||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
goto end;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
JQ_EnWOTP();
|
|
||||||
JQ_EnWOTP();
|
|
||||||
for(uc_count = 0; uc_count < 8; uc_count++)
|
for(uc_count = 0; uc_count < 8; uc_count++)
|
||||||
{
|
{
|
||||||
if((checker_runcfg.writeuid[uc_count] & uc_optbuf[uc_count]) != uc_optbuf[uc_count])
|
if((checker_runcfg.writeuid[uc_count] & uc_optbuf[uc_count]) != uc_optbuf[uc_count])
|
||||||
@@ -910,6 +913,7 @@ void JQ_UID_PWD_Bind(void)
|
|||||||
{
|
{
|
||||||
uc_rtv = 1;
|
uc_rtv = 1;
|
||||||
}
|
}
|
||||||
|
end:
|
||||||
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
Checker_MaskResult(uc_rtv,checker_runcfg.task_info.runindex);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
@@ -1433,8 +1437,8 @@ JQ_Test_ReadOTP ,//24 读OTP
|
|||||||
JQ_Test_ClearBoom ,//25 清除起爆计数
|
JQ_Test_ClearBoom ,//25 清除起爆计数
|
||||||
JQ_Test_PowerOff ,//26 关总线
|
JQ_Test_PowerOff ,//26 关总线
|
||||||
JQ_Test_WriteBuf2OTP ,//27 将缓存区数据写入OTP
|
JQ_Test_WriteBuf2OTP ,//27 将缓存区数据写入OTP
|
||||||
JQ_UID_PWD_Bind ,//28 三码写入错误
|
JQ_UID_PWD_Bind ,//28 三码写入数据
|
||||||
JQ_Verify_UID_PWD ,//29 三码验证错误
|
JQ_Verify_UID_PWD ,//29 三码验证数据
|
||||||
JQ_Test_CapVoltage ,//30 测量电容压差
|
JQ_Test_CapVoltage ,//30 测量电容压差
|
||||||
Checker_ResistorSample,//31 测量桥丝阻值
|
Checker_ResistorSample,//31 测量桥丝阻值
|
||||||
JQ_Test_EnOTPW ,//32 使能OTP写
|
JQ_Test_EnOTPW ,//32 使能OTP写
|
||||||
|
@@ -6,8 +6,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define BUILD_DATE "2024-02-03 10:04:08"
|
#define BUILD_DATE "2024-03-01 16:38:59"
|
||||||
#define SOFT_VERSION "2.14"
|
#define SOFT_VERSION "2.15"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -7,7 +7,7 @@ import mycopy
|
|||||||
|
|
||||||
|
|
||||||
# 定义软件版本号
|
# 定义软件版本号
|
||||||
SOFT_VERION = "2.14"
|
SOFT_VERION = "2.15"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user