first version,modify for touch stuck

This commit is contained in:
熊美景 2023-03-16 17:23:14 +08:00
parent 4f6d3b70b5
commit 760ae5ef21
130 changed files with 212101 additions and 0 deletions

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<component_viewer schemaVersion="0.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="Component_Viewer.xsd">
<component name="EventRecorderStub" version="1.0.0"/> <!--name and version of the component-->
<events>
</events>
</component_viewer>

17
project/ISP568.BAT Normal file
View File

@ -0,0 +1,17 @@
SET PATH=C:\Keil_v5\ARM\ARMCC\Bin;C:\Program Files\ImageMagick-7.1.0-Q16-HDRI;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\Tools\;C:\Program Files\nodejs\;D:\Tools\platform-tools;%Android%;C:\Program Files\Git\cmd;D:\Tools\TortoiseGit\bin;C:\Program Files\MySQL\MySQL Shell 8.0\bin\;C:\Users\Markin\AppData\Local\Microsoft\WindowsApps;D:\Tools\Microsoft VS Code\bin;C:\Users\Markin\AppData\Roaming\npm
SET CPU_TYPE=ARMCM0
SET CPU_VENDOR=ARM
SET UV2_TARGET=ISP568
SET CPU_CLOCK=0x00B71B00
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via "listings\main._ip"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\main.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via "listings\ap_demo._ip"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\ap_demo.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via "listings\app_tp_transfer._ip"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\app_tp_transfer.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via "listings\board._ip"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmCC" --Via ".\objects\board.__i"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmAsm" --Via ".\objects\startup_armcm0._ia"
"C:\Keil_v5\ARM\ARMCC\Bin\ArmLink" --Via ".\Objects\WL568_S21_NT37701.lnp"
"C:\Keil_v5\ARM\ARMCC\Bin\fromelf.exe" ".\Objects\WL568_S21_NT37701.axf" --i32combined --output ".\Objects\WL568_S21_NT37701.hex"
fromelf --bin -o .\Objects\WL568_S21_NT37701.bin .\Objects\WL568_S21_NT37701.axf

1884
project/ISP568.uvguix.ASUS Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1896
project/ISP568.uvguix.CZJ Normal file

File diff suppressed because one or more lines are too long

1878
project/ISP568.uvguix.Lenovo Normal file

File diff suppressed because one or more lines are too long

1941
project/ISP568.uvguix.Markin Normal file

File diff suppressed because one or more lines are too long

1923
project/ISP568.uvguix.jason Normal file

File diff suppressed because one or more lines are too long

1896
project/ISP568.uvguix.suppo Normal file

File diff suppressed because one or more lines are too long

308
project/ISP568.uvoptx Normal file
View File

@ -0,0 +1,308 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
<SchemaVersion>1.0</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Extensions>
<cExt>*.c</cExt>
<aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj; *.o</oExt>
<lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc</tExt>
<pExt>*.plm</pExt>
<CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions>
<DaveTm>
<dwLowDateTime>0</dwLowDateTime>
<dwHighDateTime>0</dwHighDateTime>
</DaveTm>
<Target>
<TargetName>ISP568</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>12000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath>.\Listings\</ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>7</CpuCode>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>0</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<bEvRecOn>1</bEvRecOn>
<bSchkAxf>0</bSchkAxf>
<bTchkAxf>0</bTchkAxf>
<nTsel>0</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>BIN\UL2CM3.DLL</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>0</periodic>
<aLwin>0</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>0</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>0</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
<bLintAuto>0</bLintAuto>
<bAutoGenD>0</bAutoGenD>
<LntExFlags>0</LntExFlags>
<pMisraName></pMisraName>
<pszMrule></pszMrule>
<pSingCmds></pSingCmds>
<pMultCmds></pMultCmds>
<pMisraNamep></pMisraNamep>
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
</TargetOption>
</Target>
<Group>
<GroupName>app</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\app\main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\app\demo\ap_demo.c</PathWithFileName>
<FilenameWithoutPath>ap_demo.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\app\demo\app_tp_for_custom_s8.c</PathWithFileName>
<FilenameWithoutPath>app_tp_for_custom_s8.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\app\demo\app_tp_transfer.c</PathWithFileName>
<FilenameWithoutPath>app_tp_transfer.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>driver</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\sdk\lib\CVWL568.lib</PathWithFileName>
<FilenameWithoutPath>CVWL568.lib</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\sdk\lib\WL568_S21_NT37701_TP.lib</PathWithFileName>
<FilenameWithoutPath>WL568_S21_NT37701_TP.lib</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>board</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\board\board.c</PathWithFileName>
<FilenameWithoutPath>board.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>startup</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\src\board\startup\startup_ARMCM0.s</PathWithFileName>
<FilenameWithoutPath>startup_ARMCM0.s</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
</ProjectOpt>

565
project/ISP568.uvprojx Normal file
View File

@ -0,0 +1,565 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
<SchemaVersion>2.1</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Targets>
<Target>
<TargetName>ISP568</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pArmCC>5060750::V5.06 update 6 (build 750)::ARMCC</pArmCC>
<pCCUsed>5060750::V5.06 update 6 (build 750)::ARMCC</pCCUsed>
<uAC6>0</uAC6>
<TargetOption>
<TargetCommonOption>
<Device>ARMCM0</Device>
<Vendor>ARM</Vendor>
<PackID>ARM.CMSIS.5.5.1</PackID>
<PackURL>http://www.keil.com/pack/</PackURL>
<Cpu>IRAM(0x20000000,0x00020000) IROM(0x00000000,0x00040000) CPUTYPE("Cortex-M0") CLOCK(12000000) ESEL ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile>
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000)</FlashDriverDll>
<DeviceId>0</DeviceId>
<RegisterFile>$$Device:ARMCM0$Device\ARM\ARMCM0\Include\ARMCM0.h</RegisterFile>
<MemoryEnv></MemoryEnv>
<Cmp></Cmp>
<Asm></Asm>
<Linker></Linker>
<OHString></OHString>
<InfinionOptionDll></InfinionOptionDll>
<SLE66CMisc></SLE66CMisc>
<SLE66AMisc></SLE66AMisc>
<SLE66LinkerMisc></SLE66LinkerMisc>
<SFDFile>$$Device:ARMCM0$Device\ARM\SVD\ARMCM0.svd</SFDFile>
<bCustSvd>0</bCustSvd>
<UseEnv>0</UseEnv>
<BinPath></BinPath>
<IncludePath></IncludePath>
<LibPath></LibPath>
<RegisterFilePath></RegisterFilePath>
<DBRegisterFilePath></DBRegisterFilePath>
<TargetStatus>
<Error>0</Error>
<ExitCodeStop>0</ExitCodeStop>
<ButtonStop>0</ButtonStop>
<NotGenerated>0</NotGenerated>
<InvalidFlash>1</InvalidFlash>
</TargetStatus>
<OutputDirectory>.\Objects\</OutputDirectory>
<OutputName>WL568_S21_NT37701</OutputName>
<CreateExecutable>1</CreateExecutable>
<CreateLib>0</CreateLib>
<CreateHexFile>1</CreateHexFile>
<DebugInformation>1</DebugInformation>
<BrowseInformation>1</BrowseInformation>
<ListingPath>.\Listings\</ListingPath>
<HexFormatSelection>1</HexFormatSelection>
<Merge32K>0</Merge32K>
<CreateBatchFile>1</CreateBatchFile>
<BeforeCompile>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopU1X>0</nStopU1X>
<nStopU2X>0</nStopU2X>
</BeforeCompile>
<BeforeMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopB1X>0</nStopB1X>
<nStopB2X>0</nStopB2X>
</BeforeMake>
<AfterMake>
<RunUserProg1>1</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name>fromelf --bin -o .\Objects\@L.bin .\Objects\@L.axf</UserProg1Name>
<UserProg2Name>.\Out\gen_cfg.BAT</UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopA1X>0</nStopA1X>
<nStopA2X>0</nStopA2X>
</AfterMake>
<SelectedForBatchBuild>0</SelectedForBatchBuild>
<SVCSIdString></SVCSIdString>
</TargetCommonOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>0</AlwaysBuild>
<GenerateAssemblyFile>0</GenerateAssemblyFile>
<AssembleAssemblyFile>0</AssembleAssemblyFile>
<PublicsOnly>0</PublicsOnly>
<StopOnExitCode>3</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<DllOption>
<SimDllName>SARMCM3.DLL</SimDllName>
<SimDllArguments> </SimDllArguments>
<SimDlgDll>DARMCM1.DLL</SimDlgDll>
<SimDlgDllArguments>-pCM0</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments> </TargetDllArguments>
<TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
<TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
</DllOption>
<DebugOption>
<OPTHX>
<HexSelection>1</HexSelection>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
<Oh166RecLen>16</Oh166RecLen>
</OPTHX>
</DebugOption>
<Utilities>
<Flash1>
<UseTargetDll>1</UseTargetDll>
<UseExternalTool>0</UseExternalTool>
<RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability>
<DriverSelection>4096</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2CM3.DLL</Flash2>
<Flash3>"" ()</Flash3>
<Flash4></Flash4>
<pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp>
<pFcArmRoot></pFcArmRoot>
<FcArmLst>0</FcArmLst>
</Utilities>
<TargetArmAds>
<ArmAdsMisc>
<GenerateListings>0</GenerateListings>
<asHll>1</asHll>
<asAsm>1</asAsm>
<asMacX>1</asMacX>
<asSyms>1</asSyms>
<asFals>1</asFals>
<asDbgD>1</asDbgD>
<asForm>1</asForm>
<ldLst>0</ldLst>
<ldmm>1</ldmm>
<ldXref>1</ldXref>
<BigEnd>0</BigEnd>
<AdsALst>1</AdsALst>
<AdsACrf>1</AdsACrf>
<AdsANop>0</AdsANop>
<AdsANot>0</AdsANot>
<AdsLLst>1</AdsLLst>
<AdsLmap>1</AdsLmap>
<AdsLcgr>1</AdsLcgr>
<AdsLsym>1</AdsLsym>
<AdsLszi>1</AdsLszi>
<AdsLtoi>1</AdsLtoi>
<AdsLsun>1</AdsLsun>
<AdsLven>1</AdsLven>
<AdsLsxf>1</AdsLsxf>
<RvctClst>1</RvctClst>
<GenPPlst>1</GenPPlst>
<AdsCpuType>"Cortex-M0"</AdsCpuType>
<RvctDeviceName></RvctDeviceName>
<mOS>0</mOS>
<uocRom>0</uocRom>
<uocRam>0</uocRam>
<hadIROM>1</hadIROM>
<hadIRAM>1</hadIRAM>
<hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam>
<RvdsVP>0</RvdsVP>
<RvdsMve>0</RvdsMve>
<hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2>
<StupSel>16</StupSel>
<useUlib>1</useUlib>
<EndSel>1</EndSel>
<uLtcg>0</uLtcg>
<nSecure>0</nSecure>
<RoSelD>4</RoSelD>
<RwSelD>3</RwSelD>
<CodeSel>0</CodeSel>
<OptFeed>0</OptFeed>
<NoZi1>0</NoZi1>
<NoZi2>0</NoZi2>
<NoZi3>0</NoZi3>
<NoZi4>0</NoZi4>
<NoZi5>0</NoZi5>
<Ro1Chk>0</Ro1Chk>
<Ro2Chk>0</Ro2Chk>
<Ro3Chk>0</Ro3Chk>
<Ir1Chk>0</Ir1Chk>
<Ir2Chk>1</Ir2Chk>
<Ra1Chk>1</Ra1Chk>
<Ra2Chk>1</Ra2Chk>
<Ra3Chk>1</Ra3Chk>
<Im1Chk>0</Im1Chk>
<Im2Chk>0</Im2Chk>
<OnChipMemories>
<Ocm1>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm1>
<Ocm2>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm2>
<Ocm3>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm3>
<Ocm4>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm4>
<Ocm5>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm5>
<Ocm6>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm6>
<IRAM>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
<Size>0x20000</Size>
</IRAM>
<IROM>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x40000</Size>
</IROM>
<XRAM>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</XRAM>
<OCR_RVCT1>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT1>
<OCR_RVCT2>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT2>
<OCR_RVCT3>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT3>
<OCR_RVCT4>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x2000</Size>
</OCR_RVCT4>
<OCR_RVCT5>
<Type>1</Type>
<StartAddress>0x10000</StartAddress>
<Size>0x10000</Size>
</OCR_RVCT5>
<OCR_RVCT6>
<Type>0</Type>
<StartAddress>0x70000</StartAddress>
<Size>0xf0</Size>
</OCR_RVCT6>
<OCR_RVCT7>
<Type>0</Type>
<StartAddress>0x70100</StartAddress>
<Size>0xd0</Size>
</OCR_RVCT7>
<OCR_RVCT8>
<Type>0</Type>
<StartAddress>0x701d0</StartAddress>
<Size>0x7e30</Size>
</OCR_RVCT8>
<OCR_RVCT9>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
<Size>0x20000</Size>
</OCR_RVCT9>
<OCR_RVCT10>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT10>
</OnChipMemories>
<RvctStartVector></RvctStartVector>
</ArmAdsMisc>
<Cads>
<interw>1</interw>
<Optim>4</Optim>
<oTime>0</oTime>
<SplitLS>0</SplitLS>
<OneElfS>1</OneElfS>
<Strict>0</Strict>
<EnumInt>0</EnumInt>
<PlainCh>0</PlainCh>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<wLevel>2</wLevel>
<uThumb>0</uThumb>
<uSurpInc>0</uSurpInc>
<uC99>1</uC99>
<uGnu>1</uGnu>
<useXO>0</useXO>
<v6Lang>1</v6Lang>
<v6LangP>1</v6LangP>
<vShortEn>1</vShortEn>
<vShortWch>1</vShortWch>
<v6Lto>0</v6Lto>
<v6WtE>0</v6WtE>
<v6Rtti>0</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<Define>ISP_568</Define>
<Undefine></Undefine>
<IncludePath>..\src;..\src\board;..\src\common;..\src\sdk\include;..\src\app\demo;..\src\sdk\include\M0;..\src\app;..\src\unittest;..\src\app\s8p</IncludePath>
</VariousControls>
</Cads>
<Aads>
<interw>1</interw>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<thumb>0</thumb>
<SplitLS>0</SplitLS>
<SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<uClangAs>0</uClangAs>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Aads>
<LDads>
<umfTarg>1</umfTarg>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<noStLib>0</noStLib>
<RepFail>1</RepFail>
<useFile>0</useFile>
<TextAddressRange>0x00000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath>
<Misc></Misc>
<LinkerInputFile></LinkerInputFile>
<DisabledWarnings></DisabledWarnings>
</LDads>
</TargetArmAds>
</TargetOption>
<Groups>
<Group>
<GroupName>app</GroupName>
<Files>
<File>
<FileName>main.c</FileName>
<FileType>1</FileType>
<FilePath>..\src\app\main.c</FilePath>
</File>
<File>
<FileName>ap_demo.c</FileName>
<FileType>1</FileType>
<FilePath>..\src\app\demo\ap_demo.c</FilePath>
</File>
<File>
<FileName>app_tp_for_custom_s8.c</FileName>
<FileType>1</FileType>
<FilePath>..\src\app\demo\app_tp_for_custom_s8.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>
<FileName>app_tp_transfer.c</FileName>
<FileType>1</FileType>
<FilePath>..\src\app\demo\app_tp_transfer.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>driver</GroupName>
<Files>
<File>
<FileName>CVWL568.lib</FileName>
<FileType>4</FileType>
<FilePath>..\src\sdk\lib\CVWL568.lib</FilePath>
</File>
<File>
<FileName>WL568_S21_NT37701_TP.lib</FileName>
<FileType>4</FileType>
<FilePath>..\src\sdk\lib\WL568_S21_NT37701_TP.lib</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>board</GroupName>
<Files>
<File>
<FileName>board.c</FileName>
<FileType>1</FileType>
<FilePath>..\src\board\board.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>startup</GroupName>
<Files>
<File>
<FileName>startup_ARMCM0.s</FileName>
<FileType>2</FileType>
<FilePath>..\src\board\startup\startup_ARMCM0.s</FilePath>
<FileOption>
<CommonProperty>
<UseCPPCompiler>2</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</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>
<Aads>
<interw>2</interw>
<Ropi>2</Ropi>
<Rwpi>2</Rwpi>
<thumb>2</thumb>
<SplitLS>2</SplitLS>
<SwStkChk>2</SwStkChk>
<NoWarn>2</NoWarn>
<uSurpInc>2</uSurpInc>
<useXO>2</useXO>
<uClangAs>2</uClangAs>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Aads>
</FileArmAds>
</FileOption>
</File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
</Group>
</Groups>
</Target>
</Targets>
<RTE>
<apis/>
<components>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.2.0" condition="ARMv6_7_8-M Device">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/>
<targetInfos>
<targetInfo name="ISP568"/>
</targetInfos>
</component>
</components>
<files>
<file attr="config" category="sourceAsm" condition="ARMCC" name="Device\ARM\ARMCM0\Source\ARM\startup_ARMCM0.s" version="1.0.0">
<instance index="0" removed="1">RTE\Device\ARMCM0\startup_ARMCM0.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="ARM" Cversion="1.1.0" condition="ARMCM0 CMSIS"/>
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/>
<targetInfos/>
</file>
<file attr="config" category="sourceC" name="Device\ARM\ARMCM0\Source\system_ARMCM0.c" version="1.0.0">
<instance index="0" removed="1">RTE\Device\ARMCM0\system_ARMCM0.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="ARM" Cversion="1.1.0" condition="ARMCM0 CMSIS"/>
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/>
<targetInfos/>
</file>
</files>
</RTE>
</Project>

39
project/JLinkSettings.ini Normal file
View File

@ -0,0 +1,39 @@
[BREAKPOINTS]
ForceImpTypeAny = 0
ShowInfoWin = 1
EnableFlashBP = 2
BPDuringExecution = 0
[CFI]
CFISize = 0x00
CFIAddr = 0x00
[CPU]
MonModeVTableAddr = 0xFFFFFFFF
MonModeDebug = 0
MaxNumAPs = 0
LowPowerHandlingMode = 0
OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
SkipProgOnCRCMatch = 1
VerifyDownload = 1
AllowCaching = 1
EnableFlashDL = 2
Override = 0
Device="ARM7"
[GENERAL]
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
[SWO]
SWOLogFile=""
[MEM]
RdOverrideOrMask = 0x00
RdOverrideAndMask = 0xFFFFFFFF
RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF

4825
project/Listings/CVWL568.map Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
..\src\app\demo\ap_demo.c -E --c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\listings\ap_demo.i --list_dir ".\\Listings\\" --list

8979
project/Listings/ap_demo.i Normal file

File diff suppressed because it is too large Load Diff

13689
project/Listings/ap_demo.lst Normal file

File diff suppressed because it is too large Load Diff

7642
project/Listings/ap_demo.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
..\src\app\demo\app_tp_for_custom_s8.c -E --c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\listings\app_tp_for_custom_s8.i --list_dir ".\\Listings\\" --list

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
..\src\app\demo\app_tp_transfer.c -E --c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\listings\app_tp_transfer.i --list_dir ".\\Listings\\" --list

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,6 @@
..\src\board\board.c -E --c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\listings\board.i --list_dir ".\\Listings\\" --list

3124
project/Listings/board.i Normal file

File diff suppressed because it is too large Load Diff

4868
project/Listings/board.lst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,63 @@
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\board.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\board.d --cpu=Cortex-M0 --apcs=interwork -O3 --diag_suppress=9931 -I..\src -I..\src\board -I..\src\common -I..\src\sdk\include -I..\src\app\demo -I..\src\sdk\include\M0 -I..\src\app -I..\src\unittest -I..\src\app\s8p -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_568 --omf_browse=.\objects\board.crf ..\src\board\board.c]
THUMB
AREA ||i.board_Init||, CODE, READONLY, ALIGN=2
board_Init PROC
;;;13
;;;14 void board_Init(void)
000000 b510 PUSH {r4,lr}
;;;15 {
;;;16 hal_system_init(SYSTEM_CLOCK);
000002 4807 LDR r0,|L1.32|
000004 f7fffffe BL hal_system_init
;;;17 hal_system_enable_systick(1);
000008 2001 MOVS r0,#1
00000a f7fffffe BL hal_system_enable_systick
;;;18 #if !EDA_MODE
;;;19 hal_system_init_console(115200);
00000e 20e1 MOVS r0,#0xe1
000010 0240 LSLS r0,r0,#9
000012 f7fffffe BL hal_system_init_console
;;;20 #endif
;;;21 #if defined(ISP_568) || defined(ISP_368)
;;;22 /* 从EFUSE读取DPHY校准值并设置 */
;;;23 hal_system_set_phy_calibration(true);
000016 2001 MOVS r0,#1
000018 f7fffffe BL hal_system_set_phy_calibration
;;;24 #endif
;;;25 }
00001c bd10 POP {r4,pc}
;;;26
ENDP
00001e 0000 DCW 0x0000
|L1.32|
DCD 0x04c4b400
;*** Start embedded assembler ***
#line 1 "..\\src\\board\\board.c"
AREA ||.rev16_text||, CODE
THUMB
EXPORT |__asm___7_board_c_bcd01269____REV16|
#line 467 "C:\\Users\\Markin\\AppData\\Local\\Arm\\Packs\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h"
|__asm___7_board_c_bcd01269____REV16| PROC
#line 468
rev16 r0, r0
bx lr
ENDP
AREA ||.revsh_text||, CODE
THUMB
EXPORT |__asm___7_board_c_bcd01269____REVSH|
#line 482
|__asm___7_board_c_bcd01269____REVSH| PROC
#line 483
revsh r0, r0
bx lr
ENDP
;*** End embedded assembler ***

View File

@ -0,0 +1,6 @@
..\src\app\main.c -E --c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\listings\main.i --list_dir ".\\Listings\\" --list

6486
project/Listings/main.i Normal file

File diff suppressed because it is too large Load Diff

9024
project/Listings/main.lst Normal file

File diff suppressed because it is too large Load Diff

55
project/Listings/main.txt Normal file
View File

@ -0,0 +1,55 @@
; generated by Component: ARM Compiler 5.06 update 6 (build 750) Tool: ArmCC [4d3637]
; commandline ArmCC [--c99 --list --split_sections --debug -c --asm --interleave --gnu -o.\objects\main.o --asm_dir=.\Listings\ --list_dir=.\Listings\ --depend=.\objects\main.d --cpu=Cortex-M0 --apcs=interwork -O3 --diag_suppress=9931 -I..\src -I..\src\board -I..\src\common -I..\src\sdk\include -I..\src\app\demo -I..\src\sdk\include\M0 -I..\src\app -I..\src\unittest -I..\src\app\s8p -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__MICROLIB -D__UVISION_VERSION=528 -D_RTE_ -DARMCM0 -DISP_568 --omf_browse=.\objects\main.crf ..\src\app\main.c]
THUMB
AREA ||i.main||, CODE, READONLY, ALIGN=1
main PROC
;;;13
;;;14 int main()
000000 f7fffffe BL board_Init
;;;15 {
;;;16 // hal_system_init();
;;;17 board_Init();
;;;18
;;;19 while (1)
;;;20 {
;;;21 #if _DEMO_S8_EN
;;;22 ap_demo();
000004 f7fffffe BL ap_demo
|L1.8|
;;;23 #endif
;;;24 while (1);
000008 e7fe B |L1.8|
;;;25 }
;;;26 }
ENDP
;*** Start embedded assembler ***
#line 1 "..\\src\\app\\main.c"
AREA ||.rev16_text||, CODE
THUMB
EXPORT |__asm___6_main_c_main____REV16|
#line 467 "C:\\Users\\Markin\\AppData\\Local\\Arm\\Packs\\ARM\\CMSIS\\5.5.1\\CMSIS\\Core\\Include\\cmsis_armcc.h"
|__asm___6_main_c_main____REV16| PROC
#line 468
rev16 r0, r0
bx lr
ENDP
AREA ||.revsh_text||, CODE
THUMB
EXPORT |__asm___6_main_c_main____REVSH|
#line 482
|__asm___6_main_c_main____REVSH| PROC
#line 483
revsh r0, r0
bx lr
ENDP
;*** End embedded assembler ***
__ARM_use_no_argv EQU 0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,3 @@
--create .\Objects\WL568_S21_NT37701_TP.lib
.\objects\app_tp_for_custom_s8.o
.\objects\startup_armcm0.o

View File

@ -0,0 +1,93 @@
Dependencies for Project 'ISP568', Target 'ISP568': (DO NOT MODIFY !)
F (..\src\app\main.c)(0x61C522F7)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568 -o .\objects\main.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\main.crf --depend .\objects\main.d)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5CEB79E2)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5CEB79E2)
I (C:\Keil_v5\ARM\ARMCC\include\stdlib.h)(0x5CEB79E2)
I (..\src\app\test_cfg_global.h)(0x61AA0BA5)
I (..\src\app\demo\ap_demo.h)(0x635F687B)
I (..\src\app\demo\app_tp_for_custom_s8.h)(0x64098614)
I (..\src\common\tau_device_datatype.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5CEB79E2)
I (..\src\common\tau_common.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\math.h)(0x5CEB79D6)
I (..\src\app\demo\app_tp_transfer.h)(0x640596A8)
I (..\src\sdk\include\hal_gpio.h)(0x6318004E)
I (..\src\common\tau_log.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\stdarg.h)(0x5CEB79E4)
I (..\src\sdk\include\M0\ArmCM0.h)(0x62E48AE0)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h)(0x5C8B5FF6)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h)(0x5B971444)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h)(0x5BBD6B7A)
I (..\src\sdk\include\hal_system.h)(0x6348CAD3)
I (..\src\board\board.h)(0x62D21F06)
I (..\src\common\tau_delay.h)(0x631800A2)
F (..\src\app\demo\ap_demo.c)(0x640C2BE5)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568 -o .\objects\ap_demo.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\ap_demo.crf --depend .\objects\ap_demo.d)
I (..\src\app\demo\ap_demo.h)(0x635F687B)
I (..\src\sdk\include\M0\ArmCM0.h)(0x62E48AE0)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h)(0x5C8B5FF6)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5CEB79E2)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h)(0x5B971444)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h)(0x5BBD6B7A)
I (..\src\common\tau_device_datatype.h)(0x631800A2)
I (..\src\common\tau_common.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\math.h)(0x5CEB79D6)
I (..\src\common\tau_log.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5CEB79E2)
I (C:\Keil_v5\ARM\ARMCC\include\stdarg.h)(0x5CEB79E4)
I (..\src\common\tau_operations.h)(0x6348CAD3)
I (..\src\common\tau_delay.h)(0x631800A2)
I (..\src\sdk\include\hal_dsi_rx_ctrl.h)(0x6348CAD3)
I (..\src\common\tau_dsi_datatype.h)(0x631800A2)
I (..\src\sdk\include\hal_dsi_tx_ctrl.h)(0x6348CAD3)
I (..\src\sdk\include\hal_gpio.h)(0x6318004E)
I (C:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5CEB79DE)
I (..\src\sdk\include\hal_swire.h)(0x6318004E)
I (..\src\sdk\include\hal_timer.h)(0x6348CAD3)
I (..\src\sdk\include\hal_system.h)(0x6348CAD3)
I (..\src\sdk\include\hal_pwm.h)(0x6318004E)
I (..\src\app\demo\app_tp_transfer.h)(0x640596A8)
F (..\src\app\demo\app_tp_for_custom_s8.c)(0x00000000)()
F (..\src\app\demo\app_tp_transfer.c)(0x640C671B)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568 -o .\objects\app_tp_transfer.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\app_tp_transfer.crf --depend .\objects\app_tp_transfer.d)
I (..\src\app\test_cfg_global.h)(0x61AA0BA5)
I (..\src\app\demo\ap_demo.h)(0x635F687B)
I (..\src\app\demo\app_tp_for_custom_s8.h)(0x64098614)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5CEB79E2)
I (..\src\common\tau_device_datatype.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5CEB79E2)
I (..\src\common\tau_common.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\math.h)(0x5CEB79D6)
I (..\src\app\demo\app_tp_transfer.h)(0x640596A8)
I (..\src\sdk\include\hal_gpio.h)(0x6318004E)
I (..\src\sdk\include\hal_i2c_master.h)(0x6318004E)
I (..\src\sdk\include\hal_i2c_slave.h)(0x6318004E)
I (..\src\sdk\include\hal_spi_master.h)(0x6318004E)
I (..\src\sdk\include\hal_spi_slave.h)(0x6318004E)
I (..\src\common\tau_dsi_datatype.h)(0x631800A2)
I (..\src\common\tau_log.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\stdarg.h)(0x5CEB79E4)
I (..\src\sdk\include\M0\ArmCM0.h)(0x62E48AE0)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h)(0x5C8B5FF6)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h)(0x5B971444)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h)(0x5BBD6B7A)
I (..\src\common\tau_delay.h)(0x631800A2)
F (..\src\sdk\lib\CVWL568.lib)(0x6348CAC0)()
F (..\src\sdk\lib\WL568_S21_NT37701_TP.lib)(0x63FF18B5)()
F (..\src\board\board.c)(0x6348D56C)(--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include -D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568 -o .\objects\board.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\board.crf --depend .\objects\board.d)
I (..\src\board\board.h)(0x62D21F06)
I (..\src\sdk\include\hal_system.h)(0x6348CAD3)
I (..\src\common\tau_common.h)(0x631800A2)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5CEB79E2)
I (C:\Keil_v5\ARM\ARMCC\include\math.h)(0x5CEB79D6)
I (..\src\sdk\include\M0\ArmCM0.h)(0x62E48AE0)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h)(0x5C8B5FF6)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h)(0x5B971444)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h)(0x5C8F4DD4)
I (C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h)(0x5BBD6B7A)
F (..\src\board\startup\startup_ARMCM0.s)(0x6348CAD2)(--cpu Cortex-M0 --li -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_ISP568 -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include -IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include --pd "__UVISION_VERSION SETA 528" --pd "_RTE_ SETA 1" --pd "ARMCM0 SETA 1" --list .\listings\startup_armcm0.lst --xref -o .\objects\startup_armcm0.o --depend .\objects\startup_armcm0.d)

View File

@ -0,0 +1,96 @@
<html>
<body>
<pre>
<h1>礦ision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: μVision V5.28.0.0
Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: HAHA Markin, HAHA, LIC=VGXG8-3CKFQ-63XMB-246PQ-J4CUG-RTS7K
Tool Versions:
Toolchain: MDK-ARM Plus Version: 5.28.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 6 (build 750)
Assembler: Armasm.exe V5.06 update 6 (build 750)
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
CPU DLL: SARMCM3.DLL V5.28.0.0
Dialog DLL: DARMCM1.DLL V1.19.2.0
Target DLL: UL2CM3.DLL V1.162.16.0
Dialog DLL: TARMCM1.DLL V1.14.1.0
<h2>Project:</h2>
D:\Custom\博创晶彩\WL568_S21_NT37701AH_HX628\调试代码\WL568_S21_NT37701AH_HX628_20230306(开机屏幕底部偶发花屏)\WL568_S21_NT37701AH_HX628_20230301(TouchDelay)(DING)(1)\WL568_S21_NT37701AH_HX628_20230301(TouchDelay)\project\ISP568.uvprojx
Project File Date: 03/01/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'ISP568'
creating preprocessor file for main.c...
compiling main.c...
creating preprocessor file for ap_demo.c...
compiling ap_demo.c...
..\src\app\demo\ap_demo.c(4726): warning: #167-D: argument of type "const uint8_t *" is incompatible with parameter of type "uint8_t *"
send_panel_init_code(sizeof(panel_init_code), panel_init_code);
..\src\app\demo\ap_demo.c(128): warning: #177-D: variable "swire_num_bak" was declared but never referenced
static uint8_t swire_num_bak=SWIRE_DEFAULT_NUM;
..\src\app\demo\ap_demo.c(133): warning: #550-D: variable "g_exit_sleep_mode" was set but never used
static bool g_exit_sleep_mode = false;
..\src\app\demo\ap_demo.c(139): warning: #550-D: variable "panel_display_done" was set but never used
static bool panel_display_done = false;
..\src\app\demo\ap_demo.c(4893): warning: #177-D: function "swire_init" was declared but never referenced
static void swire_init()
..\src\app\demo\ap_demo.c(1513): warning: #550-D: variable "value_reg_df" was set but never used
static uint32_t value_reg_df =0;
..\src\app\demo\ap_demo.c(1514): warning: #177-D: variable "value_blue" was declared but never referenced
static uint8_t value_blue =0;
..\src\app\demo\ap_demo.c(1515): warning: #177-D: variable "blue_flag" was declared but never referenced
static uint8_t blue_flag =0;
..\src\app\demo\ap_demo.c(1836): warning: #177-D: function "ap_get_reg_ca" was declared but never referenced
static bool ap_get_reg_ca(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
..\src\app\demo\ap_demo.c: 9 warnings, 0 errors
creating preprocessor file for app_tp_transfer.c...
compiling app_tp_transfer.c...
..\src\app\demo\app_tp_transfer.c(97): warning: #177-D: variable "i" was declared but never referenced
uint8_t i = 1;
..\src\app\demo\app_tp_transfer.c(98): warning: #177-D: variable "j" was declared but never referenced
uint8_t j = 1;
..\src\app\demo\app_tp_transfer.c(484): warning: #177-D: variable "ii" was declared but never referenced
uint8_t ii;
..\src\app\demo\app_tp_transfer.c(735): warning: #177-D: variable "temp_len" was declared but never referenced
uint8_t temp_len=0;
..\src\app\demo\app_tp_transfer.c(738): warning: #550-D: variable "screen_int_transfer_buffer_ready" was set but never used
static bool screen_int_transfer_buffer_ready = true; //发送 buffer 是否已准备好
..\src\app\demo\app_tp_transfer.c(30): warning: #550-D: variable "s_screen_int_transfer_status" was set but never used
static bool s_screen_int_transfer_status = false; //记录是否已经开始通信
..\src\app\demo\app_tp_transfer.c: 6 warnings, 0 errors
creating preprocessor file for board.c...
compiling board.c...
assembling startup_ARMCM0.s...
linking...
Program Size: Code=44456 RO-data=15940 RW-data=2344 ZI-data=12408
FromELF: creating hex file...
After Build - User command #1: fromelf --bin -o .\Objects\WL568_S21_NT37701.bin .\Objects\WL568_S21_NT37701.axf
".\Objects\WL568_S21_NT37701.axf" - 0 Error(s), 15 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.5.1.pack
ARM.CMSIS.5.5.1
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.2.0
<h2>Collection of Component include folders:</h2>
.\RTE\_ISP568
C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.2.0
Build Time Elapsed: 00:00:02
</pre>
</body>
</html>

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,98 @@
<html>
<body>
<pre>
<h1>礦ision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: μVision V5.28.0.0
Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: HAHA Markin, HAHA, LIC=VGXG8-3CKFQ-63XMB-246PQ-J4CUG-RTS7K
Tool Versions:
Toolchain: MDK-ARM Plus Version: 5.28.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 6 (build 750)
Assembler: Armasm.exe V5.06 update 6 (build 750)
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
CPU DLL: SARMCM3.DLL V5.28.0.0
Dialog DLL: DARMCM1.DLL V1.19.2.0
Target DLL: UL2CM3.DLL V1.162.16.0
Dialog DLL: TARMCM1.DLL V1.14.1.0
<h2>Project:</h2>
D:\Custom\博创晶彩\WL568_S21_NT37701AH_HX628\调试代码\WL568_S21_NT37701AH_HX628_20230306(优化120hz下触摸卡顿)\project\ISP568.uvprojx
Project File Date: 03/11/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'ISP568'
creating preprocessor file for main.c...
compiling main.c...
creating preprocessor file for ap_demo.c...
compiling ap_demo.c...
..\src\app\demo\ap_demo.c(4726): warning: #167-D: argument of type "const uint8_t *" is incompatible with parameter of type "uint8_t *"
send_panel_init_code(sizeof(panel_init_code), panel_init_code);
..\src\app\demo\ap_demo.c(128): warning: #177-D: variable "swire_num_bak" was declared but never referenced
static uint8_t swire_num_bak=SWIRE_DEFAULT_NUM;
..\src\app\demo\ap_demo.c(133): warning: #550-D: variable "g_exit_sleep_mode" was set but never used
static bool g_exit_sleep_mode = false;
..\src\app\demo\ap_demo.c(139): warning: #550-D: variable "panel_display_done" was set but never used
static bool panel_display_done = false;
..\src\app\demo\ap_demo.c(4893): warning: #177-D: function "swire_init" was declared but never referenced
static void swire_init()
..\src\app\demo\ap_demo.c(1513): warning: #550-D: variable "value_reg_df" was set but never used
static uint32_t value_reg_df =0;
..\src\app\demo\ap_demo.c(1514): warning: #177-D: variable "value_blue" was declared but never referenced
static uint8_t value_blue =0;
..\src\app\demo\ap_demo.c(1515): warning: #177-D: variable "blue_flag" was declared but never referenced
static uint8_t blue_flag =0;
..\src\app\demo\ap_demo.c(1836): warning: #177-D: function "ap_get_reg_ca" was declared but never referenced
static bool ap_get_reg_ca(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
..\src\app\demo\ap_demo.c: 9 warnings, 0 errors
creating preprocessor file for app_tp_transfer.c...
compiling app_tp_transfer.c...
..\src\app\demo\app_tp_transfer.c(101): warning: #177-D: variable "i" was declared but never referenced
uint8_t i = 1;
..\src\app\demo\app_tp_transfer.c(102): warning: #177-D: variable "j" was declared but never referenced
uint8_t j = 1;
..\src\app\demo\app_tp_transfer.c(488): warning: #177-D: variable "ii" was declared but never referenced
uint8_t ii;
..\src\app\demo\app_tp_transfer.c(751): warning: #177-D: variable "temp_len" was declared but never referenced
uint8_t temp_len=0;
..\src\app\demo\app_tp_transfer.c(754): warning: #550-D: variable "screen_int_transfer_buffer_ready" was set but never used
static bool screen_int_transfer_buffer_ready = true; //发送 buffer 是否已准备好
..\src\app\demo\app_tp_transfer.c(30): warning: #550-D: variable "s_screen_int_transfer_status" was set but never used
static bool s_screen_int_transfer_status = false; //记录是否已经开始通信
..\src\app\demo\app_tp_transfer.c(40): warning: #177-D: variable "g_clk_cnt" was declared but never referenced
static uint8_t g_clk_cnt = 0;
..\src\app\demo\app_tp_transfer.c: 7 warnings, 0 errors
creating preprocessor file for board.c...
compiling board.c...
assembling startup_ARMCM0.s...
linking...
Program Size: Code=44328 RO-data=15940 RW-data=2348 ZI-data=12412
FromELF: creating hex file...
After Build - User command #1: fromelf --bin -o .\Objects\WL568_S21_NT37701.bin .\Objects\WL568_S21_NT37701.axf
".\Objects\WL568_S21_NT37701.axf" - 0 Error(s), 16 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.5.1.pack
ARM.CMSIS.5.5.1
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.2.0
<h2>Collection of Component include folders:</h2>
.\RTE\_ISP568
C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.2.0
Build Time Elapsed: 00:00:03
</pre>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
--cpu Cortex-M0
".\objects\main.o"
".\objects\ap_demo.o"
".\objects\app_tp_transfer.o"
"..\src\sdk\lib\CVWL568.lib"
"..\src\sdk\lib\WL568_S21_NT37701_TP.lib"
".\objects\board.o"
".\objects\startup_armcm0.o"
--library_type=microlib --strict --scatter ".\Objects\WL568_S21_NT37701.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\Listings\WL568_S21_NT37701.map" -o .\Objects\WL568_S21_NT37701.axf

View File

@ -0,0 +1,22 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM2 0x00010000 0x00010000 { ; load region size_region
ER_IROM2 0x00010000 0x00010000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM1 0x00070000 0x000000F0 { ; RW data
.ANY (+RW +ZI)
}
RW_RAM2 0x00070100 0x000000D0 {
.ANY (+RW +ZI)
}
RW_RAM3 0x000701D0 0x00007E30 {
.ANY (+RW +ZI)
}
}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,96 @@
<html>
<body>
<pre>
<h1>礦ision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: μVision V5.28.0.0
Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: HAHA Markin, HAHA, LIC=VGXG8-3CKFQ-63XMB-246PQ-J4CUG-RTS7K
Tool Versions:
Toolchain: MDK-ARM Plus Version: 5.28.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 6 (build 750)
Assembler: Armasm.exe V5.06 update 6 (build 750)
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
CPU DLL: SARMCM3.DLL V5.28.0.0
Dialog DLL: DARMCM1.DLL V1.19.2.0
Target DLL: UL2CM3.DLL V1.162.16.0
Dialog DLL: TARMCM1.DLL V1.14.1.0
<h2>Project:</h2>
D:\Custom\博创晶彩\WL568_S21_NT37701AH_HX628\调试代码\WL568_S21_NT37701AH_HX628_20230306(优化120hz下触摸卡顿)\project\ISP568.uvprojx
Project File Date: 03/09/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'ISP568'
creating preprocessor file for main.c...
compiling main.c...
creating preprocessor file for ap_demo.c...
compiling ap_demo.c...
..\src\app\demo\ap_demo.c(4726): warning: #167-D: argument of type "const uint8_t *" is incompatible with parameter of type "uint8_t *"
send_panel_init_code(sizeof(panel_init_code), panel_init_code);
..\src\app\demo\ap_demo.c(128): warning: #177-D: variable "swire_num_bak" was declared but never referenced
static uint8_t swire_num_bak=SWIRE_DEFAULT_NUM;
..\src\app\demo\ap_demo.c(133): warning: #550-D: variable "g_exit_sleep_mode" was set but never used
static bool g_exit_sleep_mode = false;
..\src\app\demo\ap_demo.c(139): warning: #550-D: variable "panel_display_done" was set but never used
static bool panel_display_done = false;
..\src\app\demo\ap_demo.c(4893): warning: #177-D: function "swire_init" was declared but never referenced
static void swire_init()
..\src\app\demo\ap_demo.c(1513): warning: #550-D: variable "value_reg_df" was set but never used
static uint32_t value_reg_df =0;
..\src\app\demo\ap_demo.c(1514): warning: #177-D: variable "value_blue" was declared but never referenced
static uint8_t value_blue =0;
..\src\app\demo\ap_demo.c(1515): warning: #177-D: variable "blue_flag" was declared but never referenced
static uint8_t blue_flag =0;
..\src\app\demo\ap_demo.c(1836): warning: #177-D: function "ap_get_reg_ca" was declared but never referenced
static bool ap_get_reg_ca(hal_dsi_rx_ctrl_handle_t *handler, hal_dcs_packet_t *dcs_packet)
..\src\app\demo\ap_demo.c: 9 warnings, 0 errors
creating preprocessor file for app_tp_transfer.c...
compiling app_tp_transfer.c...
..\src\app\demo\app_tp_transfer.c(98): warning: #177-D: variable "i" was declared but never referenced
uint8_t i = 1;
..\src\app\demo\app_tp_transfer.c(99): warning: #177-D: variable "j" was declared but never referenced
uint8_t j = 1;
..\src\app\demo\app_tp_transfer.c(485): warning: #177-D: variable "ii" was declared but never referenced
uint8_t ii;
..\src\app\demo\app_tp_transfer.c(744): warning: #177-D: variable "temp_len" was declared but never referenced
uint8_t temp_len=0;
..\src\app\demo\app_tp_transfer.c(747): warning: #550-D: variable "screen_int_transfer_buffer_ready" was set but never used
static bool screen_int_transfer_buffer_ready = true; //发送 buffer 是否已准备好
..\src\app\demo\app_tp_transfer.c(30): warning: #550-D: variable "s_screen_int_transfer_status" was set but never used
static bool s_screen_int_transfer_status = false; //记录是否已经开始通信
..\src\app\demo\app_tp_transfer.c: 6 warnings, 0 errors
creating preprocessor file for board.c...
compiling board.c...
assembling startup_ARMCM0.s...
linking...
Program Size: Code=44236 RO-data=15940 RW-data=2344 ZI-data=12408
FromELF: creating hex file...
After Build - User command #1: fromelf --bin -o .\Objects\WL568_S21_NT37701_400k.bin .\Objects\WL568_S21_NT37701_400k.axf
".\Objects\WL568_S21_NT37701_400k.axf" - 0 Error(s), 15 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.5.1.pack
ARM.CMSIS.5.5.1
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.2.0
<h2>Collection of Component include folders:</h2>
.\RTE\_ISP568
C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.2.0
Build Time Elapsed: 00:00:02
</pre>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
--cpu Cortex-M0
".\objects\main.o"
".\objects\ap_demo.o"
".\objects\app_tp_transfer.o"
"..\src\sdk\lib\CVWL568.lib"
"..\src\sdk\lib\WL568_S21_NT37701_TP.lib"
".\objects\board.o"
".\objects\startup_armcm0.o"
--library_type=microlib --strict --scatter ".\Objects\WL568_S21_NT37701_400k.sct"
--summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols
--info sizes --info totals --info unused --info veneers
--list ".\Listings\WL568_S21_NT37701_400k.map" -o .\Objects\WL568_S21_NT37701_400k.axf

View File

@ -0,0 +1,22 @@
; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************
LR_IROM2 0x00010000 0x00010000 { ; load region size_region
ER_IROM2 0x00010000 0x00010000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
.ANY (+XO)
}
RW_RAM1 0x00070000 0x000000F0 { ; RW data
.ANY (+RW +ZI)
}
RW_RAM2 0x00070100 0x000000D0 {
.ANY (+RW +ZI)
}
RW_RAM3 0x000701D0 0x00007E30 {
.ANY (+RW +ZI)
}
}

View File

@ -0,0 +1,71 @@
<html>
<body>
<pre>
<h1>µVision Build Log</h1>
<h2>Tool Versions:</h2>
IDE-Version: ¦ÌVision V5.28.0.0
Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved.
License Information: 11 ASUS, 11, LIC=MPPJJ-UAW3P-KNHAC-7ZDCD-4TU5C-PH3JD
Tool Versions:
Toolchain: MDK-ARM Plus Version: 5.28.0.0
Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin
C Compiler: Armcc.exe V5.06 update 6 (build 750)
Assembler: Armasm.exe V5.06 update 6 (build 750)
Linker/Locator: ArmLink.exe V5.06 update 6 (build 750)
Library Manager: ArmAr.exe V5.06 update 6 (build 750)
Hex Converter: FromElf.exe V5.06 update 6 (build 750)
CPU DLL: SARMCM3.DLL V5.28.0.0
Dialog DLL: DARMCM1.DLL V1.19.2.0
Target DLL: UL2CM3.DLL V1.162.16.0
Dialog DLL: TARMCM1.DLL V1.14.1.0
<h2>Project:</h2>
E:\Work\Leo\2023\SAM_S21_NT37701_HX 628_20230224\ToWLX\WL568_S21_NT37701AH_HX628_20230301(TouchDelay)\project\ISP568.uvprojx
Project File Date: 03/01/2023
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'ISP568'
creating preprocessor file for app_tp_for_custom_s8.c...
compiling app_tp_for_custom_s8.c...
..\src\app\demo\app_tp_for_custom_s8.c(215): warning: #177-D: variable "i" was declared but never referenced
uint8_t ii,i,j,k,temp_len;
..\src\app\demo\app_tp_for_custom_s8.c(215): warning: #177-D: variable "j" was declared but never referenced
uint8_t ii,i,j,k,temp_len;
..\src\app\demo\app_tp_for_custom_s8.c(216): warning: #177-D: variable "temp_flag" was declared but never referenced
uint8_t temp_flag,temp,touchnum;
..\src\app\demo\app_tp_for_custom_s8.c(218): warning: #177-D: variable "temp16" was declared but never referenced
uint16_t temp16;
..\src\app\demo\app_tp_for_custom_s8.c(219): warning: #550-D: variable "zz" was set but never used
uint32_t xx, yy, zz;
..\src\app\demo\app_tp_for_custom_s8.c(414): warning: #177-D: variable "phone_60_flag" was declared but never referenced
static uint8_t phone_60_flag =0;
..\src\app\demo\app_tp_for_custom_s8.c: 6 warnings, 0 errors
assembling startup_ARMCM0.s...
creating Library...
After Build - User command #1: fromelf --bin -o .\Objects\WL568_S21_NT37701_TP.bin .\Objects\WL568_S21_NT37701_TP.axf
".\Objects\WL568_S21_NT37701_TP.axf": Error: Q0122E: Could not open file '.\Objects\WL568_S21_NT37701_TP.axf': No such file or directory
Finished: 0 information, 0 warning and 1 error messages.
".\Objects\WL568_S21_NT37701_TP.lib" - 0 Error(s), 6 Warning(s).
<h2>Software Packages used:</h2>
Package Vendor: ARM
http://www.keil.com/pack/ARM.CMSIS.5.5.1.pack
ARM.CMSIS.5.5.1
CMSIS (Cortex Microcontroller Software Interface Standard)
* Component: CORE Version: 5.2.0
<h2>Collection of Component include folders:</h2>
.\RTE\_ISP568
C:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
C:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE:5.2.0
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View File

@ -0,0 +1,6 @@
--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\objects\ap_demo.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\ap_demo.crf --depend .\objects\ap_demo.d "..\src\app\demo\ap_demo.c"

BIN
project/Objects/ap_demo.crf Normal file

Binary file not shown.

27
project/Objects/ap_demo.d Normal file
View File

@ -0,0 +1,27 @@
.\objects\ap_demo.o: ..\src\app\demo\ap_demo.c
.\objects\ap_demo.o: ..\src\app\demo\ap_demo.h
.\objects\ap_demo.o: ..\src\sdk\include\M0\ArmCM0.h
.\objects\ap_demo.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h
.\objects\ap_demo.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\ap_demo.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h
.\objects\ap_demo.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h
.\objects\ap_demo.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h
.\objects\ap_demo.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h
.\objects\ap_demo.o: ..\src\common\tau_device_datatype.h
.\objects\ap_demo.o: ..\src\common\tau_common.h
.\objects\ap_demo.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
.\objects\ap_demo.o: ..\src\common\tau_log.h
.\objects\ap_demo.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
.\objects\ap_demo.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h
.\objects\ap_demo.o: ..\src\common\tau_operations.h
.\objects\ap_demo.o: ..\src\common\tau_delay.h
.\objects\ap_demo.o: ..\src\sdk\include\hal_dsi_rx_ctrl.h
.\objects\ap_demo.o: ..\src\common\tau_dsi_datatype.h
.\objects\ap_demo.o: ..\src\sdk\include\hal_dsi_tx_ctrl.h
.\objects\ap_demo.o: ..\src\sdk\include\hal_gpio.h
.\objects\ap_demo.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdbool.h
.\objects\ap_demo.o: ..\src\sdk\include\hal_swire.h
.\objects\ap_demo.o: ..\src\sdk\include\hal_timer.h
.\objects\ap_demo.o: ..\src\sdk\include\hal_system.h
.\objects\ap_demo.o: ..\src\sdk\include\hal_pwm.h
.\objects\ap_demo.o: ..\src\app\demo\app_tp_transfer.h

BIN
project/Objects/ap_demo.o Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\objects\app_tp_for_custom_s8.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\app_tp_for_custom_s8.crf --depend .\objects\app_tp_for_custom_s8.d "..\src\app\demo\app_tp_for_custom_s8.c"

Binary file not shown.

View File

@ -0,0 +1,23 @@
.\objects\app_tp_for_custom_s8.o: ..\src\app\demo\app_tp_for_custom_s8.c
.\objects\app_tp_for_custom_s8.o: ..\src\app\test_cfg_global.h
.\objects\app_tp_for_custom_s8.o: ..\src\app\demo\ap_demo.h
.\objects\app_tp_for_custom_s8.o: ..\src\app\demo\app_tp_for_custom_s8.h
.\objects\app_tp_for_custom_s8.o: ..\src\app\test_cfg_global.h
.\objects\app_tp_for_custom_s8.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
.\objects\app_tp_for_custom_s8.o: ..\src\common\tau_device_datatype.h
.\objects\app_tp_for_custom_s8.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\app_tp_for_custom_s8.o: ..\src\common\tau_common.h
.\objects\app_tp_for_custom_s8.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
.\objects\app_tp_for_custom_s8.o: ..\src\app\demo\app_tp_transfer.h
.\objects\app_tp_for_custom_s8.o: ..\src\sdk\include\hal_gpio.h
.\objects\app_tp_for_custom_s8.o: ..\src\app\demo\app_tp_phone_transfer_data_s8.h
.\objects\app_tp_for_custom_s8.o: ..\src\app\demo\app_tp_screen_transfer_data_s8.h
.\objects\app_tp_for_custom_s8.o: ..\src\common\tau_log.h
.\objects\app_tp_for_custom_s8.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h
.\objects\app_tp_for_custom_s8.o: ..\src\sdk\include\M0\ArmCM0.h
.\objects\app_tp_for_custom_s8.o: C:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h
.\objects\app_tp_for_custom_s8.o: C:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h
.\objects\app_tp_for_custom_s8.o: C:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h
.\objects\app_tp_for_custom_s8.o: C:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h
.\objects\app_tp_for_custom_s8.o: C:\Users\ASUS\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h
.\objects\app_tp_for_custom_s8.o: ..\src\common\tau_delay.h

Binary file not shown.

View File

@ -0,0 +1,6 @@
--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\objects\app_tp_transfer.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\app_tp_transfer.crf --depend .\objects\app_tp_transfer.d "..\src\app\demo\app_tp_transfer.c"

Binary file not shown.

View File

@ -0,0 +1,26 @@
.\objects\app_tp_transfer.o: ..\src\app\demo\app_tp_transfer.c
.\objects\app_tp_transfer.o: ..\src\app\test_cfg_global.h
.\objects\app_tp_transfer.o: ..\src\app\demo\ap_demo.h
.\objects\app_tp_transfer.o: ..\src\app\demo\app_tp_for_custom_s8.h
.\objects\app_tp_transfer.o: ..\src\app\test_cfg_global.h
.\objects\app_tp_transfer.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
.\objects\app_tp_transfer.o: ..\src\common\tau_device_datatype.h
.\objects\app_tp_transfer.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\app_tp_transfer.o: ..\src\common\tau_common.h
.\objects\app_tp_transfer.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
.\objects\app_tp_transfer.o: ..\src\app\demo\app_tp_transfer.h
.\objects\app_tp_transfer.o: ..\src\sdk\include\hal_gpio.h
.\objects\app_tp_transfer.o: ..\src\sdk\include\hal_i2c_master.h
.\objects\app_tp_transfer.o: ..\src\sdk\include\hal_i2c_slave.h
.\objects\app_tp_transfer.o: ..\src\sdk\include\hal_spi_master.h
.\objects\app_tp_transfer.o: ..\src\sdk\include\hal_spi_slave.h
.\objects\app_tp_transfer.o: ..\src\common\tau_dsi_datatype.h
.\objects\app_tp_transfer.o: ..\src\common\tau_log.h
.\objects\app_tp_transfer.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h
.\objects\app_tp_transfer.o: ..\src\sdk\include\M0\ArmCM0.h
.\objects\app_tp_transfer.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h
.\objects\app_tp_transfer.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h
.\objects\app_tp_transfer.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h
.\objects\app_tp_transfer.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h
.\objects\app_tp_transfer.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h
.\objects\app_tp_transfer.o: ..\src\common\tau_delay.h

Binary file not shown.

View File

@ -0,0 +1,6 @@
--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\objects\board.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\board.crf --depend .\objects\board.d "..\src\board\board.c"

BIN
project/Objects/board.crf Normal file

Binary file not shown.

12
project/Objects/board.d Normal file
View File

@ -0,0 +1,12 @@
.\objects\board.o: ..\src\board\board.c
.\objects\board.o: ..\src\board\board.h
.\objects\board.o: ..\src\sdk\include\hal_system.h
.\objects\board.o: ..\src\common\tau_common.h
.\objects\board.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\board.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
.\objects\board.o: ..\src\sdk\include\M0\ArmCM0.h
.\objects\board.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h
.\objects\board.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h
.\objects\board.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h
.\objects\board.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h
.\objects\board.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h

BIN
project/Objects/board.o Normal file

Binary file not shown.

6
project/Objects/main.__i Normal file
View File

@ -0,0 +1,6 @@
--c99 --gnu -c --cpu Cortex-M0 -D__MICROLIB --li -g -O3 --apcs=interwork --split_sections --asm --interleave --asm_dir ".\\Listings\\" -I ..\src -I ..\src\board -I ..\src\common -I ..\src\sdk\include -I ..\src\app\demo -I ..\src\sdk\include\M0 -I ..\src\app -I ..\src\unittest -I ..\src\app\s8p
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
-D__UVISION_VERSION="528" -D_RTE_ -DARMCM0 -DISP_568
-o .\objects\main.o --list_dir ".\\Listings\\" --list --omf_browse .\objects\main.crf --depend .\objects\main.d "..\src\app\main.c"

BIN
project/Objects/main.crf Normal file

Binary file not shown.

25
project/Objects/main.d Normal file
View File

@ -0,0 +1,25 @@
.\objects\main.o: ..\src\app\main.c
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdio.h
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\string.h
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdlib.h
.\objects\main.o: ..\src\app\test_cfg_global.h
.\objects\main.o: ..\src\app\demo\ap_demo.h
.\objects\main.o: ..\src\app\demo\app_tp_for_custom_s8.h
.\objects\main.o: ..\src\app\test_cfg_global.h
.\objects\main.o: ..\src\common\tau_device_datatype.h
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
.\objects\main.o: ..\src\common\tau_common.h
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\math.h
.\objects\main.o: ..\src\app\demo\app_tp_transfer.h
.\objects\main.o: ..\src\sdk\include\hal_gpio.h
.\objects\main.o: ..\src\common\tau_log.h
.\objects\main.o: C:\Keil_v5\ARM\ARMCC\Bin\..\include\stdarg.h
.\objects\main.o: ..\src\sdk\include\M0\ArmCM0.h
.\objects\main.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\core_cm0.h
.\objects\main.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_version.h
.\objects\main.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_compiler.h
.\objects\main.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include\cmsis_armcc.h
.\objects\main.o: C:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include\system_ARMCM0.h
.\objects\main.o: ..\src\sdk\include\hal_system.h
.\objects\main.o: ..\src\board\board.h
.\objects\main.o: ..\src\common\tau_delay.h

BIN
project/Objects/main.o Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
--cpu Cortex-M0 --li -g --apcs=interwork --pd "__MICROLIB SETA 1"
-I.\RTE\_ISP568
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\CMSIS\Core\Include
-IC:\Users\Markin\AppData\Local\Arm\Packs\ARM\CMSIS\5.5.1\Device\ARM\ARMCM0\Include
--pd "__UVISION_VERSION SETA 528" --pd "_RTE_ SETA 1" --pd "ARMCM0 SETA 1"
--list .\listings\startup_armcm0.lst --xref -o .\objects\startup_armcm0.o --depend .\objects\startup_armcm0.d "..\src\board\startup\startup_ARMCM0.s"

View File

@ -0,0 +1 @@
.\objects\startup_armcm0.o: ..\src\board\startup\startup_ARMCM0.s

Binary file not shown.

19
project/RAM.ini Normal file
View File

@ -0,0 +1,19 @@
/******************************************************************************/
/* RAM.INI: RAM Initialization File */
/******************************************************************************/
/* This file is part of the uVision/ARM development tools. */
/* Copyright (c) 2010 Keil - An ARM Company. All rights reserved. */
/* This software may only be used under the terms of a valid, current, */
/* end user licence from KEIL for a compatible version of KEIL software */
/* development tools. Nothing else gives you the right to use this software. */
/******************************************************************************/
FUNC void Setup (void) {
SP = _RDWORD(0x00010000); // Setup Stack Pointer
PC = _RDWORD(0x00010004); // Setup Program Counter
_WDWORD(0xE000ED08, 0x00000000); // Setup Vector Table Offset Register
}
LOAD %L INCREMENTAL // Download
Setup(); // Setup for Running

View File

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'ISP568'
* Target: 'CVWL518'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "ARMCM0.h"
#endif /* RTE_COMPONENTS_H */

View File

@ -0,0 +1,21 @@
/*
* Auto generated Run-Time-Environment Configuration File
* *** Do not modify ! ***
*
* Project: 'ISP568'
* Target: 'ISP568'
*/
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "ARMCM0.h"
#endif /* RTE_COMPONENTS_H */

5113
src/app/demo/ap_demo.c Normal file

File diff suppressed because it is too large Load Diff

58
src/app/demo/ap_demo.h Normal file
View File

@ -0,0 +1,58 @@
/*******************************************************************************
*
*
* File: s8_demo.h
* Description: s8测试头文件
* Version: V0.1
* Date: 2021-02-22
* Author: Tempest
*******************************************************************************/
#ifndef __AP_DEMO_H__
#define __AP_DEMO_H__
//#define DISABLE_TDDI_I2C_FUNCTION
//#define USE_WL518_INTERNAL_FLASH
/* 不同方案选择。选仅选1个*/
#define USE_FOR_SUMSUNG_S21
//#define USE_FOR_SUMSUNG_S20PLUS
//#define USE_FOR_OPPO_RENO3_PRO
#ifdef USE_FOR_SUMSUNG_S20PLUS
#define AMOLED_NT37701_VNOX667 1
#define USE_FOR_S10_BLUE_MODE //S10蓝光模式
#define ADD_PANEL_DISPLAY_MODE //屏幕模式功能。白平衡功能
#endif
#ifdef USE_FOR_SUMSUNG_S21
#define LCD_FT8719_DU48 0
#define AMOLED_NT37701_HX628 1
#define PANEL_INIT_CODE_ARRAY 1
#define G_PHONE_INT_DEFAULT_LOW
#define USE_FOR_S10_BLUE_MODE //S10蓝光模式
#define ADD_PANEL_DISPLAY_MODE //屏幕模式功能。白平衡功能
#define ADD_TIMER3_FUNCTION
#define ENABLE_TP_SLEEP
#define USE_FILTER_20220513
#endif
#ifdef USE_FOR_OPPO_RENO3_PRO
#define AMOLED_NT37701_HX655 1
#endif
/**
* @brief test system
* @param none
* @retval none
*/
void ap_demo(void);
void app_tp_I2C_init(void);
#endif

View File

@ -0,0 +1,156 @@
/*******************************************************************************
*
*
* File: app_tp_for_custom.h
* Description tp
* Version V0.1
* Date 2021-10-14
* Author zhanghz
*******************************************************************************/
#ifndef __APP_TP_FOR_CUSTOM_S8_H__
#define __APP_TP_FOR_CUSTOM_S8_H__
#include "test_cfg_global.h"
#include "string.h"
#include "tau_device_datatype.h"
#include "tau_common.h"
#include "app_tp_transfer.h"
#include "hal_gpio.h"
#define AP_TP_TRANSFER 1
#if AMOLED_NT37280
#define PHONE_SLAVE_TRANSFER_I2C 1 //1:表示手机跟芯片之间touch 数据采用 I2C 通信;
#define PHONE_SLAVE_TRANSFER_SPI 0 //1:表示手机跟芯片之间touch 数据采用 SPI 通信;
#define SCREEN_MASTER_TRANSFER_I2C 0 //1:表示屏幕跟芯片之间touch 数据采用 I2C 通信;
#define SCREEN_MASTER_TRANSFER_SPI 1 //1:表示屏幕跟芯片之间touch 数据采用 SPI 通信;
#elif LCD_HX83112A
#define PHONE_SLAVE_TRANSFER_I2C 1 //1:表示手机跟芯片之间touch 数据采用 I2C 通信;
#define PHONE_SLAVE_TRANSFER_SPI 0 //1:表示手机跟芯片之间touch 数据采用 SPI 通信;
#define SCREEN_MASTER_TRANSFER_I2C 0 //1:表示屏幕跟芯片之间touch 数据采用 I2C 通信;
#define SCREEN_MASTER_TRANSFER_SPI 0 //1:表示屏幕跟芯片之间touch 数据采用 SPI 通信;
#else // #if LCD_TD4310
#define PHONE_SLAVE_TRANSFER_I2C 1 //1:表示手机跟芯片之间touch 数据采用 I2C 通信;
#define PHONE_SLAVE_TRANSFER_SPI 0 //1:表示手机跟芯片之间touch 数据采用 SPI 通信;
#define SCREEN_MASTER_TRANSFER_I2C 1 //1:表示屏幕跟芯片之间touch 数据采用 I2C 通信;
#define SCREEN_MASTER_TRANSFER_SPI 0 //1:表示屏幕跟芯片之间touch 数据采用 SPI 通信;
#endif
#ifdef USE_FOR_SUMSUNG_S21
#define CHIP_I2C_ADDRESS 0x48 //芯片本身 I2C 从机地址.机板I2C地址
#define SCREEN_I2C_ADDRESS 0x49 //屏幕 I2C 从机地址
#elif defined(USE_FOR_SUMSUNG_S9PLUS)
#define CHIP_I2C_ADDRESS 0x48 //芯片本身 I2C 从机地址
#define SCREEN_I2C_ADDRESS 0x20 //屏幕 I2C 从机地址
#else
#define CHIP_I2C_ADDRESS 0x48 //芯片本身 I2C 从机地址
#define SCREEN_I2C_ADDRESS 0x49 //屏幕 I2C 从机地址
#endif
#define CHIP_I2C_ADDR_BITS I2C_ADDR_BITS_7 //屏幕 I2C 地址位数 7/10默认为7
#define SCREEN_I2C_ADDR_BITS I2C_ADDR_BITS_7 //屏幕 I2C 地址位数 7/10默认为7
#define I2C_MASTER_SPEED 400000 //设置 I2C 主机通信速率 800000
#define SPI_MASTER_SPEED 10000000 //设置 SPI 主机通信速率
#define BUFFER_SIZE_MAX 200 //定义 bufrer 最大的字节数
#define INPUT_WIDTH_VALUE 1440 //原装屏 X 坐标码值的最大值
#define INPUT_HEIGHT_VALUE 3200 //原装屏 Y 坐标码值的最大值
#if LCD_FT8006S_TRULY59
#define OUTPUT_WIDTH_VALUE 720 //维修屏 X 坐标码值的最大值
#define OUTPUT_HEIGHT_VALUE 1520 //维修屏 Y 坐标码值的最大值
#else
#define OUTPUT_WIDTH_VALUE 1080 //维修屏 X 坐标码值的最大值
#define OUTPUT_HEIGHT_VALUE 2400 //维修屏 Y 坐标码值的最大值
#endif
#define SCREEN_TRANSFER_WRITE false //接收到screen io中断发送数据之后不用读回
#define SCREEN_TRANSFER_READ true //接收到screen io中断发送数据之后要读回数据
typedef enum
{
I2C_ADDR_BITS_7 = 7,
I2C_ADDR_BITS_10 = 10
} en_I2C_ADDR_BITS_mdoe;
typedef struct
{
uint8_t *buffer; //接收到screen io中断后通信的发送buffer指针
size_t txbuffer_size; //发送 buffer 数据长度需要读回时目前只支持4个字节
size_t rxbuffer_size; //发送完数据之后,要读回的数据长度
bool read_flag; //true 接收到screen io中断发送数据之后要读回数据
} st_screen_data;
typedef struct
{
const uint8_t *buffer; //通信的发送buffer指针
size_t txbuffer_size; //发送 buffer 数据长度需要读回时目前只支持4个字节
size_t rxbuffer_size; //发送完数据之后,要读回的数据长度
bool read_flag; //true 接收到screen io中断发送数据之后要读回数据
} st_screen_const_data;
typedef struct
{
uint8_t reg_size; //接收buffer的个数
size_t write_back_size; //要发送的数据长度
const uint8_t *reg_data; //接收buffer
const uint8_t *write_back; //发送bufer
} st_reg_const_data;
typedef struct
{
uint8_t reg_size; //接收buffer的个数
size_t write_back_size; //要发送的数据长度
uint8_t *reg_data; //接收buffer
uint8_t *write_back; //发送bufer
} st_reg_data;
extern io_pad_e g_screen_input_rst_pad;
extern io_pad_e g_screen_input_int_pad;
extern io_pad_e g_phone_input_rst_pad;
extern io_pad_e g_phone_output_int_pad;
extern uint8_t phone_start_flag;
extern uint8_t phone_touch_flag;
extern const uint8_t screen_reg_int_data_size;
extern const uint8_t screen_reg_start_data_size;
extern st_screen_data screen_reg_int_data[];
extern st_screen_const_data screen_reg_start_data[];
//extern st_reg_const_data phone_reg_const_data[];
/**************************************************************************
* @name : app_tp_screen_analysis_const
* @brief : screen start
* @param[in] :
* @return :
* @retval :
**************************************************************************/
uint8_t app_tp_screen_analysis_const(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size);
/**************************************************************************
* @name : app_tp_screen_analysis_int
* @brief : screen IO中断后的
* @param[in] :
* @return :
* @retval :
**************************************************************************/
uint8_t app_tp_screen_analysis_int(uint8_t transfer_now, uint8_t *rxbuffer, size_t data_size);
/**************************************************************************
* @name : app_tp_phone_analysis_data
* @brief : phone
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_phone_analysis_data(uint8_t *rxbuffer, size_t rxbuffer_size, const uint8_t **txbuffer, size_t *txbuffer_size);
#endif

View File

@ -0,0 +1,313 @@
/*******************************************************************************
*
*
* File: app_tp_transfer_data.h
* Description
* Version V0.1
* Date 2021-10-14
* Author zhanghz
*******************************************************************************/
#ifndef __APP_TP_PHONE_TRANSFER_DATA_S8_H__
#define __APP_TP_PHONE_TRANSFER_DATA_S8_H__
#include "tau_common.h"
#include "ap_demo.h"
/*******************************************/
#ifdef USE_FOR_SUMSUNG_S21
const uint8_t phone_data_60_1[]={0x09,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_60_2[]={0x1D,0x61,0x02,0x02,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_60_3[]={0x1D,0x61,0x06,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_60_4[]={0x1D,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_60_5[]={0x1D,0x61,0x05,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_60_6[]={0x1D,0x61,0x02,0x02,0x05,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_60_7[]={0x1D,0x61,0x05,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_60_8[]={0x09,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_21[]={0x80};
const uint8_t phone_data_22[]={0x53,0x45,0x37,0x92,0x00};
const uint8_t phone_data_23[]={0x10,0x00,0x10,0x00,0x04,0x38,0x09,0x60,0x10,0x23,0x00};
const uint8_t phone_data_30[]={0x61,0x00};
const uint8_t phone_data_52[]={0xAC,0x79,0xA1};
const uint8_t phone_data_55[]={0x20};
const uint8_t phone_data_85_00[]={0xFF};
const uint8_t phone_data_85_02[]={0x01,0x27,0x01,0x04,0x03,0x02,0x09,0x01,0x03,0x38,0x09,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00};
const uint8_t phone_data_85_20[]={0x01,0x28,0x02,0x04,0x01,0x00,0x03,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0x00};
const uint8_t phone_data_90[]={0x4E,0x39,0x38,0x36,0x00,0x04,0x00,0x06,0x20,0x01};
const uint8_t phone_data_92_F0[]={0x8A,0x25};
const uint8_t phone_data_92_0A[]={0xC7,0x00,0x84,0x00,0xC7,0x00};
const uint8_t phone_data_92_15[]={0x10,0x12,0x24,0x00};
const uint8_t phone_data_A3[]={0x28,0x18,0x01,0x00};
const uint8_t phone_data_A4[]={0x28,0x18,0x01,0x02};
const uint8_t phone_data_A5[]={0x28,0x18,0x01,0x30};
const uint8_t phone_data_AF[]={0x00,0x02,0x01,0x00};
//const uint8_t phone_data_E4[]={0x00};
uint8_t phone_data_E4[]={0x01};
const uint8_t phone_data_F1[]={0x07,0x07,0x00,0xA2};
//const uint8_t phone_data_F5[]={0x00};
const uint8_t phone_data_F5_1[]={0xFF};
const uint8_t phone_data_F5_2[]={0x13};
const uint8_t phone_data_F5_3[]={0x00};
const uint8_t phone_data_F5_4[]={0x06};
const uint8_t phone_data_F6_1[]={0xFA,0xF4,0xFB,0x09,0xFB,0x09};
const uint8_t phone_data_F6_2[]={0x25,0x23,0x23,0xE1,0x21,0x86};
const uint8_t phone_data_F6_3[]={0x00,0x01,0x00,0x01,0x00,0x00};
const uint8_t phone_data_F6_4[]={0x00,0x02,0x00,0x00,0x00,0x00};
uint8_t phone_data_B1[]={0x00,0x082};
#if 1
const uint8_t phone_data_72_03[]={
0xFF,0xEC,0x00,0x0C,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x01,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0xFF,0xFE,0x00,0x01,0xFF,0xFF,0x00,0x03,\
0x00,0x03,0x00,0x05,0x00,0x01,0x00,0x07,0xFF,0xFA,0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x01,\
0x00,0x02,0x00,0x02,0xFF,0xFB,0xFF,0xE2,0x00,0x0C,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x04,0x00,0x03,0x00,0x01,0x00,0x02,0x00,0x03,0x00,0x05,\
0x00,0x04,0x00,0x05,0x00,0x08,0x00,0x09,0x00,0x0F,0x00,0x08,0x00,0x01,0xFF,0xF8,0xFF,0xF8,0xFF,0xFC,0xFF,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,\
0x00,0x01,0x00,0x04,0x00,0x01,0x00,0x02,0x00,0x03,0xFF,0xFE,0xFF,0xF5,0x00,0x0A,0xFF,0xFB,0xFF,0xFB,0xFF,0xFE,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0x00,0x04,0x00,0x02,\
0x00,0x03,0x00,0x04,0x00,0x04,0x00,0x06,0x00,0x07,0x00,0x0B,0x00,0x0D,0x00,0x10,0x00,0x09,0xFF,0xF7,0xFF,0xFC,0xFF,0xF4,0xFF,0xF8,0xFF,0xFD,0xFF,0xFE,0x00,0x01,\
0x00,0x00,0x00,0x02,0x00,0x01,0x00,0x03,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x03,0xFF,0xFF,0xFF,0xF9,0x00,0x01,0xFF,0xF9,0xFF,0xFC,0xFF,0xFF,0x00,0x01,0xFF,0xFF,\
0xFF,0xFF,0x00,0x00,0x00,0x02,0x00,0x01,0x00,0x05,0x00,0x06,0x00,0x08,0x00,0x0B,0x00,0x0C,0x00,0x13,0x00,0x09,0x00,0x03,0xFF,0xFE,0xFF,0xFC,0xFF,0xF4,0xFF,0xF7,\
0xFF,0xFD,0xFF,0xFE,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x02,0x00,0x06,0x00,0x07,0x00,0x02,0x00,0x01,0x00,0x04,0xFF,0xCA,0x00,0x06,0xFF,0xFF,0x00,0x01,\
0xFF,0xFF,0x00,0x01,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x05,0x00,0x04,0x00,0x07,0x00,0x07,0x00,0x0C,0x00,0x0D,0x00,0x13,0x00,0x10,0x00,0x02,0xFF,0xFF,0x00,0x09,\
0xFF,0xFD,0xFF,0xF9,0xFF,0xF5,0xFF,0xFB,0xFF,0xFC,0xFF,0xFE,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x04,0x00,0x06,0x00,0x06,0xFF,0xDE,\
0x00,0x08,0xFF,0xFD,0xFF,0xFD,0xFF,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x04,0x00,0x03,0x00,0x05,0x00,0x06,0x00,0x07,0x00,0x0B,0x00,0x09,0x00,0x10,0x00,0x15,0x00,0x05,\
0xFF,0xFA,0xFF,0xFF,0x00,0x0B,0x00,0x01,0xFF,0xFF,0xFF,0xF3,0xFF,0xF6,0xFF,0xFC,0xFF,0xFD,0xFF,0xFF,0x00,0x04,0x00,0x01,0x00,0x03,0x00,0x03,0x00,0x09,0x00,0x05,\
0x00,0x05,0x00,0x02,0xFF,0xDA,0x00,0x03,0xFF,0xFB,0xFF,0xFB,0xFF,0xFD,0xFF,0xFE,0x00,0x04,0x00,0x00,0x00,0x02,0x00,0x03,0x00,0x05,0x00,0x03,0x00,0x09,0x00,0x0D,\
0x00,0x12,0x00,0x0D,0xFF,0xFD,0xFF,0xF7,0xFF,0xFC,0x00,0x08,0x00,0x0E,0x00,0x00,0xFF,0xF8,0xFF,0xF1,0xFF,0xF6,0xFF,0xFB,0xFF,0xFB,0xFF,0xFF,0x00,0x02,0x00,0x01,\
0x00,0x05,0x00,0x06,0x00,0x07,0x00,0x07,0x00,0x06,0xFF,0xC0,0x00,0x04,0xFF,0xFE,0xFF,0xFD,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x05,0x00,0x07,\
0x00,0x0B,0x00,0x0D,0x00,0x13,0x00,0x12,0x00,0x03,0xFF,0xF7,0xFF,0xFA,0x00,0x00,0x00,0x07,0x00,0x0E,0x00,0x08,0x00,0x01,0xFF,0xF2,0xFF,0xF7,0xFF,0xF9,0xFF,0xFD,\
0xFF,0xFE,0x00,0x01,0x00,0x00,0x00,0x05,0x00,0x04,0x00,0x09,0x00,0x07,0xFF,0xFB,0xFF,0xED,0x00,0x03,0xFF,0xFB,0xFF,0xFB,0xFF,0xFE,0x00,0x01,0x00,0x03,0x00,0x00,\
0x00,0x03,0x00,0x07,0x00,0x08,0x00,0x07,0x00,0x0F,0x00,0x12,0x00,0x06,0xFF,0xF6,0xFF,0xF7,0xFF,0xFD,0x00,0x03,0x00,0x06,0x00,0x0A,0x00,0x10,0x00,0x03,0xFF,0xFE,\
0xFF,0xF4,0xFF,0xF9,0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0x00,0x01,0x00,0x04,0x00,0x06,0x00,0x06,0x00,0x06,0xFF,0xF7,0xFF,0xEA,0x00,0x01,0xFF,0xFB,0xFF,0xFC,0xFF,0xFC,\
0xFF,0xFF,0x00,0x03,0x00,0x02,0x00,0x04,0x00,0x07,0x00,0x0A,0x00,0x0E,0x00,0x13,0x00,0x08,0xFF,0xFD,0xFF,0xF3,0xFF,0xF9,0xFF,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x09,\
0x00,0x0F,0x00,0x09,0x00,0x04,0xFF,0xF4,0xFF,0xF4,0xFF,0xF8,0xFF,0xFE,0xFF,0xFD,0x00,0x01,0x00,0x04,0x00,0x07,0x00,0x04,0x00,0x08,0x00,0x05,0xFF,0xEA,0x00,0x05,\
0xFF,0xFE,0xFF,0xFC,0xFF,0xFD,0x00,0x01,0x00,0x03,0x00,0x02,0x00,0x04,0x00,0x07,0x00,0x0B,0x00,0x11,0x00,0x0D,0x00,0x03,0xFF,0xF3,0xFF,0xF3,0xFF,0xFD,0xFF,0xFE,\
0x00,0x01,0x00,0x06,0x00,0x06,0x00,0x0B,0x00,0x11,0xFF,0xFF,0x00,0x03,0xFF,0xF0,0xFF,0xF7,0xFF,0xFD,0xFF,0xFD,0x00,0x02,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x04,\
0x00,0x03,0xFF,0xDC,0x00,0x01,0xFF,0xFD,0xFF,0xFD,0xFF,0xFE,0xFF,0xFD,0x00,0x01,0x00,0x00,0x00,0x06,0x00,0x09,0x00,0x0E,0x00,0x13,0x00,0x07,0xFF,0xFB,0xFF,0xF2,\
0xFF,0xF9,0xFF,0xFB,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x06,0x00,0x08,0x00,0x0D,0x00,0x0E,0x00,0x00,0xFF,0xF7,0xFF,0xF4,0xFF,0xFA,0xFF,0xFD,0xFF,0xFD,0xFF,0xFF,\
0x00,0x03,0x00,0x03,0x00,0x06,0x00,0x05,0xFF,0xE2,0x00,0x03,0xFF,0xFF,0xFF,0xFD,0xFF,0xFC,0xFF,0xFF,0x00,0x04,0x00,0x02,0x00,0x06,0x00,0x0A,0x00,0x11,0x00,0x0C,\
0x00,0x02,0xFF,0xF1,0xFF,0xF7,0xFF,0xFD,0xFF,0xFF,0x00,0x00,0x00,0x08,0x00,0x04,0x00,0x07,0x00,0x08,0x00,0x09,0x00,0x0C,0x00,0x03,0xFF,0xFD,0xFF,0xF3,0xFF,0xF8,\
0xFF,0xFD,0x00,0x01,0x00,0x05,0x00,0x03,0x00,0x01,0x00,0x02,0x00,0x03,0xFF,0xF0,0x00,0x04,0xFF,0xFF,0xFF,0xFE,0xFF,0xFE,0xFF,0xFF,0x00,0x03,0x00,0x05,0x00,0x04,\
0x00,0x0A,0x00,0x12,0x00,0x06,0xFF,0xFD,0xFF,0xF7,0xFF,0xFA,0xFF,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x09,0x00,0x0A,0x00,0x0B,\
0x00,0x00,0xFF,0xFA,0xFF,0xF6,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x05,0x00,0x01,0x00,0x02,0x00,0x01,0xFF,0xEE,0x00,0x08,0xFF,0xFC,0xFF,0xFD,0xFF,0xFE,0x00,0x02,\
0x00,0x02,0x00,0x03,0x00,0x07,0x00,0x0B,0x00,0x09,0x00,0x02,0xFF,0xF8,0xFF,0xFB,0xFF,0xFE,0x00,0x00,0x00,0x01,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x01,0x00,0x05,\
0x00,0x04,0x00,0x04,0x00,0x0D,0x00,0x00,0xFF,0xFE,0xFF,0xF8,0xFF,0xFE,0xFF,0xFD,0x00,0x00,0x00,0x01,0x00,0x03,0x00,0x03,0x00,0x01,0x00,0x01,0x00,0x0C,0xFF,0xFD,\
0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x06,0x00,0x01,0x00,0x02,0xFF,0xFC,0xFF,0xFE,0x00,0x01,0xFF,0xFE,0x00,0x01,0x00,0x01,0x00,0x00,\
0x00,0x01,0x00,0x02,0x00,0x01,0x00,0x04,0x00,0x03,0x00,0x05,0x00,0x02,0xFF,0xFF,0xFF,0xFB,0xFF,0xFD,0xFF,0xFE,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0xFF,0xFD};
const uint8_t phone_data_72_05[]={
0xFF,0xCC,0x00,0x12,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x01,0xFF,0xFF,0x00,0x04,0x00,0x01,0x00,0x01,0x00,0x04,0x00,0x04,0x00,0x03,0x00,0x04,0x00,0x06,\
0x00,0x06,0x00,0x07,0x00,0x03,0x00,0x0A,0xFF,0xF9,0xFF,0xFD,0xFF,0xFF,0x00,0x01,0x00,0x01,0x00,0x02,0x00,0x05,0x00,0x02,0x00,0x04,0x00,0x01,0x00,0x03,0x00,0x01,\
0x00,0x05,0xFF,0xFE,0x00,0x01,0xFF,0xCC,0x00,0x0E,0xFF,0xFE,0xFF,0xFF,0x00,0x02,0xFF,0xFD,0x00,0x01,0x00,0x05,0x00,0x04,0x00,0x01,0x00,0x03,0x00,0x04,0x00,0x04,\
0x00,0x03,0x00,0x06,0x00,0x06,0x00,0x0A,0x00,0x11,0x00,0x07,0xFF,0xFE,0xFF,0xFD,0xFF,0xF7,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0x00,0x02,0xFF,0xFF,0x00,0x02,0x00,0x00,\
0x00,0x01,0x00,0x03,0xFF,0xFF,0x00,0x03,0x00,0x04,0x00,0x05,0xFF,0xF2,0x00,0x0A,0xFF,0xFC,0xFF,0xFD,0xFF,0xFE,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0x00,0x02,0x00,0x03,\
0x00,0x03,0x00,0x06,0x00,0x08,0x00,0x07,0x00,0x06,0x00,0x0C,0x00,0x0C,0x00,0x0F,0x00,0x07,0xFF,0xF6,0xFF,0xFD,0xFF,0xF5,0xFF,0xF9,0xFF,0xFD,0xFF,0xFD,0xFF,0xFE,\
0x00,0x01,0x00,0x00,0x00,0x04,0x00,0x01,0x00,0x07,0x00,0x01,0xFF,0xFF,0x00,0x00,0x00,0x05,0xFF,0xFE,0x00,0x02,0xFF,0xFA,0xFF,0xF9,0xFF,0xFC,0x00,0x01,0xFF,0xFD,\
0xFF,0xFF,0x00,0x02,0x00,0x01,0xFF,0xFF,0x00,0x06,0x00,0x04,0x00,0x09,0x00,0x08,0x00,0x0C,0x00,0x14,0x00,0x07,0x00,0x01,0xFF,0xFE,0xFF,0xFB,0xFF,0xF5,0xFF,0xF5,\
0xFF,0xF9,0x00,0x01,0xFF,0xFE,0x00,0x01,0x00,0x04,0x00,0x04,0x00,0x07,0x00,0x05,0x00,0x05,0x00,0x03,0xFF,0xFE,0x00,0x03,0xFF,0x9B,0x00,0x0B,0x00,0x01,0x00,0x00,\
0xFF,0xFE,0xFF,0xFF,0x00,0x01,0x00,0x02,0x00,0x05,0x00,0x05,0x00,0x08,0x00,0x08,0x00,0x0B,0x00,0x0C,0x00,0x0D,0x00,0x13,0x00,0x10,0x00,0x02,0x00,0x02,0x00,0x09,\
0x00,0x00,0xFF,0xF9,0xFF,0xF4,0xFF,0xFA,0xFF,0xFE,0xFF,0xFF,0x00,0x01,0x00,0x00,0x00,0x01,0xFF,0xFC,0xFF,0xFE,0x00,0x04,0x00,0x0A,0x00,0x07,0x00,0x08,0xFF,0xBF,\
0x00,0x07,0xFF,0xFD,0xFF,0xFA,0xFF,0xFC,0xFF,0xFF,0xFF,0xFF,0x00,0x06,0x00,0x01,0x00,0x05,0x00,0x08,0x00,0x06,0x00,0x0B,0x00,0x0E,0x00,0x0F,0x00,0x15,0x00,0x06,\
0xFF,0xFE,0x00,0x00,0x00,0x0B,0x00,0x02,0x00,0x01,0xFF,0xF2,0xFF,0xF8,0xFF,0xFC,0xFF,0xFD,0xFF,0xFF,0x00,0x02,0xFF,0xFF,0x00,0x02,0x00,0x02,0x00,0x08,0x00,0x08,\
0x00,0x07,0x00,0x0A,0xFF,0xCF,0x00,0x0B,0xFF,0xF9,0xFF,0xFC,0xFF,0xFE,0xFF,0xFD,0x00,0x01,0x00,0x04,0x00,0x01,0x00,0x03,0x00,0x04,0x00,0x06,0x00,0x09,0x00,0x0E,\
0x00,0x13,0x00,0x0D,0xFF,0xFC,0xFF,0xF6,0x00,0x00,0x00,0x0B,0x00,0x0C,0x00,0x01,0xFF,0xF8,0xFF,0xF2,0xFF,0xFA,0xFF,0xFD,0xFF,0xFD,0x00,0x00,0x00,0x03,0x00,0x04,\
0x00,0x04,0x00,0x06,0x00,0x08,0x00,0x05,0x00,0x08,0xFF,0xB9,0x00,0x09,0xFF,0xFF,0xFF,0xFE,0x00,0x04,0xFF,0xFF,0x00,0x05,0x00,0x08,0x00,0x03,0x00,0x09,0x00,0x08,\
0x00,0x08,0x00,0x0B,0x00,0x14,0x00,0x13,0x00,0x05,0xFF,0xFA,0xFF,0xFA,0x00,0x06,0x00,0x0B,0x00,0x0E,0x00,0x07,0xFF,0xFE,0xFF,0xF4,0xFF,0xF8,0xFF,0xFD,0xFF,0xFD,\
0xFF,0xFE,0x00,0x03,0x00,0x02,0x00,0x04,0x00,0x02,0x00,0x06,0x00,0x03,0xFF,0xFA,0xFF,0xDE,0x00,0x07,0xFF,0xF7,0xFF,0xF6,0xFF,0xF9,0xFF,0xFD,0x00,0x01,0x00,0x01,\
0xFF,0xFE,0x00,0x05,0x00,0x09,0x00,0x0B,0x00,0x0E,0x00,0x10,0x00,0x05,0xFF,0xF8,0xFF,0xFA,0x00,0x01,0xFF,0xFF,0x00,0x06,0x00,0x0D,0x00,0x13,0x00,0x02,0xFF,0xFD,\
0xFF,0xF2,0xFF,0xF9,0xFF,0xFD,0xFF,0xFE,0x00,0x02,0x00,0x04,0x00,0x04,0x00,0x06,0x00,0x04,0x00,0x04,0xFF,0xFD,0xFF,0xDC,0x00,0x09,0xFF,0xF9,0xFF,0xFC,0xFF,0xFB,\
0xFF,0xFD,0x00,0x03,0x00,0x01,0x00,0x06,0x00,0x07,0x00,0x0B,0x00,0x11,0x00,0x16,0x00,0x08,0x00,0x01,0xFF,0xF6,0xFF,0xF8,0x00,0x03,0xFF,0xFF,0x00,0x06,0x00,0x09,\
0x00,0x11,0x00,0x0A,0xFF,0xFF,0xFF,0xF6,0xFF,0xF7,0xFF,0xF9,0x00,0x00,0x00,0x02,0x00,0x04,0x00,0x04,0x00,0x06,0x00,0x04,0x00,0x06,0x00,0x0D,0xFF,0xD2,0x00,0x07,\
0xFF,0xFD,0xFF,0xFC,0xFF,0xFF,0x00,0x01,0x00,0x03,0x00,0x01,0x00,0x04,0x00,0x07,0x00,0x0B,0x00,0x11,0x00,0x10,0x00,0x02,0xFF,0xF5,0xFF,0xF6,0xFF,0xFE,0x00,0x03,\
0x00,0x05,0x00,0x04,0x00,0x07,0x00,0x0F,0x00,0x10,0x00,0x01,0x00,0x02,0xFF,0xF3,0xFF,0xF5,0xFF,0xFA,0xFF,0xFE,0x00,0x00,0x00,0x02,0x00,0x04,0x00,0x06,0x00,0x06,\
0x00,0x07,0xFF,0xB8,0x00,0x07,0xFF,0xF9,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x03,0x00,0x03,0x00,0x08,0x00,0x0B,0x00,0x0F,0x00,0x15,0x00,0x08,0xFF,0xFA,0xFF,0xF3,\
0xFF,0xFC,0x00,0x00,0x00,0x03,0x00,0x07,0x00,0x04,0x00,0x05,0x00,0x0B,0x00,0x10,0x00,0x0D,0x00,0x02,0xFF,0xF3,0xFF,0xF3,0xFF,0xF8,0xFF,0xFA,0xFF,0xFC,0xFF,0xFE,\
0x00,0x04,0x00,0x06,0x00,0x08,0x00,0x09,0x00,0x0D,0x00,0x04,0xFF,0xFD,0xFF,0xFB,0xFF,0xF9,0xFF,0xFD,0x00,0x03,0x00,0x03,0x00,0x04,0x00,0x09,0x00,0x0F,0x00,0x0A,\
0x00,0x00,0xFF,0xED,0xFF,0xF6,0xFF,0xFA,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x04,0x00,0x03,0x00,0x09,0x00,0x0A,0x00,0x0C,0x00,0x05,0xFF,0xFF,0xFF,0xF3,0xFF,0xF9,\
0xFF,0xFE,0x00,0x02,0x00,0x05,0x00,0x02,0xFF,0xFF,0x00,0x00,0x00,0x02,0xFF,0xF1,0x00,0x08,0xFF,0xFB,0xFF,0xFD,0xFF,0xFB,0xFF,0xFF,0x00,0x01,0x00,0x01,0x00,0x06,\
0x00,0x07,0x00,0x11,0x00,0x02,0xFF,0xFA,0xFF,0xF5,0xFF,0xFE,0xFF,0xFE,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x03,0x00,0x05,0x00,0x0A,0x00,0x08,0x00,0x0B,\
0x00,0x01,0xFF,0xFB,0xFF,0xF7,0xFF,0xFC,0xFF,0xFE,0xFF,0xFF,0x00,0x04,0x00,0x01,0xFF,0xFE,0x00,0x00,0xFF,0xDD,0x00,0x0C,0xFF,0xFD,0xFF,0xFD,0xFF,0xFF,0x00,0x01,\
0x00,0x01,0x00,0x03,0x00,0x08,0x00,0x0F,0x00,0x09,0x00,0x06,0xFF,0xF8,0xFF,0xF9,0xFF,0xFE,0x00,0x00,0x00,0x02,0x00,0x03,0x00,0x04,0x00,0x02,0x00,0x03,0x00,0x05,\
0x00,0x06,0x00,0x04,0x00,0x0B,0x00,0x01,0xFF,0xFF,0xFF,0xF5,0x00,0x00,0xFF,0xFE,0x00,0x01,0x00,0x02,0xFF,0xFF,0x00,0x04,0x00,0x02,0xFF,0xEF,0x00,0x10,0xFF,0xFD,\
0x00,0x01,0xFF,0xFB,0x00,0x01,0x00,0x01,0xFF,0xFF,0x00,0x02,0x00,0x07,0x00,0x01,0x00,0x02,0xFF,0xFA,0xFF,0xFF,0x00,0x02,0x00,0x00,0x00,0x02,0x00,0x07,0xFF,0xFC,\
0x00,0x00,0x00,0x05,0x00,0x03,0x00,0x06,0x00,0x04,0x00,0x07,0x00,0x05,0x00,0x01,0xFF,0xFD,0xFF,0xFE,0x00,0x02,0x00,0x01,0x00,0x00,0x00,0x03,0x00,0x02,0x00,0x00};
const uint8_t phone_data_72_13[]={
0x02,0x6D,0x02,0xA1,0x02,0x9D,0x02,0x9D,0x02,0xA1,0x02,0xA1,0x02,0xA1,0x02,0xAE,0x02,0xB3,0x02,0xB3,0x02,0xB3,0x02,0xBC,0x02,0xC0,0x02,0xCD,0x02,0xD1,0x02,0xDA,\
0x02,0xE3,0x02,0xDE,0x02,0xDA,0x02,0xDE,0x02,0xDE,0x02,0xDE,0x02,0xE3,0x02,0xE3,0x02,0xE7,0x02,0xEB,0x02,0xF0,0x02,0xF4,0x02,0xF0,0x02,0xF0,0x02,0xE7,0x02,0xE7,\
0x02,0xE7,0x02,0xE7,0x02,0xAE,0x02,0x58,0x02,0x7F,0x02,0x7F,0x02,0x7F,0x02,0x7F,0x02,0x8C,0x02,0x90,0x02,0x90,0x02,0x99,0x02,0x9D,0x02,0x9D,0x02,0xA1,0x02,0xAE,\
0x02,0xB3,0x02,0xBC,0x02,0xC0,0x02,0xC9,0x02,0xC4,0x02,0xC0,0x02,0xC9,0x02,0xC9,0x02,0xC9,0x02,0xCD,0x02,0xD1,0x02,0xD6,0x02,0xD6,0x02,0xDE,0x02,0xDE,0x02,0xDE,\
0x02,0xDA,0x02,0xD6,0x02,0xD6,0x02,0xD6,0x02,0xD6,0x02,0x94,0x02,0x60,0x02,0x7A,0x02,0x7A,0x02,0x7A,0x02,0x7A,0x02,0x83,0x02,0x83,0x02,0x83,0x02,0x8C,0x02,0x94,\
0x02,0x94,0x02,0x99,0x02,0xA6,0x02,0xA6,0x02,0xB3,0x02,0xB7,0x02,0xC0,0x02,0xC0,0x02,0xBC,0x02,0xC4,0x02,0xC4,0x02,0xC9,0x02,0xC9,0x02,0xCD,0x02,0xD1,0x02,0xD6,\
0x02,0xDA,0x02,0xDA,0x02,0xDA,0x02,0xDA,0x02,0xD1,0x02,0xD1,0x02,0xD1,0x02,0xD1,0x02,0xA1,0x03,0x4B,0x02,0x83,0x02,0x7A,0x02,0x7A,0x02,0x83,0x02,0x83,0x02,0x83,\
0x02,0x87,0x02,0x94,0x02,0x94,0x02,0x94,0x02,0x99,0x02,0xA6,0x02,0xA6,0x02,0xB3,0x02,0xB7,0x02,0xC0,0x02,0xBC,0x02,0xCD,0x02,0xD6,0x02,0xDA,0x02,0xDA,0x02,0xDE,\
0x02,0xDE,0x02,0xE3,0x02,0xE7,0x02,0xEB,0x02,0xF0,0x02,0xF0,0x02,0xEB,0x02,0xE3,0x02,0xE3,0x02,0xE7,0x02,0xEB,0x03,0xAF,0x02,0xC4,0x02,0x72,0x02,0x72,0x02,0x72,\
0x02,0x7A,0x02,0x7A,0x02,0x83,0x02,0x83,0x02,0x8C,0x02,0x8C,0x02,0x94,0x02,0x94,0x02,0xA1,0x02,0xA1,0x02,0xB3,0x02,0xB7,0x02,0xC0,0x02,0xBC,0x02,0xC4,0x02,0xCD,\
0x02,0xCD,0x02,0xD1,0x02,0xD6,0x02,0xDA,0x02,0xDA,0x02,0xDE,0x02,0xE7,0x02,0xE7,0x02,0xE7,0x02,0xE3,0x02,0xDE,0x02,0xDE,0x02,0xDE,0x02,0xE7,0x03,0x54,0x02,0xD1,\
0x02,0x6D,0x02,0x6D,0x02,0x6D,0x02,0x76,0x02,0x7F,0x02,0x7F,0x02,0x7F,0x02,0x8C,0x02,0x90,0x02,0x90,0x02,0x99,0x02,0xA1,0x02,0xA1,0x02,0xAE,0x02,0xB3,0x02,0xBC,\
0x02,0xB7,0x02,0xC4,0x02,0xC9,0x02,0xC9,0x02,0xCD,0x02,0xD1,0x02,0xD6,0x02,0xDA,0x02,0xDE,0x02,0xDE,0x02,0xE3,0x02,0xE3,0x02,0xDE,0x02,0xDE,0x02,0xDE,0x02,0xDE,\
0x02,0xDA,0x03,0x01,0x02,0xD1,0x02,0x6D,0x02,0x6D,0x02,0x6D,0x02,0x76,0x02,0x76,0x02,0x7F,0x02,0x7F,0x02,0x8C,0x02,0x90,0x02,0x90,0x02,0x99,0x02,0x9D,0x02,0xA1,\
0x02,0xAE,0x02,0xB3,0x02,0xB3,0x02,0xB3,0x02,0xC0,0x02,0xC9,0x02,0xC9,0x02,0xCD,0x02,0xD1,0x02,0xD1,0x02,0xD6,0x02,0xDA,0x02,0xDE,0x02,0xDE,0x02,0xDE,0x02,0xDE,\
0x02,0xDA,0x02,0xDA,0x02,0xDE,0x02,0xD6,0x02,0xFD,0x02,0xC9,0x02,0x65,0x02,0x65,0x02,0x72,0x02,0x7A,0x02,0x7A,0x02,0x83,0x02,0x83,0x02,0x87,0x02,0x90,0x02,0x94,\
0x02,0x94,0x02,0x9D,0x02,0xA1,0x02,0xAA,0x02,0xB3,0x02,0xB3,0x02,0xB3,0x02,0xC4,0x02,0xC9,0x02,0xC9,0x02,0xCD,0x02,0xD1,0x02,0xD6,0x02,0xDA,0x02,0xDA,0x02,0xE3,\
0x02,0xE3,0x02,0xE3,0x02,0xE3,0x02,0xDA,0x02,0xDE,0x02,0xDE,0x02,0xDA,0x03,0x05,0x02,0xDE,0x02,0x7A,0x02,0x7A,0x02,0x7A,0x02,0x7A,0x02,0x83,0x02,0x83,0x02,0x83,\
0x02,0x8C,0x02,0x94,0x02,0x94,0x02,0x99,0x02,0xA1,0x02,0xA6,0x02,0xB3,0x02,0xB7,0x02,0xBC,0x02,0xBC,0x02,0xC9,0x02,0xD1,0x02,0xD1,0x02,0xD6,0x02,0xDA,0x02,0xDA,\
0x02,0xE3,0x02,0xE3,0x02,0xE7,0x02,0xEB,0x02,0xE7,0x02,0xE7,0x02,0xE3,0x02,0xE3,0x02,0xE3,0x02,0xE3,0x03,0x12,0x02,0xD1,0x02,0x76,0x02,0x76,0x02,0x76,0x02,0x7A,\
0x02,0x7F,0x02,0x83,0x02,0x8C,0x02,0x8C,0x02,0x90,0x02,0x94,0x02,0x9D,0x02,0xA1,0x02,0xA6,0x02,0xAE,0x02,0xB3,0x02,0xBC,0x02,0xBC,0x02,0xC9,0x02,0xD1,0x02,0xD1,\
0x02,0xD6,0x02,0xDA,0x02,0xDE,0x02,0xDE,0x02,0xE3,0x02,0xE7,0x02,0xEB,0x02,0xE7,0x02,0xE7,0x02,0xE3,0x02,0xE3,0x02,0xE7,0x02,0xE3,0x03,0x12,0x02,0xD1,0x02,0x76,\
0x02,0x76,0x02,0x76,0x02,0x7F,0x02,0x87,0x02,0x90,0x02,0x90,0x02,0x99,0x02,0x9D,0x02,0xA1,0x02,0xA1,0x02,0xAA,0x02,0xAE,0x02,0xB3,0x02,0xBC,0x02,0xC0,0x02,0xC0,\
0x02,0xD1,0x02,0xD6,0x02,0xD6,0x02,0xDA,0x02,0xDE,0x02,0xDE,0x02,0xE7,0x02,0xE7,0x02,0xEB,0x02,0xEB,0x02,0xEB,0x02,0xEB,0x02,0xE7,0x02,0xE7,0x02,0xEB,0x02,0xE7,\
0x03,0x12,0x02,0xC9,0x02,0x7F,0x02,0x7F,0x02,0x7F,0x02,0x7F,0x02,0x87,0x02,0x8C,0x02,0x90,0x02,0x94,0x02,0x9D,0x02,0x9D,0x02,0xA1,0x02,0xAA,0x02,0xAE,0x02,0xB3,\
0x02,0xBC,0x02,0xC0,0x02,0xC0,0x02,0xD1,0x02,0xD6,0x02,0xDA,0x02,0xDA,0x02,0xDE,0x02,0xE3,0x02,0xE7,0x02,0xEB,0x02,0xF0,0x02,0xF0,0x02,0xF0,0x02,0xF0,0x02,0xE7,\
0x02,0xEB,0x02,0xEB,0x02,0xF4,0x03,0x65,0x03,0x5C,0x02,0x87,0x02,0x87,0x02,0x87,0x02,0x87,0x02,0x94,0x02,0x94,0x02,0x99,0x02,0xA6,0x02,0xA6,0x02,0xA6,0x02,0xAE,\
0x02,0xB7,0x02,0xBC,0x02,0xC4,0x02,0xC4,0x02,0xC9,0x02,0xCD,0x02,0xD1,0x02,0xD6,0x02,0xD6,0x02,0xDA,0x02,0xDE,0x02,0xDE,0x02,0xE3,0x02,0xE7,0x02,0xF0,0x02,0xF0,\
0x02,0xF0,0x02,0xF0,0x02,0xE3,0x02,0xEB,0x02,0xEB,0x02,0xF0,0x03,0xBC,0x02,0x58,0x02,0x83,0x02,0x83,0x02,0x83,0x02,0x83,0x02,0x87,0x02,0x87,0x02,0x94,0x02,0x94,\
0x02,0x99,0x02,0x9D,0x02,0x9D,0x02,0xA6,0x02,0xA6,0x02,0xB7,0x02,0xB7,0x02,0xBC,0x02,0xBC,0x02,0xDA,0x02,0xDE,0x02,0xE3,0x02,0xE3,0x02,0xE7,0x02,0xEB,0x02,0xEB,\
0x02,0xF4,0x02,0xF8,0x02,0xF8,0x02,0xF8,0x02,0xFD,0x02,0xF4,0x02,0xF8,0x02,0xFD,0x02,0xF8,0x02,0xDA,0x02,0x4A,0x02,0x8C,0x02,0x8C,0x02,0x8C,0x02,0x8C,0x02,0x8C,\
0x02,0x90,0x02,0x90,0x02,0x9D,0x02,0x9D,0x02,0x9D,0x02,0xA1,0x02,0xAE,0x02,0xA6,0x02,0xB7,0x02,0xB7,0x02,0xBC,0x02,0xBC,0x02,0xDE,0x02,0xDE,0x02,0xE3,0x02,0xE3,\
0x02,0xE7,0x02,0xE7,0x02,0xEB,0x02,0xF0,0x02,0xF8,0x02,0xF8,0x02,0xF8,0x02,0xF8,0x02,0xF4,0x02,0xF4,0x02,0xF8,0x02,0xF8,0x02,0xD1,0x02,0x5C,0x02,0x90,0x02,0x90,\
0x02,0x90,0x02,0x90,0x02,0x90,0x02,0x90,0x02,0x90,0x02,0x9D,0x02,0xA1,0x02,0xA1,0x02,0xA1,0x02,0xAE,0x02,0xAE,0x02,0xB3,0x02,0xB7,0x02,0xBC,0x02,0xBC,0x02,0xDE,\
0x02,0xE3,0x02,0xE3,0x02,0xE3,0x02,0xE7,0x02,0xE7,0x02,0xEB,0x02,0xF0,0x02,0xF8,0x02,0xF8,0x02,0xF8,0x02,0xF8,0x02,0xF4,0x02,0xF8,0x02,0xF8,0x02,0xF8,0x02,0xD6};
const uint8_t phone_data_75_7401_7D01[]={0x46,0x54,0x52,0x59,0x01,0x06,0x94,0x01,0xD9,0xF5,0xF6,0xF5,0xF6,0xF7,0xF7,0xF9,0xFB,0xFB,0xFD,0xFE,0x00,0x01,0x03,0x06,0x07,0x08,0x02,0x02,0x02,0x02,0x04,0x03,\
0x05,0x07,0x07,0x08,0x08,0x08,0x06,0x06,0x07,0x07,0xE4,0x17,0xFB,0xFB,0xFA,0xFB,0xFC,0xFD,0xFE,0xFF,0x00,0x01,0x02,0x04,0x05,0x07,0x09,0x0B,0x0B,0x0A,0x0A,0x0B,\
0x0B,0x0E,0x0C,0x0E,0x11,0x11,0x12,0x12,0x11,0x10,0x0F,0x10,0x12,0x2B,0x19,0xFB,0xFB,0xFB,0xFC,0xFD,0xFE,0xFF,0x00,0x00,0x02,0x03,0x05,0x06,0x08,0x0A,0x0B,0x0C,\
0x0B,0x0B,0x0B,0x0D,0x10,0x0D,0x10,0x12,0x13,0x14,0x13,0x13,0x12,0x11,0x12,0x13,0x30,0x18,0xFC,0xFC,0xFC,0xFD,0xFE,0xFF,0xFF,0x00,0x01,0x03,0x04,0x06,0x07,0x09,\
0x0B,0x0C,0x0D,0x0C,0x0B,0x0D,0x0F,0x11,0x10,0x13,0x14,0x15,0x15,0x15,0x14,0x14,0x14,0x15,0x15,0x32,0x19,0xFC,0xFC,0xFC,0xFD,0xFE,0xFF,0x00,0x01,0x02,0x04,0x05,\
0x06,0x07,0x0A,0x0C,0x0D,0x0D,0x0D,0x0C,0x0F,0x10,0x12,0x10,0x14,0x15,0x16,0x16,0x17,0x15,0x15,0x15,0x16,0x16,0x33,0x1B,0xFD,0xFD,0xFD,0xFE,0xFF,0x00,0x01,0x02,\
0x03,0x04,0x05,0x07,0x08,0x0A,0x0C,0x0D,0x0E,0x0E,0x0E,0x10,0x12,0x13,0x12,0x15,0x16,0x17,0x17,0x17,0x16,0x16,0x16,0x17,0x16,0x35,0x1D,0xFD,0xFD,0xFD,0xFF,0x00,\
0x00,0x01,0x03,0x03,0x05,0x06,0x07,0x08,0x0A,0x0C,0x0D,0x0E,0x0F,0x0E,0x12,0x12,0x14,0x14,0x15,0x17,0x17,0x18,0x18,0x18,0x17,0x17,0x18,0x18,0x37,0x1E,0xFC,0xFD,\
0xFD,0xFE,0xFF,0x00,0x01,0x02,0x03,0x04,0x05,0x07,0x07,0x09,0x0C,0x0D,0x0E,0x0F,0x0E,0x12,0x12,0x14,0x12,0x15,0x17,0x17,0x18,0x18,0x18,0x16,0x17,0x18,0x14,0x20,\
0x1E,0xFC,0xFD,0xFC,0xFD,0xFF,0x00,0x00,0x02,0x02,0x04,0x04,0x06,0x07,0x09,0x0C,0x0C,0x0D,0x0E,0x0E,0x11,0x12,0x14,0x12,0x15,0x16,0x17,0x17,0x17,0x17,0x16,0x17,\
0x17,0x14,0x1F,0x1B,0xFC,0xFC,0xFC,0xFD,0xFE,0xFF,0xFF,0x01,0x02,0x03,0x04,0x06,0x07,0x09,0x0B,0x0C,0x0D,0x0E,0x0E,0x11,0x11,0x13,0x12,0x14,0x16,0x16,0x17,0x17,\
0x17,0x16,0x16,0x17,0x17,0x36,0x19,0xFC,0xFC,0xFC,0xFC,0xFE,0xFF,0xFF,0x00,0x01,0x02,0x04,0x05,0x07,0x09,0x0B,0x0B,0x0D,0x0D,0x0D,0x10,0x11,0x13,0x10,0x13,0x15,\
0x16,0x16,0x16,0x16,0x15,0x16,0x16,0x17,0x34,0x17,0xFB,0xFC,0xFB,0xFB,0xFC,0xFD,0xFE,0xFF,0x00,0x02,0x03,0x05,0x06,0x08,0x09,0x0A,0x0B,0x0D,0x0D,0x0F,0x10,0x11,\
0x10,0x12,0x14,0x15,0x15,0x15,0x15,0x14,0x15,0x16,0x16,0x33,0x16,0xFB,0xFB,0xFB,0xFB,0xFB,0xFC,0xFD,0xFF,0x00,0x02,0x03,0x04,0x05,0x07,0x09,0x09,0x0A,0x0C,0x0B,\
0x0E,0x0E,0x11,0x0F,0x12,0x13,0x14,0x14,0x14,0x14,0x13,0x14,0x15,0x15,0x32,0x17,0xFA,0xFA,0xF9,0xF9,0xFA,0xFB,0xFC,0xFE,0x00,0x01,0x02,0x03,0x04,0x06,0x07,0x08,\
0x09,0x0C,0x0A,0x0B,0x0C,0x0F,0x0D,0x0F,0x12,0x13,0x12,0x13,0x13,0x12,0x11,0x13,0x14,0x31,0x13,0xF8,0xF8,0xF8,0xF8,0xF9,0xFA,0xFB,0xFD,0xFE,0xFF,0x00,0x02,0x02,\
0x04,0x06,0x06,0x07,0x0A,0x09,0x0A,0x0A,0x0C,0x0B,0x0D,0x10,0x10,0x11,0x11,0x10,0x10,0x0E,0x10,0x12,0x2D,0xC9,0xF0,0xF0,0xF0,0xF0,0xF1,0xF1,0xF3,0xF5,0xF6,0xF7,\
0xF7,0xF9,0xFA,0xFC,0xFD,0xFD,0xFE,0x07,0x06,0x06,0x07,0x08,0x08,0x0A,0x0C,0x0C,0x0D,0x0E,0x0F,0x0E,0x0D,0x0F,0x11,0xED};
const uint8_t phone_data_75_7401_7D02[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_75_7401_7D03[]={0x46,0x54,0x4D,0x33,0x01,0x03,0x96,0x01,0xE4,0x01,0x01,0xFD,0x01,0x01,0xFF,0x01,0x05,0x01,0x05,0x01,0x01,0x05,0x03,0x05,0x09,0x07,0x01,0x03,0xFF,0xFD,0xFF,0xFF,\
0x01,0x03,0x01,0x03,0x01,0x05,0x01,0x01,0xFD,0xFD,0xD0,0x26,0x09,0x09,0x05,0x05,0x07,0x05,0x03,0x07,0x05,0x09,0x05,0x03,0x09,0x0E,0x07,0x0E,0x09,0x09,0x09,0x09,\
0x09,0x0B,0x05,0x07,0x0E,0x09,0x0B,0x09,0x09,0x05,0x09,0x05,0x09,0x2B,0x2A,0x07,0x07,0x07,0x07,0x07,0x03,0x07,0x07,0x03,0x0B,0x07,0x03,0x09,0x0E,0x07,0x0E,0x0B,\
0x0B,0x07,0x0B,0x09,0x0B,0x07,0x07,0x10,0x0E,0x10,0x07,0x0B,0x05,0x07,0x07,0x09,0x31,0x2A,0x07,0x09,0x07,0x07,0x09,0x05,0x05,0x09,0x05,0x09,0x05,0x05,0x09,0x09,\
0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x05,0x09,0x10,0x09,0x0B,0x09,0x0D,0x05,0x09,0x05,0x05,0x2F,0x28,0x09,0x09,0x09,0x07,0x09,0x05,0x05,0x09,0x05,0x09,0x05,\
0x05,0x09,0x09,0x09,0x0E,0x09,0x09,0x09,0x09,0x09,0x0D,0x05,0x09,0x10,0x0E,0x10,0x09,0x09,0x05,0x09,0x05,0x09,0x2F,0x2C,0x09,0x0E,0x09,0x09,0x09,0x05,0x07,0x09,\
0x05,0x0D,0x09,0x05,0x0B,0x09,0x09,0x0E,0x0B,0x0D,0x09,0x0D,0x09,0x0B,0x05,0x09,0x10,0x09,0x0B,0x09,0x0B,0x07,0x09,0x07,0x05,0x2F,0x2A,0x07,0x0E,0x07,0x07,0x0E,\
0x05,0x05,0x09,0x05,0x09,0x09,0x05,0x09,0x0E,0x09,0x0E,0x09,0x09,0x09,0x09,0x09,0x09,0x05,0x07,0x0E,0x09,0x0B,0x05,0x09,0x05,0x09,0x05,0x09,0x2F,0x2F,0x09,0x0E,\
0x09,0x09,0x0E,0x05,0x05,0x09,0x05,0x0D,0x05,0x05,0x09,0x09,0x09,0x0E,0x09,0x09,0x09,0x09,0x09,0x09,0x05,0x09,0x0E,0x09,0x0B,0x07,0x09,0x05,0x09,0x05,0x01,0x12,\
0x2F,0x09,0x09,0x09,0x09,0x09,0x05,0x09,0x07,0x05,0x0D,0x07,0x05,0x09,0x09,0x07,0x09,0x09,0x09,0x09,0x09,0x05,0x0D,0x05,0x09,0x0E,0x09,0x0B,0x09,0x09,0x03,0x09,\
0x05,0xFF,0x12,0x2C,0x09,0x0B,0x09,0x09,0x0B,0x07,0x07,0x0B,0x07,0x0D,0x07,0x07,0x0B,0x0B,0x07,0x0B,0x0B,0x0B,0x09,0x0B,0x07,0x0B,0x07,0x07,0x10,0x09,0x0B,0x09,\
0x09,0x03,0x09,0x07,0x07,0x2D,0x2A,0x07,0x0E,0x07,0x07,0x0E,0x05,0x05,0x09,0x05,0x0B,0x05,0x05,0x0B,0x09,0x07,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x05,0x07,0x0E,\
0x07,0x09,0x05,0x09,0x03,0x07,0x05,0x05,0x2F,0x28,0x09,0x0E,0x09,0x09,0x0E,0x05,0x05,0x09,0x05,0x0D,0x09,0x05,0x09,0x0E,0x09,0x0E,0x09,0x09,0x09,0x09,0x09,0x0D,\
0x05,0x09,0x12,0x09,0x0B,0x07,0x09,0x05,0x09,0x05,0x09,0x2D,0x28,0x0E,0x10,0x09,0x0E,0x0E,0x07,0x07,0x0B,0x07,0x0D,0x07,0x07,0x09,0x0E,0x07,0x0E,0x0B,0x0B,0x0B,\
0x0B,0x09,0x0B,0x07,0x07,0x10,0x0E,0x0B,0x09,0x0B,0x07,0x09,0x07,0x09,0x2D,0x2A,0x09,0x0E,0x09,0x09,0x0E,0x05,0x07,0x09,0x05,0x0B,0x09,0x05,0x0B,0x0E,0x09,0x09,\
0x09,0x09,0x09,0x09,0x09,0x0B,0x05,0x07,0x10,0x0E,0x0B,0x09,0x09,0x05,0x09,0x07,0x09,0x2F,0x28,0x07,0x0E,0x07,0x07,0x09,0x03,0x07,0x0B,0x05,0x0B,0x07,0x05,0x0B,\
0x0B,0x09,0x07,0x0B,0x0B,0x09,0x0B,0x09,0x0B,0x07,0x07,0x10,0x07,0x09,0x07,0x0D,0x07,0x07,0x09,0x0B,0x2D,0xDC,0x01,0x03,0x01,0x01,0x03,0xFD,0xFF,0x01,0xFF,0x01,\
0xFF,0xFF,0x01,0x03,0x01,0x03,0x03,0x0D,0x09,0x0B,0x09,0x0D,0x07,0x09,0x12,0x0E,0x10,0x0B,0x0D,0x09,0x0B,0x0D,0x0D,0xE4};
const uint8_t phone_data_75_7403_7D01[]={0x46,0x54,0x52,0x59,0x01,0x05,0xAA,0x01,0xD7,0xF5,0xF5,0xF3,0xF3,0xF5,0xF5,0xF7,0xF8,0xFA,0xFC,0xFC,0xFF,0x00,0x02,0x04,0x07,0x08,0x01,0x04,0x04,0x04,0x02,0x03,\
0x04,0x04,0x06,0x08,0x07,0x07,0x05,0x07,0x06,0x08,0xE2,0x17,0xFA,0xFB,0xFA,0xF9,0xFA,0xFA,0xFE,0xFE,0xFF,0x01,0x03,0x04,0x05,0x08,0x09,0x0B,0x0B,0x0A,0x0B,0x0C,\
0x0C,0x0B,0x0D,0x0E,0x0E,0x11,0x12,0x11,0x11,0x10,0x10,0x11,0x11,0x2F,0x18,0xF9,0xF8,0xF9,0xF8,0xF9,0xF9,0xFB,0xFC,0xFE,0x00,0x01,0x04,0x06,0x08,0x0B,0x09,0x0A,\
0x09,0x0C,0x0C,0x0C,0x0A,0x0F,0x0E,0x10,0x13,0x14,0x13,0x10,0x12,0x0F,0x10,0x10,0x32,0x15,0xF7,0xF6,0xF6,0xF7,0xF7,0xF8,0xFA,0xFA,0xFB,0xFE,0xFE,0x00,0x02,0x04,\
0x05,0x07,0x07,0x06,0x07,0x08,0x08,0x08,0x0A,0x0B,0x0A,0x0D,0x0E,0x0E,0x0D,0x0C,0x0D,0x0D,0x0D,0x2E,0x19,0xFA,0xF9,0xFA,0xFA,0xFC,0xFC,0xFE,0xFF,0x00,0x02,0x03,\
0x05,0x06,0x08,0x0B,0x0C,0x0C,0x0C,0x0D,0x0E,0x0F,0x0D,0x10,0x12,0x11,0x14,0x15,0x14,0x14,0x13,0x13,0x14,0x13,0x35,0x1B,0xFD,0xFC,0xFB,0xFC,0xFE,0xFD,0x01,0x01,\
0x01,0x03,0x05,0x06,0x07,0x09,0x0B,0x0C,0x0D,0x0D,0x0E,0x0F,0x10,0x0E,0x11,0x12,0x12,0x15,0x15,0x15,0x15,0x14,0x14,0x15,0x15,0x37,0x1D,0xFC,0xFC,0xFB,0xFD,0xFE,\
0xFD,0x00,0x01,0x01,0x04,0x05,0x06,0x07,0x09,0x0A,0x0D,0x0E,0x0E,0x0E,0x10,0x10,0x0F,0x12,0x13,0x12,0x16,0x16,0x16,0x16,0x15,0x15,0x16,0x16,0x38,0x1F,0xFD,0xFC,\
0xFC,0xFD,0xFE,0xFE,0x01,0x02,0x03,0x04,0x06,0x07,0x07,0x0A,0x0C,0x0D,0x0E,0x10,0x10,0x11,0x11,0x11,0x13,0x14,0x13,0x16,0x17,0x17,0x17,0x16,0x17,0x17,0x15,0x25,\
0x1D,0xFA,0xF9,0xFA,0xF9,0xFC,0xFB,0xFE,0xFE,0xFF,0x01,0x03,0x04,0x04,0x07,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0E,0x0E,0x10,0x11,0x10,0x13,0x14,0x14,0x14,0x13,0x13,\
0x15,0x11,0x22,0x1C,0xFA,0xFA,0xFA,0xFA,0xFC,0xFB,0xFE,0xFE,0x00,0x01,0x03,0x04,0x05,0x08,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x0E,0x11,0x12,0x11,0x15,0x15,0x15,\
0x15,0x14,0x15,0x16,0x16,0x38,0x18,0xFA,0xFA,0xFA,0xF9,0xFA,0xFB,0xFE,0xFE,0xFF,0x01,0x02,0x04,0x05,0x07,0x09,0x0B,0x0C,0x0D,0x0D,0x0E,0x0F,0x0E,0x10,0x11,0x11,\
0x14,0x14,0x14,0x15,0x13,0x14,0x15,0x15,0x36,0x17,0xF9,0xF9,0xF9,0xF8,0xF9,0xF9,0xFC,0xFC,0xFE,0x00,0x02,0x03,0x04,0x06,0x08,0x09,0x0A,0x0C,0x0C,0x0D,0x0E,0x0C,\
0x0F,0x10,0x10,0x12,0x13,0x13,0x13,0x12,0x12,0x14,0x14,0x35,0x16,0xF8,0xF8,0xF8,0xF7,0xF8,0xF8,0xFB,0xFC,0xFE,0x00,0x01,0x03,0x03,0x05,0x07,0x08,0x09,0x0B,0x0B,\
0x0C,0x0C,0x0B,0x0D,0x0F,0x0E,0x12,0x12,0x12,0x12,0x11,0x12,0x12,0x13,0x34,0x17,0xF9,0xF9,0xF8,0xF7,0xF8,0xF8,0xFC,0xFD,0xFE,0x00,0x02,0x03,0x04,0x05,0x07,0x08,\
0x09,0x0B,0x0C,0x0C,0x0D,0x0C,0x0E,0x0F,0x0F,0x12,0x12,0x12,0x12,0x11,0x12,0x13,0x13,0x35,0x13,0xF8,0xF7,0xF6,0xF6,0xF8,0xF9,0xFB,0xFC,0xFD,0x00,0x01,0x03,0x02,\
0x04,0x06,0x06,0x07,0x0B,0x0B,0x0B,0x0C,0x0A,0x0D,0x0E,0x0E,0x10,0x11,0x11,0x11,0x10,0x10,0x11,0x12,0x31,0xC8,0xEE,0xEE,0xED,0xEE,0xEE,0xEE,0xF1,0xF2,0xF4,0xF4,\
0xF5,0xF7,0xF7,0xFA,0xFB,0xFE,0xFF,0x09,0x07,0x07,0x08,0x06,0x08,0x08,0x08,0x0B,0x0C,0x0B,0x0C,0x0B,0x0B,0x0C,0x0D,0xE9};
const uint8_t phone_data_75_7403_7D03[]={0x46,0x54,0x4D,0x33,0x01,0x01,0x9D,0x01,0xE7,0x04,0x02,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x06,0x04,0x04,0x08,0x08,0x08,0x0C,0x08,0x02,0x01,0x01,0x00,0x01,0x00,\
0x02,0x01,0x04,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0xCE,0x2B,0x0C,0x0A,0x08,0x08,0x0A,0x02,0x04,0x06,0x04,0x08,0x06,0x06,0x08,0x0A,0x08,0x0C,0x08,0x08,0x08,0x0A,\
0x08,0x0A,0x06,0x0C,0x0A,0x0C,0x0C,0x0C,0x0A,0x04,0x06,0x06,0x0A,0x2B,0x2B,0x0A,0x08,0x08,0x04,0x08,0x04,0x04,0x06,0x04,0x06,0x04,0x06,0x08,0x08,0x08,0x0C,0x08,\
0x06,0x06,0x08,0x08,0x0A,0x06,0x0A,0x0A,0x0C,0x0C,0x0A,0x0A,0x04,0x06,0x04,0x0A,0x30,0x2B,0x08,0x08,0x08,0x04,0x06,0x04,0x04,0x04,0x04,0x08,0x06,0x06,0x08,0x08,\
0x06,0x0C,0x06,0x06,0x06,0x08,0x08,0x0A,0x06,0x0A,0x0A,0x0C,0x0C,0x06,0x08,0x06,0x06,0x04,0x0A,0x30,0x2B,0x0A,0x08,0x06,0x04,0x08,0x04,0x04,0x04,0x04,0x06,0x04,\
0x06,0x08,0x08,0x08,0x0A,0x06,0x06,0x04,0x08,0x08,0x08,0x04,0x06,0x08,0x08,0x0A,0x06,0x08,0x04,0x04,0x04,0x0A,0x2E,0x2B,0x06,0x0A,0x08,0x04,0x08,0x04,0x04,0x06,\
0x04,0x08,0x04,0x06,0x08,0x08,0x08,0x0C,0x06,0x06,0x06,0x08,0x08,0x08,0x04,0x06,0x0A,0x0C,0x0A,0x06,0x08,0x04,0x04,0x06,0x0A,0x30,0x2F,0x08,0x0A,0x08,0x08,0x0A,\
0x04,0x06,0x06,0x04,0x08,0x04,0x06,0x0A,0x08,0x06,0x0C,0x06,0x06,0x06,0x0A,0x08,0x0A,0x04,0x06,0x08,0x0C,0x0A,0x06,0x08,0x04,0x04,0x06,0x0A,0x30,0x31,0x08,0x08,\
0x08,0x04,0x08,0x04,0x04,0x06,0x04,0x08,0x06,0x06,0x08,0x08,0x06,0x08,0x06,0x06,0x06,0x08,0x08,0x08,0x04,0x04,0x08,0x08,0x08,0x06,0x08,0x04,0x06,0x04,0x04,0x15,\
0x31,0x06,0x08,0x08,0x04,0x0A,0x04,0x04,0x06,0x04,0x08,0x06,0x06,0x0A,0x08,0x06,0x0A,0x06,0x06,0x06,0x08,0x06,0x08,0x04,0x06,0x08,0x08,0x08,0x06,0x08,0x04,0x04,\
0x04,0x04,0x15,0x2D,0x08,0x08,0x08,0x04,0x06,0x04,0x04,0x04,0x04,0x06,0x06,0x06,0x08,0x08,0x06,0x0A,0x06,0x06,0x06,0x08,0x06,0x08,0x04,0x04,0x08,0x08,0x06,0x04,\
0x08,0x04,0x04,0x04,0x0A,0x2E,0x2B,0x0A,0x0A,0x08,0x08,0x08,0x04,0x04,0x04,0x04,0x08,0x06,0x06,0x08,0x08,0x06,0x0A,0x06,0x06,0x04,0x08,0x06,0x0A,0x04,0x06,0x08,\
0x08,0x0A,0x06,0x06,0x04,0x04,0x02,0x08,0x2E,0x29,0x0A,0x0A,0x08,0x04,0x08,0x04,0x04,0x04,0x04,0x08,0x04,0x04,0x08,0x08,0x06,0x0A,0x06,0x06,0x04,0x08,0x06,0x08,\
0x04,0x04,0x08,0x08,0x06,0x06,0x08,0x02,0x04,0x02,0x08,0x2E,0x29,0x0A,0x0A,0x0A,0x08,0x08,0x04,0x06,0x06,0x04,0x08,0x06,0x06,0x08,0x08,0x08,0x0A,0x06,0x06,0x06,\
0x08,0x08,0x0A,0x04,0x06,0x0A,0x0C,0x0A,0x06,0x08,0x04,0x06,0x06,0x0A,0x30,0x2B,0x0C,0x0A,0x08,0x08,0x0A,0x04,0x06,0x06,0x06,0x08,0x06,0x06,0x0A,0x08,0x06,0x0C,\
0x06,0x08,0x08,0x0A,0x08,0x08,0x04,0x06,0x0A,0x0C,0x0A,0x08,0x0A,0x04,0x06,0x06,0x0C,0x32,0x29,0x0C,0x0A,0x0A,0x0A,0x0A,0x04,0x06,0x06,0x06,0x08,0x06,0x08,0x0A,\
0x0A,0x08,0x0C,0x06,0x08,0x06,0x0A,0x0A,0x0A,0x06,0x0A,0x0A,0x0C,0x0A,0x0A,0x0A,0x04,0x06,0x06,0x0C,0x2E,0xDA,0x02,0x04,0x04,0x00,0x02,0xFE,0x00,0x02,0x02,0x00,\
0x02,0x02,0x00,0x02,0x02,0x04,0x02,0x0E,0x0A,0x0C,0x0C,0x0C,0x08,0x0E,0x0E,0x12,0x10,0x0E,0x0E,0x0E,0x0C,0x0E,0x12,0xE3};
const uint8_t phone_data_75_7D05[]={0x46,0x4D,0x53,0x43,0x00,0x07,0x16,0x00,0x13,0x06,0x05,0x07,0x07,0x05,0x08,0x07,0x07,0x06,0x08,0x07,0x07,0x05,0x06,0x07,0x06,0x08,0x09,0x04,0x06,0x06,0x07,0x05,\
0x06,0x06,0x06,0x06,0x05,0x04,0x06,0x05,0x03,0x0A,0x00,0x14,0x05,0x07,0x07,0x07,0x07,0x08,0x0A,0x07,0x08,0x09,0x07,0x06,0x08,0x08,0x06,0x06,0x0A,0x08,0x06,0x07,\
0x07,0x05,0x06,0x06,0x06,0x06,0x06,0x04,0x05,0x05,0x04,0x05,0x0D,0x00,0x14,0x07,0x07,0x08,0x07,0x08,0x09,0x0A,0x09,0x07,0x0A,0x08,0x09,0x09,0x09,0x06,0x06,0x08,\
0x08,0x06,0x07,0x07,0x06,0x07,0x06,0x05,0x06,0x07,0x05,0x06,0x05,0x04,0x04,0x0F,0x00,0x11,0x06,0x04,0x08,0x08,0x06,0x07,0x07,0x07,0x08,0x0B,0x08,0x08,0x0B,0x07,\
0x08,0x07,0x08,0x06,0x06,0x05,0x06,0x06,0x08,0x06,0x05,0x07,0x05,0x06,0x05,0x05,0x05,0x03,0x0F,0x00,0x14,0x06,0x05,0x07,0x07,0x09,0x07,0x09,0x09,0x09,0x09,0x08,\
0x09,0x09,0x08,0x07,0x06,0x09,0x08,0x09,0x08,0x07,0x07,0x06,0x07,0x07,0x09,0x08,0x05,0x04,0x05,0x04,0x04,0x0F,0x00,0x16,0x07,0x06,0x07,0x07,0x08,0x09,0x07,0x08,\
0x08,0x08,0x09,0x08,0x07,0x09,0x08,0x07,0x0A,0x08,0x05,0x06,0x07,0x07,0x07,0x07,0x06,0x08,0x06,0x05,0x05,0x06,0x05,0x05,0x10,0x00,0x15,0x09,0x07,0x08,0x08,0x0B,\
0x0A,0x09,0x09,0x08,0x07,0x08,0x09,0x08,0x0A,0x08,0x07,0x09,0x08,0x08,0x07,0x07,0x06,0x06,0x07,0x05,0x06,0x07,0x04,0x06,0x04,0x05,0x05,0x0F,0x00,0x15,0x06,0x05,\
0x09,0x07,0x0A,0x09,0x07,0x08,0x0A,0x09,0x0A,0x09,0x0B,0x09,0x09,0x06,0x09,0x08,0x08,0x08,0x08,0x06,0x07,0x06,0x06,0x05,0x06,0x06,0x07,0x05,0x06,0x06,0x0F,0x00,\
0x13,0x07,0x06,0x07,0x06,0x09,0x07,0x09,0x09,0x0B,0x06,0x08,0x07,0x0A,0x08,0x09,0x07,0x0A,0x07,0x07,0x08,0x08,0x07,0x06,0x08,0x06,0x06,0x06,0x06,0x06,0x05,0x04,\
0x04,0x0C,0x00,0x11,0x06,0x07,0x04,0x08,0x09,0x09,0x07,0x08,0x09,0x08,0x06,0x08,0x0A,0x09,0x05,0x08,0x08,0x0A,0x08,0x08,0x07,0x06,0x07,0x04,0x05,0x06,0x06,0x04,\
0x05,0x05,0x03,0x05,0x10,0x00,0x15,0x09,0x05,0x08,0x09,0x09,0x07,0x06,0x09,0x09,0x08,0x08,0x08,0x0A,0x07,0x08,0x07,0x08,0x07,0x07,0x07,0x05,0x06,0x06,0x06,0x05,\
0x06,0x04,0x05,0x06,0x05,0x04,0x04,0x0F,0x00,0x12,0x04,0x05,0x07,0x07,0x0B,0x08,0x07,0x09,0x09,0x09,0x08,0x08,0x07,0x07,0x07,0x06,0x08,0x08,0x05,0x05,0x04,0x06,\
0x06,0x05,0x06,0x05,0x06,0x05,0x05,0x04,0x03,0x03,0x0F,0x00,0x0F,0x04,0x06,0x05,0x07,0x07,0x07,0x08,0x07,0x06,0x06,0x07,0x06,0x05,0x07,0x08,0x08,0x09,0x06,0x06,\
0x06,0x07,0x05,0x05,0x04,0x03,0x06,0x07,0x05,0x05,0x05,0x03,0x04,0x0E,0x00,0x12,0x05,0x07,0x07,0x06,0x08,0x08,0x08,0x08,0x07,0x08,0x08,0x09,0x08,0x08,0x08,0x07,\
0x09,0x07,0x06,0x06,0x09,0x04,0x06,0x0A,0x07,0x06,0x07,0x04,0x04,0x04,0x05,0x04,0x0F,0x00,0x11,0x07,0x07,0x07,0x0B,0x06,0x08,0x09,0x08,0x08,0x07,0x07,0x07,0x07,\
0x09,0x06,0x07,0x09,0x08,0x06,0x05,0x07,0x03,0x07,0x06,0x04,0x04,0x07,0x04,0x04,0x05,0x05,0x05,0x10,0x00,0x13,0x06,0x07,0x05,0x06,0x08,0x07,0x06,0x06,0x08,0x08,\
0x08,0x07,0x08,0x06,0x08,0x06,0x08,0x06,0x07,0x05,0x06,0x06,0x05,0x06,0x05,0x05,0x04,0x04,0x04,0x04,0x05,0x05,0x0A,0x00};
const uint8_t phone_data_75_7403_7D07[]={0x05,0x04,0x04,0x07,0x04,0x04,0x05,0x05,0x05,0x04,0x05,0x03,0x04,0x04,0x05,0x04,0x04,0x04,0x05,0x03,0x03,0x04,0x04,0x00,0x05,0x04,0x05,0x04,0x05,0x04,0x04,0x04,\
0x05,0x05,0x04,0x04,0x05,0x05,0x04,0x04,0x04,0x04,0x03,0x0A,0x04,0x04,0x04,0x05,0x05,0x05,0x06,0x07,0x05,0x08,0x04,0x05,0x06,0x04,0x04,0x03,0x03,0x03,0x06,0x00,\
0x05,0x04,0x05,0x04,0x04,0x04,0x04,0x04,0x03,0x04,0x04,0x03,0x06,0x03,0x04,0x04,0x06,0x04,0x04,0x06,0x05,0x04,0x03,0x06,0x05,0x04,0x05,0x04,0x04,0x05,0x05,0x04,\
0x04,0x05,0x04,0x04,0x04,0x05,0x04,0x00,0x07,0x05,0x06,0x08,0x08,0x06,0x06,0x06,0x06,0x06,0x07,0x05,0x06,0x05,0x07,0x06,0x06,0x06,0x04,0x06,0x05,0x05,0x05,0x05,\
0x04,0x03,0x04,0x05,0x04,0x05,0x04,0x05,0x05,0x04,0x04,0x03,0x04,0x04,0x06,0x00,0x04,0x05,0x04,0x05,0x04,0x05,0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x04,0x03,0x04,\
0x04,0x04,0x04,0x07,0x05,0x04,0x04,0x05,0x04,0x05,0x04,0x05,0x05,0x06,0x04,0x04,0x04,0x04,0x03,0x04,0x05,0x05,0x05,0x00,0x04,0x04,0x07,0x05,0x06,0x05,0x05,0x05,\
0x07,0x03,0x04,0x05,0x05,0x06,0x04,0x05,0x06,0x04,0x04,0x05,0x04,0x03,0x04,0x04,0x05,0x04,0x03,0x05,0x05,0x06,0x04,0x04,0x05,0x05,0x04,0x05,0x05,0x04,0x05,0x00,\
0x05,0x05,0x04,0x07,0x04,0x05,0x05,0x05,0x04,0x05,0x05,0x04,0x04,0x04,0x05,0x04,0x04,0x04,0x04,0x06,0x04,0x04,0x04,0x04,0x04,0x05,0x07,0x04,0x04,0x05,0x04,0x04,\
0x04,0x05,0x05,0x04,0x04,0x04,0x05,0x00,0x03,0x04,0x07,0x04,0x06,0x05,0x06,0x04,0x04,0x04,0x05,0x04,0x04,0x07,0x05,0x04,0x03,0x05,0x04,0x04,0x04,0x05,0x04,0x04};
const uint8_t phone_data_75_00[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,\
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
const uint8_t phone_data_75_FF[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,\
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF};
#endif
#endif
#endif

View File

@ -0,0 +1,23 @@
/*******************************************************************************
*
*
* File: hal_tp_screen_transfer_data.h
* Description start/sleep/awake
* Version V0.1
* Date 2021-10-14
* Author zhanghz
*******************************************************************************/
#ifndef __HAL_TP_SCREEN_TRANSFER_DATA_S8_H__
#define __HAL_TP_SCREEN_TRANSFER_DATA_S8_H__
#include "tau_common.h"
/***************send to screen***************/
const uint8_t screen_87_data[] = {0x87};
const uint8_t screen_a0_00_ff_data[] = {0xa0, 0x00, 0xff};
const uint8_t screen_a4_06_c1_data[] = {0xa4, 0x06, 0xc1};
/*******************************************/
#endif

View File

@ -0,0 +1,960 @@
/*******************************************************************************
*
*
* File: app_tp_transfer.c
* Description touch I2C/SPI
* Version V0.1
* Date 2021-10-14
* Author zhanghz
*******************************************************************************/
#include "test_cfg_global.h"
#include "app_tp_transfer.h"
#include "hal_i2c_master.h"
#include "hal_i2c_slave.h"
#include "hal_spi_master.h"
#include "hal_spi_slave.h"
#include "tau_log.h"
#include "tau_delay.h"
#if 1//def AP_TP_TRANSFER
uint8_t read_point; //当前要读的报点数。一个报点8BYTE数据
uint8_t s_screen_number[2];
uint8_t s_screen_temp[2];
//uint8_t s_screen_read_bak[200];
static uint8_t s_screen_read_buffer[BUFFER_SIZE_MAX];
static uint8_t s_phone_read_buffer[BUFFER_SIZE_MAX];
static bool s_spim_write = false; //记录SPI主机是否配置发送是的话需要清除RXFIFO
static bool s_screen_int_flag = false; //记录是否接收到屏幕的报点中断
static bool s_phone_reset_flag = false; //记录是否接收到手机的开机复位信号
static bool s_screen_int_transfer_status = false; //记录是否已经开始通信
bool s_screen_init_complate = false; //屏幕TP开机初始化完成标志
static uint8_t s_screen_const_transfer_count = 0xff; //记录当前通信到哪一步,初始值必须大于 screen_reg_start_data_size
st_tp_scan_data tp_scan_data;
#ifdef USE_FOR_SUMSUNG_S20
uint16_t u16TouchID;
#endif
static uint8_t g_clk_cnt = 0;
static void app_tp_transfer_phone(size_t recieve_num);
//static void app_tp_reset_callback(void *data);
#if PHONE_SLAVE_TRANSFER_I2C //消除warning
static void app_tp_i2cs_callback(e_i2c_s_int_status int_status, size_t recieve_num);
#endif
#if PHONE_SLAVE_TRANSFER_SPI //消除warning
static void app_tp_spis_callback(hal_spis_event_e event, hal_spi_packet_info_t *packet_info);
#endif
#ifdef USE_FOR_SUMSUNG_S21
uint8_t MI10_PRO_screen_init_data0[3] = {0xA0,0x00,0x00}; //2 sensor OFF
uint8_t MI10_PRO_screen_init_data1[3] = {0xA0,0x00,0x01}; //2 sensor on
uint8_t MI10_PRO_screen_init_data2[6] = {0xA2,0x03,0x00,0x00,0x00,0x03};
uint8_t MI10_PRO_screen_init_data3[3] = {0xA2,0x02,0x00};
uint8_t MI10_PRO_screen_init_data4[3] = {0xC0,0x07,0x01};
uint8_t MI10_PRO_screen_init_data5[3] = {0xA4,0x06,0x70};
uint8_t MI10_PRO_screen_init_data6[3] = {0xA6,0x00,0x00};
uint8_t MI10_PRO_screen_init_data7[5] = {0xFA,0x20,0x00,0x00,0x78};
uint8_t MI10_PRO_screen_init_data8[6] = {0xA2,0x03,0x20,0x00,0x00,0x00};
uint8_t MI10_PRO_screen_init_data9[2] = {0xA0,0x01};
uint8_t MI10_PRO_screen_init_data10[3] = {0xA0,0x00,0x00};
uint8_t MI10_PRO_screen_init_data11[3] = {0xA4,0x00,0x05};
#endif
#if 1//def ADD_TP_TUNING
uint8_t MI10_PRO_TP_Tuning_data1[3] = {0xA4,0x00,0x00}; // 3 System Reset
uint8_t MI10_PRO_TP_Tuning_data2[3] = {0xA4,0x00,0x03}; // FPnl Init
uint8_t MI10_PRO_TP_Tuning_data3[3] = {0xA4,0x00,0x02}; // Pnl Init
uint8_t MI10_PRO_TP_Tuning_data4[4] = {0xA4,0x03,0x13,0x00}; // TuneM
uint8_t MI10_PRO_TP_Tuning_data5[4] = {0xA4,0x03,0x0C,0x00}; // TuneS
uint8_t MI10_PRO_TP_Tuning_data6[3] = {0xA4,0x05,0x01}; // SvCfg
uint8_t MI10_PRO_TP_Tuning_data7[3] = {0xA4,0x05,0x02}; // SvCx
uint8_t MI10_PRO_TP_Tuning_data8[3] = {0xA4,0x05,0x04}; // SvPnl
uint8_t MI10_PRO_TP_Tuning_data9[3] = {0xA4,0x00,0x01}; // 1 clear fifo
#endif
/**************************************************************************
* @name : app_tp_screen_int_callback
* @brief : screen
* @param[in] :
* @return :
* @retval :
**************************************************************************/
static void app_tp_screen_int_callback(void *data)
{
s_screen_int_flag = true;
}
/**************************************************************************
* @name : app_tp_screen_int_lvl_low
* @brief : screen IO
* @param[in] :
* @return : trueIO
* @retval :
**************************************************************************/
static bool app_tp_screen_int_lvl_low(void)
{
uint8_t i = 1;
uint8_t j = 1;
#if SCREEN_MASTER_TRANSFER_I2C
// i=hal_gpio_get_input_data(g_screen_input_int_pad);
// j=hal_gpio_get_input_data(g_screen_input_int_pad);
// if((i+j)==0)
// {
// return true;
// }
//else
// {
// return false;
// }
return !hal_gpio_get_input_data(g_screen_input_int_pad);
#elif SCREEN_MASTER_TRANSFER_SPI
return !hal_gpio_get_input_data(g_screen_input_int_pad); //应对SPI主机通信过程中偶尔突然拉低CS 导致通信异常
#else
return false;
#endif
}
/**************************************************************************
* @name : app_tp_screen_int_init
* @brief : screen IO
* @param[in] :
* @return :
* @retval :
**************************************************************************/
static void app_tp_screen_int_init(void)
{
hal_gpio_set_pull_state(g_screen_input_int_pad, ENABLE, DISABLE); // 1.配置上拉
hal_gpio_ctrl_eint(g_screen_input_int_pad, DISABLE); // 2.关闭中断
hal_gpio_init_eint(g_screen_input_int_pad, DETECT_FALLING_EDGE); // 3.中断初始化,TP一般都是下降沿触发中断
hal_gpio_reg_eint_cb(g_screen_input_int_pad, app_tp_screen_int_callback); // 4.注册回调
hal_gpio_ctrl_eint(g_screen_input_int_pad, ENABLE); // 5.使能中断
}
#if 0
/**************************************************************************
* @name : app_tp_screen_reset_init
* @brief : phone reset IO
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_screen_reset(void)
{
// TAU_LOGD("tp_screen_reset \n");
hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH);
// hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
delayMs(10);
hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_LOW);
delayMs(20);
hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
}
#endif
/**************************************************************************
* @name : app_tp_screen_init
* @brief : screen IO
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_screen_init(void)
{
hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH);
delayUs(200);
hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_LOW);
delayUs(200);
hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
}
void app_tp_I2C_init(void)
{
hal_i2c_s_init(CHIP_I2C_ADDRESS, CHIP_I2C_ADDR_BITS);
hal_i2c_s_set_transfer(app_tp_i2cs_callback);
hal_i2c_s_nonblocking_read(s_phone_read_buffer, BUFFER_SIZE_MAX); //先配置接收 buffer
}
/**************************************************************************
* @name : app_tp_init
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_init(void)
{
#ifdef DISABLE_TDDI_I2C_FUNCTION
hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_HIGH); //配置phone报点输出中断IO口
hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH); //配置模组TP RESET
hal_gpio_set_mode(IO_PAD_TD_SPIM_CLK,IO_MODE_I2C1_SCL);
hal_gpio_set_mode(IO_PAD_TD_SPIM_CSN,IO_MODE_I2C1_SDA);
return;
#else
hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CLK, ENABLE, DISABLE);
hal_gpio_set_pull_state(IO_PAD_TD_SPIM_CSN, ENABLE, DISABLE);
#endif
app_tp_screen_init(); //初始化手机复位的IO口
//app_tp_screen_int_init(); //配置screen中断输入引脚
#ifdef G_PHONE_INT_DEFAULT_LOW
hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_LOW); //配置phone报点输出中断IO口
#else
hal_gpio_init_output(g_phone_output_int_pad, IO_LVL_HIGH); //配置phone报点输出中断IO口
#endif
hal_gpio_init_input(g_screen_input_int_pad);
// hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH); //配置模组TP RESET
#if SCREEN_MASTER_TRANSFER_I2C
hal_i2c_m_dma_init(SCREEN_I2C_ADDRESS, SCREEN_I2C_ADDR_BITS, I2C_MASTER_SPEED);
#elif SCREEN_MASTER_TRANSFER_SPI
hal_spi_m_dma_init(SPI_MASTER_SPEED, SCREEN_SPI_CPHA, SCREEN_SPI_CPOL);
#endif
#if PHONE_SLAVE_TRANSFER_I2C
// hal_i2c_s_init(CHIP_I2C_ADDRESS, CHIP_I2C_ADDR_BITS);
// hal_i2c_s_set_transfer(app_tp_i2cs_callback);
// hal_i2c_s_nonblocking_read(s_phone_read_buffer, BUFFER_SIZE_MAX); //先配置接收 buffer
#elif PHONE_SLAVE_TRANSFER_SPI
hal_spi_slave_init(PHONE_SPI_CPHA, PHONE_SPI_CPOL, true); // 初始化spi以及dma
hal_spi_slave_register_callback(app_tp_spis_callback); // 注册回调
hal_spi_slave_auto_transfer_abort(); // 停止传输
hal_spi_slave_flush_fifo(); // Flush FIFO
/* 每个packet自动接收, circle mode 为false, 即收到buffer max size数据后buffer不再更新, packet完成后调用回调 */
hal_spi_slave_set_auto_rx_buffer(s_phone_read_buffer, BUFFER_SIZE_MAX, false); // 设置auto rx buffer
hal_spi_slave_set_auto_tx_buffer(phone_reg_const_data[0].write_back, phone_reg_const_data[0].write_back_size, false); // 配置TX BUFFER
hal_spi_slave_enable(); // 启动spis
hal_spi_slave_auto_transfer_start(); // 启动rx自动接收
#endif
}
/**************************************************************************
* @name : app_tp_m_transfer_complate
* @brief :
* @param[in] :
* @return :true:
* @retval :
**************************************************************************/
bool app_tp_m_transfer_complate(void)
{
#if SCREEN_MASTER_TRANSFER_I2C
return hal_i2c_m_transfer_complate();
#elif SCREEN_MASTER_TRANSFER_SPI
return hal_spi_m_get_transfer_complate();
#else
return true;
#endif
}
/**************************************************************************
* @name : app_tp_s_transfer_complate
* @brief :
* @param[in] :
* @return :true:
* @retval :
**************************************************************************/
bool app_tp_s_transfer_complate(void)
{
#if SCREEN_MASTER_TRANSFER_I2C
return hal_i2c_s_write_complate() && hal_i2c_s_read_complate();
#elif SCREEN_MASTER_TRANSFER_SPI
return !hal_spi_slave_busy();
#else
return true;
#endif
}
/**************************************************************************
* @name : app_tp_m_write
* @brief : txbuffer中的数据
* @param[in] :txbuffer: buffer
* @param[in] :buffer_size: buffer
* @return :
* @retval :
**************************************************************************/
static void app_tp_m_write(const uint8_t *txbuffer, size_t buffer_size)
{
#if SCREEN_MASTER_TRANSFER_I2C
hal_i2c_m_dma_write(txbuffer, buffer_size);
#elif SCREEN_MASTER_TRANSFER_SPI
hal_spi_m_dma_write(txbuffer, buffer_size);
s_spim_write = true;
#endif
}
/**************************************************************************
* @name : app_tp_m_read
* @brief : txbuffer中的数据和rxbuffer
* @param[in] :cmd: buffer
* @param[in] :cmd_size: buffer
* @param[in] :data_buffer: buffer
* @param[in] :data_size: buffer
* @return :
* @retval :
**************************************************************************/
static void app_tp_m_read(const uint8_t *cmd, size_t cmd_size, uint8_t *data_buffer, size_t data_size)
{
#if SCREEN_MASTER_TRANSFER_I2C
uint8_t i = 0;
uint32_t address = 0;
for (i = 0; i < cmd_size; i++) //先将要发送的数据整合到 address
{
address |= (uint32_t)cmd[i] << i * 8;
}
hal_i2c_m_dma_read(address, cmd_size, data_buffer, data_size);
#elif SCREEN_MASTER_TRANSFER_SPI
hal_spi_m_dma_read(cmd, cmd_size, data_buffer, data_size);
#endif
}
/**************************************************************************
* @name : app_tp_s_write
* @brief : txbuffer中的数据
* @param[in] :txbuffer: buffer
* @param[in] :buffer_size: buffer
* @return :
* @retval :
**************************************************************************/
void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size)
{
#if PHONE_SLAVE_TRANSFER_I2C
hal_i2c_s_dma_write(txbuffer, buffer_size);
#elif PHONE_SLAVE_TRANSFER_SPI
//while (hal_spi_slave_busy());
hal_spi_slave_auto_transfer_abort();
hal_spi_slave_flush_fifo();
hal_spi_slave_set_auto_tx_buffer(txbuffer, buffer_size, true);
hal_spi_slave_auto_transfer_start();
#endif
}
/**************************************************************************
* @name : app_tp_s_read
* @brief : rxbuffer
* @param[in] :rxBuffer: buffer
* @param[in] :data_size: buffer
* @return :
* @retval :
**************************************************************************/
void app_tp_s_read(void *rxBuffer, size_t data_size)
{
#if PHONE_SLAVE_TRANSFER_I2C
hal_i2c_s_nonblocking_read(rxBuffer, data_size);
#endif
}
/**************************************************************************
* @name : app_tp_spis_callback
* @brief : SPI slave
* @param[in] :
* @return :
* @retval :
**************************************************************************/
#if PHONE_SLAVE_TRANSFER_I2C //消除warning
//经测试。int_status=0为读命令。=2为STOP。=1未测试到。
//recieve_num为接收到的指令个数
static void app_tp_i2cs_callback(e_i2c_s_int_status int_status, size_t recieve_num)
{
#if 0 // 1: test
if (int_status >2)
{
s_phone_read_buffer[2]=int_status;
s_phone_read_buffer[3]=recieve_num;
app_tp_m_write(s_phone_read_buffer, 4);
}
#endif
app_tp_transfer_phone(recieve_num);
}
#endif
/**************************************************************************
* @name : app_tp_spis_callback
* @brief : SPI slave
* @param[in] :
* @return :
* @retval :
**************************************************************************/
#if PHONE_SLAVE_TRANSFER_SPI //消除warning
static void app_tp_spis_callback(hal_spis_event_e event, hal_spi_packet_info_t *packet_info)
{
app_tp_transfer_phone(packet_info->packet_size);
}
#endif
#if 0
/**************************************************************************
* @name : app_tp_reset_callback
* @brief : IO跳变复位的中断处理函数
* @param[in] :
* @return :
* @retval :
**************************************************************************/
static void app_tp_reset_callback(void *data)
{
TAU_LOGD("app_tp_reset_callback\n");
s_phone_reset_flag = true;
app_tp_s_write(phone_reg_const_data[0].write_back, phone_reg_const_data[0].write_back_size);
#if PHONE_SLAVE_TRANSFER_SPI
hal_gpio_set_output_data(IO_PAD_AP_INT, IO_LVL_LOW);
#endif
}
#endif
void S20_Start_init(void)
{
uint8_t len=0;
uint8_t temp=0;
uint8_t temp_start_flag=0;
// if(phone_start_flag==1)
{
app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
while(!hal_i2c_m_transfer_complate());
delayMs(2);
while(!hal_gpio_get_input_data(g_screen_input_int_pad))
{
app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
while(!hal_i2c_m_transfer_complate());
delayMs(2);
}
temp=s_screen_read_buffer[0]&0xf0;
if((temp==0x10)||(temp==0x20)||(temp==0x30))
{
temp_start_flag=1;
}
if(temp_start_flag==0)
{
app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));//0xA0,0x00,0x01
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_screen_init_data2, sizeof(MI10_PRO_screen_init_data2));//0xA2,0x03,0x00,0x00,0x00,0x03
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_screen_init_data3, sizeof(MI10_PRO_screen_init_data3));//0xA2,0x02,0x00
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_screen_init_data4, sizeof(MI10_PRO_screen_init_data4));//0xC0,0x07,0x01
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
while(!hal_i2c_m_transfer_complate());
if(s_screen_read_buffer[7]>0)
{
len=s_screen_read_buffer[7]*8;
app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, len);
while(!hal_i2c_m_transfer_complate());
}
}
#endif
if(hal_gpio_get_input_data(g_screen_input_int_pad))
{
s_screen_init_complate = true;
app_tp_screen_int_init();
phone_start_flag=0;
}
}
}
/**************************************************************************
* @name : app_tp_transfer_screen_const
* @brief : flow读写screen screen
* @param[in] :
* @return :
* @retval :
*TP第1步
*screen_reg_start_data[]
**************************************************************************/
static void app_tp_transfer_screen_const(void)
{
// static bool screen_const_transfer_buffer_ready = true; //发送 buffer 是否已准备好
uint8_t ii;
// uint8_t len=0;
/**** 1. 判断当前状态通信已结束, 状态通信已结束,并且开机初始化流程还未走完****/
#if 0 // test
uint8_t test_master_read_buffer[10] = {0x08, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19};
uint8_t write_buffer[10] = {0x04, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19};
// for (ii =0x20; ii<0x7F; ii++)
{
//hal_i2c_m_dma_init(ii, SCREEN_I2C_ADDR_BITS);
//delayMs(100);
if (hal_i2c_m_dma_write(write_buffer, 1))
{
//break;
}
while(!hal_i2c_m_transfer_complate());
hal_i2c_m_dma_read(test_master_read_buffer, 1, test_master_read_buffer, 2);
}
#endif
if (app_tp_m_transfer_complate() && (s_screen_const_transfer_count < screen_reg_start_data_size))
{
if (s_spim_write) //SPI 写数据后需要把接收FIFO的数据读出不然会影响下一次读取
{
hal_spi_m_clear_rxfifo();
s_spim_write = false;
}
#if 1
// #ifndef USE_FOR_SUMSUNG_S20
// for (ii =0; ii<screen_reg_start_data_size; ii++)
// {
// if (!screen_reg_start_data[ii].read_flag) //当前通信不需要读回,直接写
// {
// app_tp_m_write(screen_reg_start_data[ii].buffer, screen_reg_start_data[ii].txbuffer_size);
// }
// else //当前通信需要读回,先写再读
// {
// app_tp_m_read(screen_reg_start_data[ii].buffer, screen_reg_start_data[ii].txbuffer_size, \
// s_screen_read_bak, screen_reg_start_data[ii].rxbuffer_size);
// }
// while(!hal_i2c_m_transfer_complate());
// }
// #endif
#ifdef USE_FOR_SUMSUNG_S21
#if 1
if(phone_start_flag==1)
{
S20_Start_init();
}
#endif
#if 0//
delayMs(100);
app_tp_m_read(screen_reg_int_data[0].buffer, screen_reg_int_data[0].txbuffer_size, s_screen_number, screen_reg_int_data[0].rxbuffer_size);
while(!hal_i2c_m_transfer_complate());
#endif
#ifdef USE_FOR_SUMSUNG_S20
s_screen_init_complate = true;
#endif
#else
/**** 2. 发送或读取从机数据 ****/
if (screen_const_transfer_buffer_ready)
{
screen_const_transfer_buffer_ready = false;
if (!screen_reg_start_data[s_screen_const_transfer_count].read_flag) //当前通信不需要读回,直接写
{
app_tp_m_write(screen_reg_start_data[s_screen_const_transfer_count].buffer, screen_reg_start_data[s_screen_const_transfer_count].txbuffer_size);
}
else //当前通信需要读回,先写再读
{
app_tp_m_read(screen_reg_start_data[s_screen_const_transfer_count].buffer, screen_reg_start_data[s_screen_const_transfer_count].txbuffer_size, \
s_screen_number, screen_reg_start_data[s_screen_const_transfer_count].rxbuffer_size);
}
s_screen_init_complate = true;
}
/**** 3. 解析本次通信数据并准备下一次通信的buffer ****/
else
{
screen_const_transfer_buffer_ready = true;
s_screen_const_transfer_count = app_tp_screen_analysis_const(s_screen_const_transfer_count, s_screen_number, \
screen_reg_start_data[s_screen_const_transfer_count].rxbuffer_size);
if (s_screen_const_transfer_count >= screen_reg_start_data_size)
{
s_screen_init_complate = true;
}
}
#endif
}
}
/**************************************************************************
* @name : ap_tp_calibration
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void ap_tp_calibration(void)
{
// app_tp_m_write(MI10_PRO_TP_Tuning_data1, sizeof(MI10_PRO_TP_Tuning_data1)); // System Reset
// while(!hal_i2c_m_transfer_complate());
// delayMs(10);
app_tp_m_write(MI10_PRO_TP_Tuning_data2, sizeof(MI10_PRO_TP_Tuning_data2)); // FPnl Init
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_TP_Tuning_data3, sizeof(MI10_PRO_TP_Tuning_data3)); // Pnl Init
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_TP_Tuning_data4, sizeof(MI10_PRO_TP_Tuning_data4)); // TuneM
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_TP_Tuning_data5, sizeof(MI10_PRO_TP_Tuning_data5)); // TuneS
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_TP_Tuning_data6, sizeof(MI10_PRO_TP_Tuning_data6)); // SvCfg
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_TP_Tuning_data7, sizeof(MI10_PRO_TP_Tuning_data7)); // SvCx
while(!hal_i2c_m_transfer_complate());
delayMs(1);
app_tp_m_write(MI10_PRO_TP_Tuning_data8, sizeof(MI10_PRO_TP_Tuning_data8)); // SvPnl
while(!hal_i2c_m_transfer_complate());
delayMs(1);
}
void ap_tp_scan_point_init(void)
{
uint8_t i=0;
for(i=0;i<ST_TP_SCAN_POINT_NUMBER_MAX;i++)
tp_scan_data.tp_point_buffer[i] = 0;
tp_scan_data.tp_point_up_error_flag = 0;
tp_scan_data.tp_read_point_counter = 0;
tp_scan_data.tp_point_error_time_counter = 0;
}
// 模拟ST 手指释放事件给到处理函数
void ap_tp_simulate_finger_release_event(void)
{
uint8_t i,temp=0,ap_tp_release_buf[8] = {0x33,0x01,0x00,0x00,0x00,0x00,0x00,0x00};
for(i=0;i<5;i++)
{
temp = i;
ap_tp_release_buf[1] = (temp<<4)|0x01;
app_tp_screen_analysis_int(0, ap_tp_release_buf,8);
delayMs(6);
}
}
// ST 触摸芯片软件复位指令
void ap_tp_system_softReset(void)
{
TAU_LOGD("ap_tp_system_softReset \n");
ap_tp_simulate_finger_release_event();
ap_tp_scan_point_init();
//app_tp_m_write(MI10_PRO_TP_Tuning_data1, sizeof(MI10_PRO_TP_Tuning_data1)); // System Reset A4 00 00
// while(!hal_i2c_m_transfer_complate());
// delayMs(10);
app_tp_m_write(MI10_PRO_TP_Tuning_data9, sizeof(MI10_PRO_TP_Tuning_data9));//0xA4,0x00,0x01
while(!hal_i2c_m_transfer_complate());
delayMs(10);
app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));//0xA0,0x00,0x01
while(!hal_i2c_m_transfer_complate());
delayMs(10);
// app_tp_screen_reset();
}
/**************************************************************************
* @name : app_tp_transfer_screen_start
* @brief : flow读写screen
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_transfer_screen_start(void)
{
s_screen_init_complate = false;
s_screen_const_transfer_count = 0;
//app_tp_screen_init();
#ifndef DISABLE_I2C_INIT_CODE
app_tp_transfer_screen_const();
#endif
s_screen_int_flag = false;
}
/**************************************************************************
* @name : app_tp_screen_reset_hardware
* @brief : tp screen reset
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_screen_reset(void)
{
// g_clk_cnt++;
// TAU_LOGD("tp_screen_reset g_clk_cnt :%d\n", g_clk_cnt);
// hal_gpio_init_output(g_screen_input_rst_pad, IO_LVL_HIGH);
ap_tp_simulate_finger_release_event();
ap_tp_scan_point_init();
hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
delayMs(5);
hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_LOW);
delayMs(10);
hal_gpio_set_output_data(g_screen_input_rst_pad, IO_LVL_HIGH);
delayMs(5);
#if 1
app_tp_m_write(MI10_PRO_screen_init_data11, sizeof(MI10_PRO_screen_init_data11));//0xA4,0x00,0x05 //clk reset
while(!hal_i2c_m_transfer_complate());
delayMs(10);
#endif
app_tp_m_write(MI10_PRO_TP_Tuning_data9, sizeof(MI10_PRO_TP_Tuning_data9));//0xA4,0x00,0x01} system reset
while(!hal_i2c_m_transfer_complate());
delayMs(5);
app_tp_m_write(MI10_PRO_screen_init_data0, sizeof(MI10_PRO_screen_init_data0));//0xA0,0x00,0x00 clear fifo
while(!hal_i2c_m_transfer_complate());
delayMs(5);
app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));//0xA0,0x00,0x01 sensor on
while(!hal_i2c_m_transfer_complate());
delayMs(5);
// app_tp_m_write(MI10_PRO_screen_init_data3, sizeof(MI10_PRO_screen_init_data3));//0xA2,0x02,0x00
// while(!hal_i2c_m_transfer_complate());
// delayMs(1);
// app_tp_m_write(MI10_PRO_screen_init_data4, sizeof(MI10_PRO_screen_init_data4));//0xC0,0x07,0x01
// while(!hal_i2c_m_transfer_complate());
// delayMs(1);
// app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
// while(!hal_i2c_m_transfer_complate());
}
/**************************************************************************
* @name : app_tp_transfer_screen_int
* @brief : screen中断后flow读写screen
* @param[in] :
* @return :
* @retval :
*TP第2步
*screen_reg_int_data[]
**************************************************************************/
void app_tp_transfer_screen_int(void)
{
uint8_t len=0;
uint8_t temp_len=0;
bool screen_gpio_int = false;
static uint8_t screen_int_transfer_count = 0; //记录当前通信到哪一步
static bool screen_int_transfer_buffer_ready = true; //发送 buffer 是否已准备好
// static uint8_t test_flag = 0;
// s_screen_init_complate=false;//为了在线烧录特意将码片设置为不下发数据而是FT8719与敦泰的工具通讯
if (!s_screen_init_complate) //TP 初始化还未完成,则先进行初始化操作
{
app_tp_transfer_screen_const();
return;
}
/**** 1. 判断 screen 是否发出中断信号 ****/
// s_screen_int_flag: 中断信号标志位
// app_tp_screen_int_lvl_low : SPI 长时间通信时偶尔会出现cs拉高导致通信异常卡死该标志位用于解决卡死的问题
screen_gpio_int = s_screen_int_flag || app_tp_screen_int_lvl_low();
if (screen_gpio_int)
{
s_screen_int_flag = false;
app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 5*8);
while(!hal_i2c_m_transfer_complate());
/* if(s_screen_read_buffer[7]>0)
{
len=s_screen_read_buffer[7]*8;
app_tp_m_read(screen_reg_int_data[0].buffer, 1, &s_screen_read_buffer[8], len);
while(!hal_i2c_m_transfer_complate());
// temp_len=len+7;
}
*/
#if 0
// if(s_screen_read_buffer[temp_len]>0)
// {
// len=s_screen_read_buffer[7]*8;
// app_tp_m_read(screen_reg_int_data[0].buffer, 1, &s_screen_read_buffer[temp_len+1], len);
// while(!hal_i2c_m_transfer_complate());
// }
// delayUs(100);
#endif
delayMs(2);
// TP 异常事件
if(s_screen_read_buffer[0] == 0xF3) // 收到 TP 异常回复 0xF3 0x02 0x00 0x00 0x00 0x00 0x00 0x00
{
// g_clk_cnt++;
app_tp_screen_reset();
// app_tp_m_write(MI10_PRO_screen_init_data1, sizeof(MI10_PRO_screen_init_data1));
// while(!hal_i2c_m_transfer_complate());
// S20_Start_init();
// ap_tp_system_softReset();
delayMs(5); //5
TAU_LOGD("TP system reset 0\n");
return;
}
else if(s_screen_read_buffer[1] == 0xFF && s_screen_read_buffer[2] == 0xFF&& s_screen_read_buffer[3] == 0xFF&&s_screen_read_buffer[4] == 0xFF)
{
app_tp_screen_reset();
// ap_tp_system_softReset();
delayMs(10);
// ap_tp_system_softReset();
TAU_LOGD("TP system reset ff 0\n");
return;
}
while(!hal_gpio_get_input_data(g_screen_input_int_pad))
{
app_tp_m_read(screen_reg_int_data[0].buffer, 1, s_screen_read_buffer, 8);
while(!hal_i2c_m_transfer_complate());
delayUs(100);
if(s_screen_read_buffer[7]>0)
{
len=s_screen_read_buffer[7]*8;
app_tp_m_read(screen_reg_int_data[0].buffer, 1, &s_screen_read_buffer[8], len);
while(!hal_i2c_m_transfer_complate());
delayUs(100);
}
if(s_screen_read_buffer[0] == 0xF3 ) // 收到 TP 异常回复 0xF3 0x02 0x00 0x00 0x00 0x00 0x00 0x00
{
// ap_tp_system_softReset();
app_tp_screen_reset();
delayMs(10);
TAU_LOGD("TP system reset 1\n");
return;
}
}
// TP 异常事件
if(s_screen_read_buffer[0] == 0xF3 && s_screen_read_buffer[1] == 0x02 && s_screen_read_buffer[2] == 0x00) // 收到 TP 异常回复 0xF3 0x02 0x00 0x00 0x00 0x00 0x00 0x00
{
// ap_tp_system_softReset();
app_tp_screen_reset();
TAU_LOGD("TP system reset 2\n");
return;
}
else
{
// printf("%2x,%2d,%2d\n",s_screen_read_buffer[0],screen_reg_int_data[2].rxbuffer_size,screen_int_transfer_count);
}
screen_int_transfer_buffer_ready = true;
screen_int_transfer_count = app_tp_screen_analysis_int(screen_int_transfer_count, s_screen_read_buffer,screen_reg_int_data[2].rxbuffer_size);
screen_int_transfer_count = 0;
s_screen_int_transfer_status = false;
}
}
/**************************************************************************
* @name : app_tp_transfer_phone
* @brief :
* @param[in] : recieve_num
* @return :
* @retval :
**************************************************************************/
static void app_tp_transfer_phone(size_t recieve_num)
{
const uint8_t *phone_write_buffer;
size_t phone_write_buffer_size = 0;
/* 数据解析判断是否需要答复以及答复的buffer指针 */
if (recieve_num > 0)
{
#if 0// 1: test
s_phone_read_buffer[3]=recieve_num;
app_tp_m_write(s_phone_read_buffer, 4);
#endif
app_tp_phone_analysis_data(s_phone_read_buffer, recieve_num, &phone_write_buffer, &phone_write_buffer_size);
}
app_tp_s_read(s_phone_read_buffer, BUFFER_SIZE_MAX);
if (phone_write_buffer_size) //大于0表示需要答复手机配置发送buffer
{
app_tp_s_write(phone_write_buffer, phone_write_buffer_size);
}
}
/**************************************************************************
* @name : app_tp_phone_reset_on
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
bool app_tp_phone_reset_on(void)
{
return s_phone_reset_flag;
}
/**************************************************************************
* @name : app_tp_phone_clear_reset_on
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_phone_clear_reset_on(void)
{
s_phone_reset_flag = false;
}
#else
void app_tp_screen_init(void)
{
}
void app_tp_init(void)
{
}
void app_tp_transfer_screen_int(void)
{
}
void app_tp_transfer_screen_start(void)
{
}
bool app_tp_phone_reset_on(void)
{
return false;
}
void app_tp_phone_clear_reset_on(void)
{
}
void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size)
{
}
bool app_tp_enter_sleep_on(void)
{
return false;
}
#endif

View File

@ -0,0 +1,114 @@
/*******************************************************************************
*
*
* File: app_tp_transfer.h
* Description touch I2C/SPI
* Version V0.1
* Date 2021-10-14
* Author zhanghz
*******************************************************************************/
#ifndef __APP_TP_TRANSFER_H__
#define __APP_TP_TRANSFER_H__
#include "string.h"
#include "tau_device_datatype.h"
#include "tau_common.h"
#define SCREEN_TRANSFER_WRITE false //接收到screen io中断发送数据之后不用读回
#define SCREEN_TRANSFER_READ true //接收到screen io中断发送数据之后要读回数据
#define ST_TP_SCAN_POINT_NUMBER_MAX 6
typedef struct
{
uint8_t tp_point_buffer[ST_TP_SCAN_POINT_NUMBER_MAX]; // 锟斤拷锟秸碉拷 TP 锟斤拷锟姐,锟斤拷锟节硷拷录锟斤拷锟斤拷锟斤拷息
uint8_t tp_read_point_counter; // 统锟狡憋拷锟斤拷锟斤拷值
uint8_t tp_point_up_error_flag; // 锟斤拷锟斤拷锟酵凤拷锟届常锟斤拷志
uint32_t tp_point_error_time_counter; // 锟斤拷锟斤拷锟斤拷时锟斤拷
} st_tp_scan_data;
/**************************************************************************
* @name : ap_tp_calibration
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void ap_tp_calibration(void);
/**************************************************************************
* @name : app_tp_screen_init
* @brief : screen IO
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_screen_init(void);
/**************************************************************************
* @name : app_tp_init
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_init(void);
/**************************************************************************
* @name : app_tp_transfer_screen_int
* @brief : screen中断后flow读写screen
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_transfer_screen_int(void);
/**************************************************************************
* @name : app_tp_transfer_screen_start
* @brief : flow读写screen
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_transfer_screen_start(void);
/**************************************************************************
* @name : app_tp_phone_reset_on
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
bool app_tp_phone_reset_on(void);
/**************************************************************************
* @name : app_tp_phone_clear_reset_on
* @brief :
* @param[in] :
* @return :
* @retval :
**************************************************************************/
void app_tp_phone_clear_reset_on(void);
/**************************************************************************
* @name : app_tp_s_write
* @brief : txbuffer中的数据
* @param[in] :txbuffer: buffer
* @param[in] :buffer_size: buffer
* @return :
* @retval :
**************************************************************************/
void app_tp_s_write(const uint8_t *txbuffer, size_t buffer_size);
/**************************************************************************
* @name : app_tp_enter_sleep_on
* @brief : tp
* @param[in] :
* @return :
* @retval :
**************************************************************************/
bool app_tp_enter_sleep_on(void);
#endif

Some files were not shown because too many files have changed in this diff Show More