大理水控初始版本
diff --git a/g401302/hex/STM32IAPCombine51.hex b/g401302/hex/STM32IAPCombine51.hex
new file mode 100644
index 0000000..1e44517
--- /dev/null
+++ b/g401302/hex/STM32IAPCombine51.hex
@@ -0,0 +1,1026 @@
+:020000040800F2
+:10000000F0370020F5010008FD010008FF0100089D
+:1000100001020008030200080502000800000000B9
+:1000200000000000000000000000000007020008BF
+:1000300009020008000000000B0200081513000868
+:100040000F0200080F0200080F0200080F0200084C
+:100050000F0200080F0200080F0200080F0200083C
+:100060000F0200080F0200080F0200080F0200082C
+:100070000F0200080F0200080F0200080F0200081C
+:100080000F0200080F0200080F0200080F0200080C
+:100090000F0200080F0200080F0200080F020008FC
+:1000A0000F0200080F0200080F0200080F020008EC
+:1000B0000F0200080F0200080F0200080F020008DC
+:1000C0000F0200080F0200080F0200080F020008CC
+:1000D0000F0200080F0200080F0200080F020008BC
+:1000E0000F0200080F0200080F0200080F020008AC
+:1000F0000F0200080F0200080F0200080F0200089C
+:100100000F0200080F0200080F0200080F0200088B
+:100110000F0200080F0200080F0200080F0200087B
+:100120000F0200080F0200080F0200080F0200086B
+:1001300000F002F800F03FF80AA090E8000C8244BA
+:100140008344AAF10107DA4501D100F034F8AFF297
+:10015000090EBAE80F0013F0010F18BFFB1A43F0A5
+:1001600001031847542B0000742B0000103A24BFE1
+:1001700078C878C1FAD8520724BF30C830C144BF0C
+:1001800004680C607047000000230024002500264E
+:10019000103A28BF78C1FBD8520728BF30C148BFEA
+:1001A0000B607047642900F08180002070471FB504
+:1001B0001FBD10B510BD00F067FA1146FFF7F7FF3D
+:1001C00001F0ECFC00F085FA03B4FFF7F2FF03BC8A
+:1001D00000F08CFAEFF30980704780F309887047CC
+:1001E000EFF30880704780F30888704740BA704783
+:1001F000C0BA70470948804709480047FEE7FEE754
+:10020000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE7C6
+:1002100004480549034A054B70470000991300083C
+:1002200031010008F0070020F0370020F00700201F
+:100230000FB41CB5074B06AA7B446946009005988D
+:1002400000F0E3F90020694600F0F2F91CBC5DF80B
+:1002500014FB0000F503000070B5044685690068D2
+:10026000C10601D5302600E02026C00708D070BDA9
+:10027000D4E9012130469047206A00F10100206254
+:100280006D1EF5D570BD70B5044685690078C00750
+:1002900008D170BDD4E9012120209047206A00F1E7
+:1002A000010020626D1EF5D570BD00002DE9F04102
+:1002B0000646002410687529314616A511D0AFF303
+:1002C0000080002803DAC0F1000013A507E03168C0
+:1002D0008A0701D511A502E0490704D510A501241C
+:1002E00001E0AFF3008000210A2306F1240707E0B4
+:1002F000B0FBF3F203FB1200303078541046491C77
+:100300000028F5D123462A463046BDE8F04100F0EA
+:100310001BB90000000000002D0000002B000000B1
+:10032000200000002DE9F0474FF0000A89460446FE
+:10033000C0F820A02046E1688847002876D025280C
+:1003400006D0D4E901219047206A401C2062F1E7E1
+:10035000E168204600258847C4F81CA0064600270F
+:10036000C4F818A02A2E09D0304601F045F838B359
+:1003700004EB8708303EC8F8186019E059F8041BF0
+:10038000204604EB87029161E1688847012F064609
+:1003900018D1E069002820DA25F020051DE0D8F802
+:1003A000180000EB800006EB40003038C8F8180059
+:1003B0002046E1688847064601F01EF80028EED185
+:1003C000012F0AD02E2E08D12046E16888477F1CD5
+:1003D0000646022F45F02005C4DBA069002803DA99
+:1003E000404245F00105A061E80701D025F0100565
+:1003F000B6B1A6F14100192802D8203645F40065AF
+:100400004A463146204625604D46FFF7CBFE58B19F
+:10041000012806D0ED1D25F0070000F1080989E745
+:1004200004E005F1040985E730468AE7206ABDE863
+:10043000F08740EA010310B59B070FD1042A0DD3C2
+:1004400010C808C9121F9C42F8D020BA19BA8842B5
+:1004500001D9012010BD4FF0FF3010BD1AB1D307F4
+:1004600003D0521C07E0002010BD10F8013B11F82A
+:10047000014B1B1B07D110F8013B11F8014B1B1B53
+:1004800001D1921EF1D1184610BD10B5203AC0F02E
+:100490000B80B1E81850203AA0E81850B1E8185085
+:1004A000A0E81850BFF4F5AF5FEA027C24BFB1E8C2
+:1004B0001850A0E8185044BF18C918C0BDE8104033
+:1004C0005FEA827C24BF51F8043B40F8043B08BF3C
+:1004D0007047D20728BF31F8023B48BF11F8012B03
+:1004E00028BF20F8023B48BF00F8012B704702F0FC
+:1004F000FF0343EA032242EA024200F002B84FF04F
+:1005000000020429C0F0128010F0030C00F0978064
+:10051000CCF1040CBCF1020F18BF00F8012BA8BFEE
+:1005200020F8022BA1EB0C0100F089B85FEAC17C36
+:1005300024BF00F8012B00F8012B48BF00F8012B65
+:1005400070477047704770472DE9F0470D46994650
+:100550009246044600F124080168880604D5E06943
+:1005600021F01001216000E00120A84202DDA0EB93
+:10057000050700E00027A16907EB050202EB09006F
+:10058000A1EB0000A0612078C00602D42046FFF74E
+:1005900063FE002608E0D4E901211AF8060090471E
+:1005A000206A401C761C20624E45F4DB2078C00691
+:1005B0000AD52046FFF750FE06E0D4E9012130209D
+:1005C0009047206A401C2062381EA7F10107F4DC26
+:1005D00007E0D4E9012118F805009047206A401C83
+:1005E0002062281EA5F10105F3DC2046FFF74BFE33
+:1005F0002078000602D50220BDE8F0870120FBE745
+:1006000001694A1C02610878704700B58FB0CDE9D6
+:1006100001310021059105497944CDE903101146C6
+:100620006846FFF77FFE0FB000BD0000E5FFFFFF4B
+:100630000A6802F8010B0A6070474FF0000200B52B
+:10064000134694469646203922BFA0E80C50A0E8F5
+:100650000C50B1F12001BFF4F7AF090728BFA0E8A3
+:100660000C5048BF0CC05DF804EB890028BF40F86F
+:10067000042B08BF704748BF20F8022B11F0804FB1
+:1006800018BF00F8012B7047754600F029F8AE46F8
+:1006900005006946534620F00700854618B020B58E
+:1006A000FFF7B6FDBDE820404FF000064FF0000711
+:1006B0004FF000084FF0000B21F00701AC46ACE80A
+:1006C000C009ACE8C009ACE8C009ACE8C0098D4677
+:1006D00070470446AFF300802046FFF775FD000029
+:1006E000004870478C07002070470000014918201F
+:1006F000ABBEFEE7260002007CB503460C46002098
+:100700000190002112E0585C9DF8055068400F4DA3
+:1007100035F8100000909DF801009DF804506840E5
+:100720008DF80100BDF800000190491CA142EAD3F8
+:10073000012A07D19DF801600846491C1E549DF806
+:1007400000005854BDF804007CBD0000B62A000823
+:10075000F0B585B006464FF414270EBB14222C4981
+:100760006846FFF792FE2B48C068CDF8060029487E
+:100770008068CDF80A0001220E216846FFF7BCFF11
+:10078000002409E06A461021384600F0D1FAC5B2CB
+:1007900005B903E0601CC4B20A2CF3DB00BF2FE0F4
+:1007A000012E20D114221A4914316846FFF76DFE3C
+:1007B000FF2208210DF10600FFF799FE01220E210C
+:1007C0006846FFF799FF002409E06A461021384681
+:1007D00000F0AEFAC5B205B903E0601CC4B20A2C41
+:1007E000F3DB00BF0CE0002407E0380B00F022FA36
+:1007F000C5B205B903E0601CC4B20A2CF5DB00BF2A
+:100800000A2C02DA002005B0F0BD0120FBE7000051
+:10081000902A00087C0400200149C860704700004D
+:100820000020024030B5044604254FF4302000F08B
+:100830007BF80546042D17D10C48006940F00200F2
+:100840000A49086108464461006940F040000861B7
+:100850004FF4302000F068F805460448006941F67E
+:10086000FD71084001490861284630BD0020024062
+:1008700004200B49C96811F0010F01D001200EE0DE
+:100880000749C96811F0040F01D0022007E00449AC
+:10089000C96811F0100F01D0032000E00420704758
+:1008A0000020024078B506460C4604250020009042
+:1008B000E80200F039F80546042D24D113480069F8
+:1008C00040F00100114908613480E80200F02CF882
+:1008D0000546042D10D1B01C0090200C0099088012
+:1008E000E80200F021F805460848006941F6FE716B
+:1008F00008400649086106E00448006941F6FE71B7
+:10090000084002490861284678BD000000200240E6
+:10091000024803494860034848607047230167451F
+:1009200000200240AB89EFCD00B502460423FFF75B
+:100930009FFF034603E0FFF79BFF0346521E012B78
+:1009400001D1002AF7D102B90523184600BD0000E5
+:100950002DE9FC4105460E46174600F017F91E48E2
+:1009600000F036F900F0FF0808F00200022802D07B
+:100970004046BDE8FC818021184800F003F9B6F537
+:10098000807F01D90120F4E702208DF80000280CB7
+:100990008DF80100280A8DF80200E8B28DF80300F6
+:1009A000002405E01DF804000B4901F0CDFA641C99
+:1009B000042CF7D3002404E0385D074901F0C4FAA1
+:1009C000641CB442F8D38021044800F0DDF80248EA
+:1009D00000F0F2F8CDE70000A08601000010014011
+:1009E0002DE9F041024600250026002000230024C6
+:1009F000002791F803C00CF00F0591F803C01CF01C
+:100A0000100F03D091F802C04CEA050591F800C020
+:100A1000BCF1000F31D0146800202BE04FF0010C26
+:100A20000CFA00F3B1F800C00CEA03069E4220D194
+:100A300083004FF00F0C0CFA03F7BC4305FA03FCDC
+:100A40004CEA040491F803C0BCF1280F06D14FF022
+:100A5000010C0CFA00FCC2F814C00AE091F803C0C3
+:100A6000BCF1480F05D14FF0010C0CFA00FCC2F8A4
+:100A700010C0401C0828D1D31460B1F800C0BCF1EC
+:100A8000FF0F34DD546800202EE000F1080C4FF019
+:100A9000010808FA0CF3B1F800C00CEA03069E4204
+:100AA00021D183004FF00F0C0CFA03F7BC4305FA79
+:100AB00003FC4CEA040491F803C0BCF1280F05D1F3
+:100AC00000F1080C08FA0CF8C2F8148091F803C081
+:100AD000BCF1480F07D100F1080C4FF0010808FAEB
+:100AE0000CF8C2F81080401C0828CED35460BDE832
+:100AF000F0810000F0B50A46002300240021002503
+:100B000000F00046B6F1004F02D11D4EF16901E040
+:100B10001B4E7168C0F3034583B200F44016B6F56E
+:100B2000401F08D121F07061154E766826F070667E
+:100B3000134F7E6012E000F48016B6F5801F06D1D8
+:100B4000032606FA05F4A14341F0706106E0460D64
+:100B5000360103FA06F6B14341F0706122B1460D49
+:100B6000360103FA06F6314300F00046B6F1004FB5
+:100B700002D1034EF16101E0014E7160F0BD000051
+:100B800000000140416170470161704708B5802154
+:100B90000748FFF7F7FF06208DF800009DF80000DA
+:100BA000044901F0D1F980210148FFF7EDFF08BDAC
+:100BB00000100140A086010070B50446204600F0F8
+:100BC00007F8C5B2FF2D01D1012070BD0020FCE760
+:100BD00038B5044680211348FFF7D4FF05208DF86F
+:100BE00000009DF80000214601F0AEF900BF9DF81D
+:100BF0000000214601F0A8F98DF8010004B1641E3F
+:100C00009DF8010010F0010F01D0002CEFD18021E0
+:100C10000448FFF7B9FF0CB9FF2038BD9DF801006B
+:100C2000FBE700000010014010B501F05BF9002067
+:100C300010BD00002DE9FC410646FFF7A7FF17484D
+:100C4000FFF7C6FF074607F00200022802D0384629
+:100C5000BDE8FC8180211248FFF794FF3403202077
+:100C60008DF80000200C8DF80100200A8DF802009C
+:100C7000E0B28DF80300002505E01DF805000749E6
+:100C800001F062F96D1C042DF7D380210448FFF7B1
+:100C90007BFF0448FFF790FFDAE70000A086010021
+:100CA00000100140002D31012DE9FC4105460E46A2
+:100CB00017461D48FFF780FF00F0FF08B8F1000F4E
+:100CC00002D04046BDE8FC8180211848FFF75AFF5A
+:100CD000A819B0F5800F01D90120F3E703208DF8A2
+:100CE0000000280C8DF80100280A8DF80200E8B2F7
+:100CF0008DF80300002405E01DF804000A4901F006
+:100D000023F9641C042CF7D3002405E00649AA202B
+:100D100001F01AF93855641CB442F7D38021034816
+:100D2000FFF732FF0020CDE7A08601000010014050
+:100D30002DE9F84F04460E469346CDF800B02948F9
+:100D4000844200D200BFA019B0F5800F02D9012063
+:100D5000BDE8F88FB1462746C4F30B00251A1AE008
+:100D600007EB090105F58050814202D9A0EB070885
+:100D700000E0C846AF4209D1280BFFF75BFF00F047
+:100D8000FF0ABAF1000F01D05046E1E705F58055A2
+:100D9000A9EB08094744B9F1000FE1D1E0B2251AE7
+:100DA0001CE0A11905F58070814202D9A0EB04086E
+:100DB00000E0B04641462046009AFFF7C9FD00F02A
+:100DC000FF0ABAF1000F01D05046C1E705F5807562
+:100DD000A6EB08064444009840440090002EE0D161
+:100DE0000020B5E7007012000446204600F0D8F954
+:100DF0002DE9F04FADF20C4D4AA103C90DF580620B
+:100E000003C2002609E06A4610214FF41420FFF7C0
+:100E10004BFF054605B902E0761C032EF3D300BF55
+:100E2000032E04D301200DF20C4DBDE8F08F0022FB
+:100E300010216846FFF760FC05460DB10220F2E77D
+:100E4000062269460DF58060FFF7F3FA08B103202A
+:100E5000E9E79DF809909DF8080040EA09299DF806
+:100E6000070040EA09299DF8060040EA09299DF893
+:100E70000D409DF80C0040EA04249DF80B0040EA68
+:100E800004249DF80A0040EA04244FF4162BB4F51C
+:100E9000A05F01D20420C6E70020CDF80804A246D6
+:100EA00000262CE0BAF5806F02D34FF4806800E092
+:100EB000D046002709E00BEB06006A464146FFF7E3
+:100EC000F3FE054605B902E07F1C052FF3D300BFF2
+:100ED00025B10220FFF73CFC0520A4E7002709E02C
+:100EE0001DF80700C043C1B2DDF808040844CDF87E
+:100EF00008047F1C4745F3D34644AAEB080AA642E0
+:100F0000D0D3DDF80804484504D00220FFF720FCC8
+:100F1000062088E70548C0F800B0054804600020B6
+:100F200081E700005A4B3C2D1E0F000050000020AE
+:100F3000540000202DE9F04FADF5077D81468A462B
+:100F400015462F46002443E0B7F5007F02D34FF447
+:100F5000007600E03E464FF0000B0EE00AEB040086
+:100F600007AA3146FFF7A0FE8046B8F1000F00D176
+:100F700006E00BF1010000F0FF0BBBF1050FEDDB0C
+:100F800000BFB8F1000F04D001200DF5077DBDE8CA
+:100F9000F08F09EB0400324607A900F041F88046C3
+:100FA000B8F1000F01D00120EFE73444BF1B6420EB
+:100FB0006043B0FBF5F0024607A1019002A8FFF7DD
+:100FC00037F902AA1021552000F00AFC00F0ACFD10
+:100FD000AC42B9D30020D8E72533642525000000B2
+:100FE00010B50220FFF7B4FB002010BD4CF6CC403A
+:100FF0000149086070470000003000400149486026
+:1010000070470000003000400149886070470000D0
+:101010000030004001490860704700000030004087
+:101020002DE9F04107468846154615F0030F01D11A
+:10103000AD0802E0012000EB95053E46002406E0E5
+:1010400058F824103046FFF72DFC361D641CAC42C6
+:10105000F6D33E46002409E058F824103068884250
+:1010600002D00120BDE8F081361D641CAC42F3D3F0
+:101070000020F7E710B500214FF0006000F002F803
+:1010800010BD0000024A0A400243024B1A6070473A
+:1010900080FFFF1F08ED00E029B1064AD269024334
+:1010A000044BDA6104E0034AD2698243014BDA61FE
+:1010B000704700000010024029B1064A92690243BD
+:1010C000044B9A6104E0034A92698243014B9A619E
+:1010D000704700000010024070B58AB02F4A07CA5E
+:1010E00007AB07C32D4A0C3207CA04AB07C34FF442
+:1010F0001526FFF799FD002508E001AA0C213046CE
+:10110000FFF7D2FD044604B902E06D1C052DF4D3AF
+:1011100000BF00220C2101A8FFF7EEFA04460CB133
+:101120000AB070BD0A2201A907A8FFF782F960B1D1
+:10113000002506E0300BFFF77DFD044604B902E010
+:101140006D1C052DF6D300BFEAE701220A2104A891
+:10115000FFF7D2FA04A807C801AB07C3002518E0BF
+:1011600001AA0C213046FFF7E3FD044604B10FE06D
+:1011700001AA0C213046FFF797FD044604B107E0B1
+:101180000C2204A901A8FFF754F900B903E000BF3D
+:101190006D1C052DE4D300BF00BFC1E7782A00080D
+:1011A000044645F25550FFF735FF0520FFF726FFAF
+:1011B000C4F38F00FFF728FFFFF718FF00BFFEE71B
+:1011C00021B1028842F04002028004E002884FF61A
+:1011D000BF731A40028070470246002013890B42F9
+:1011E00001D0012000E00020704701468889704747
+:1011F0008181704710B50022028802F441520B88A9
+:101200004C8823438C882343CC8823430C89234375
+:101210004C8923438C892343CC8923431A4302807E
+:10122000838B4FF2FF74234083830B8A038210BDAC
+:1012300010B500F001F810BD0CB500200190009031
+:101240003248006840F480303049086000BF2F48C1
+:10125000006800F4003000900198401C0190009854
+:1012600018B90198B0F5A06FF1D12848006810F4C2
+:10127000003F02D00120009001E000200090009883
+:10128000012842D12248006840F01000204908603F
+:101290000846006820F0030008600846006840F037
+:1012A00002000860194840681849486008464068CC
+:1012B00048600846406840F48060486008464068DE
+:1012C00020F47C1048600846406840F4E81048600C
+:1012D0000846006840F08070086000BF0B48006856
+:1012E00010F0007FFAD00948406820F00300074959
+:1012F00048600846406840F00200486000BF03486C
+:10130000406800F00C000828F9D10CBD0010024024
+:101310000020024010B500F07BFD03480068401C2F
+:101320000149086010BD00006800002030B50020B1
+:1013300015490860154800684FF47A72B0FBF2F165
+:10134000B1F1807F00D31DE021F07F40401E4FF0BF
+:10135000E022506150170F22002807DA13071D0EF4
+:101360000B4B00F00F04241F1D5503E013071C0E48
+:10137000084B1C5400BF00204FF0E0229061072072
+:10138000106100BF30BD0000680000202000002078
+:1013900018ED00E000E400E010B51348006840F0EC
+:1013A00001001149086008464068104908400E498C
+:1013B0004860084600680E4908400B490860084626
+:1013C000006820F4802008600846406820F4FE0091
+:1013D00048604FF41F008860FFF72AFF4FF000605D
+:1013E0000449086010BD0000001002400000FFF832
+:1013F000FFFFF6FE08ED00E030380A2801D2012098
+:101400007047002070470000044A116800BF034A7B
+:101410001268521A8242FAD3704700006800002016
+:1014200010B5E22000F060F8A22000F05DF8A020E6
+:1014300000F05AF8C82000F057F8A42000F054F843
+:10144000402000F051F8252000F04EF805480078C3
+:1014500000F09FFA2F2000F047F8AF2000F044F88A
+:1014600010BD00001C00002010B5A52000F03CF8C5
+:1014700010BD000010B54FF4806106480068FFF70A
+:101480003EF83F237F220021084600F01DFB00F0BC
+:101490004BFB10BD1400002010B54FF480610548CF
+:1014A0000068FFF72CF83F237F220021084600F058
+:1014B0000BFB10BD1400002070B5002410E0204686
+:1014C00000F0D6FA002000F0CAFA002504E000205F
+:1014D00000F018F8681CC5B2802DF8DB601CC4B29F
+:1014E000102CECDB70BD000010B504464FF4806199
+:1014F0000348FFF747FB204600F0C4FA10BD000088
+:101500000010014010B504464FF480610348FFF716
+:101510003BFB204600F0B6FA10BD00000010014071
+:101520002DE9FF5F05460E469246AC48807950454E
+:1015300003DCAA48C079504501DA4FF02E0AA748CB
+:10154000007A00283AD1002431E0A4480068A34979
+:101550008979AAEB0101A14A127901FB020010F876
+:10156000048000271FE02819802802DAF01940289B
+:1015700003DB002004B0BDE8F09F0120B84010EA72
+:10158000080F07D0F219D1B22A19D0B2012200F007
+:101590000FFA06E0F219D1B22A19D0B2002200F0F7
+:1015A00007FA781CC7B2082FDDDB601CC4B28B4879
+:1015B0000079A042C9DC89480079DBE78748007AD6
+:1015C000012878D185494879C11700EB5171C910BC
+:1015D000A0EBC101002908DD80494879C11700EB63
+:1015E0005171C91001F1010806E07C494879C11721
+:1015F00000EB51714FEAE1087848007900FB08F0F0
+:10160000401CC0B20390754801688079AAEB0002C3
+:10161000039802FB00100290029890F800B0029824
+:10162000401C0290002741E000243BE0029807FBA9
+:101630000800005D01904FF000092EE0E8198028B5
+:1016400004DA06EBC4004844402801DB002091E79F
+:1016500009EBC40061494979884200DB19E00120A7
+:1016600000FA09F00199084209D006EBC4024A4485
+:10167000D1B2EA19D0B2012200F09AF908E006EBE3
+:10168000C4024A44D1B2EA19D0B2002200F090F963
+:1016900000BF09F1010000F0FF09B9F1080FCDDB2F
+:1016A000601CC4B24445C1DB781CC7B25F45BBDBDC
+:1016B00058465FE7FFE74948007A02286FD147495B
+:1016C0004879C11700EB5171C91001F1010B434872
+:1016D000007900FB0BF0C0B20290404801688079AD
+:1016E000AAEB0002029802FB001001903B4890F820
+:1016F0000490002003901FE00021002000BF0AE0BA
+:10170000364B1B795B1E039FDB1B4343DAB2019B05
+:10171000995C421CD0B25845F2DB39B9A9F10102FB
+:1017200002F0FF09B9F1000F01D106E005E0039ACC
+:10173000521CD2B2039200BFDEE700BF002446E095
+:101740004FF000083FE025480179019804FB0100B3
+:1017500010F80800009000272FE005EB0800802813
+:1017600004DA06EBC4003844402801DB002001E71E
+:1017700007EBC40019494979884200DB1BE00120CE
+:10178000B840009908420BD006EBC4023A44D1B2EB
+:1017900005EB0802D0B2012200F00AF90AE01AE0D3
+:1017A00006EBC4023A44D1B205EB0802D0B20022E3
+:1017B00000F0FEF800BF781CC7B2082FCDDB08F19F
+:1017C000010000F0FF08C845BDDB601CC4B25C45E9
+:1017D000B6DB4846CEE60020CCE6000070040020D0
+:1017E0002DE9F04106460F4614460C484079C0F1F9
+:1017F0003F00B84201DABDE8F08109E022783946BD
+:101800003046FFF78DFE0546681C3044C6B2641CA6
+:1018100020780028F2D100BFEDE70000700400201E
+:1018200008B501211020FFF747FC4FF48060ADF8A8
+:10183000000003208DF8020010208DF80300694697
+:101840002648FFF7CDF84FF40060ADF80000032004
+:101850008DF8020010208DF8030069461F48FFF73D
+:10186000BFF801210420FFF727FC01211C48FFF7E6
+:1018700041F94FF40040ADF8000003208DF802005C
+:1018800010208DF8030069461648FFF7A9F84FF4B9
+:1018900000411448FFF778F94FF480711148FFF7C1
+:1018A00073F900F01FFB00F029F80120FFF7ACFDF1
+:1018B000FFF7B6FDFFF7D8FD4FF4FA70FFF7A4FD70
+:1018C00000F016F8002000F0C1F8FFF7F5FD06491A
+:1018D000064800F045F8FFF7CDFD08BD00100140B7
+:1018E00000023000000801401000002070000020BD
+:1018F00010B5A420FFF7F8FD10BD000010B54FF49F
+:1019000080710B48FFF73EF94FF400610948FFF77B
+:1019100039F90120FFF778FD4FF400610548FFF722
+:1019200033F94FF480710248FFF72EF910BD000023
+:1019300000080140001001407F2008490968087034
+:1019400000200649096888703F20044909684870EA
+:10195000002002490968C870704700001800002084
+:10196000024A1060024A1160704700001400002013
+:101970001800002010B5044604F00F00FFF7B4FD76
+:1019800010BD10B50446102141EA2410FFF7ACFD4C
+:1019900010BD10B504468120FFF7A6FD3F2C03DDE6
+:1019A0003F20FFF7A1FD02E02046FFF79DFD10BD9F
+:1019B0002DE9F04105460C4616467F2D01DC3F2CF3
+:1019C00001DDBDE8F081E6B1E21704EB5272D210FE
+:1019D00005EBC2121C4B9A5C2146E31704EB5373D0
+:1019E000DB10A4EBC3070123BB401A43D3B220464C
+:1019F000E21704EB5272D21005EBC212124FBB5425
+:101A00001AE0E21704EB5272D21005EBC2120E4B31
+:101A10009A5C2146E31704EB5373DB10A4EBC30776
+:101A20000123BB409A432046E31704EB5373DB10BA
+:101A300005EBC313044FFA5423462A462146284691
+:101A400000F042F800BFBCE77000002010B504466B
+:101A500004F03F0141F04000FFF746FD10BD10B516
+:101A600004462046FFF78DFF2046FFF783FF10BD99
+:101A700010B5044604F00F0141F0B000FFF734FD4B
+:101A800010BD000010B504464FF480710648FFF702
+:101A900079F84FF47A71204600F056FA4FF48071CD
+:101AA0000148FFF771F810BD0008014070B5049CB3
+:101AB000044D286029716A71AB71EC710025014EEB
+:101AC000357270BD7004002010B57F2800DD7F20C6
+:101AD0007F2A00DD7F223F2900DD3F213F2B00DDF3
+:101AE0003F23104C24682478844202DD0D4C246886
+:101AF00020700C4C2468A478944202DA094C2468C3
+:101B0000A270084C246864788C4202DD054C24687D
+:101B10006170044C2468E4789C4202DA014C246829
+:101B2000E37010BD1800002070B500242CE01948A7
+:101B300000684178601CB1EBC00F00DB22E0154863
+:101B40000068C078B0EBC40F00DA1FE02046FFF752
+:101B50008FFF104909680878FFF781FF0D4800687A
+:101B6000057809E0802101FB04510B4A1268505CA2
+:101B7000FFF7C8FC681CC5B2064800688078A84218
+:101B8000F0DA00BF601CC4B2102CD0DB00BFFFF73E
+:101B9000D3FE70BD180000201400002008B50025F9
+:101BA00000266748406867490860FFF763FAFFF757
+:101BB000BDFBFFF739F8FFF733FEFFF75BFC7F2033
+:101BC00020230722052100905F48FFF76FFF4FF4A5
+:101BD00000415E48FEF7D8FFFFF70AF95C4908604C
+:101BE00008460068002870D1FFF756FC59A2002172
+:101BF0000846FFF7F5FDFFF797FFFEF789FE352052
+:101C0000FEF70AFE4E4D05F57036584805601EE099
+:101C100056480068FEF706FE0446042C11D0FFF774
+:101C20003BFC53A200210846FFF7DAFD55A2102124
+:101C30000020FFF7D5FDFFF777FF4FF47A70FFF72D
+:101C4000D3F84A48006800F50060484908604748F2
+:101C50000068B042DCD3FFF71FFC4EA2002108460B
+:101C6000FFF7BEFD51A210210020FFF7B9FDFFF7DD
+:101C70005BFF52480268524801683148FFF75AF941
+:101C8000334908600846006890B14EA22021002028
+:101C9000FFF7A6FD3BA230210020FFF7A1FDFFF7D3
+:101CA00043FF0220FEF754FD4FF47A70FFF79CF8D3
+:101CB000FFF796F947A220210020FFF791FDFFF7DB
+:101CC00033FF4FF47A70FFF76BFAFFF705FA1C4801
+:101CD00000681F49086008460068B0F1005F1ED91F
+:101CE000084600684049884219D2164800681449DD
+:101CF000884214D9134800683C4988420FD21148E1
+:101D000000683B4908600E490868FEF76CFA4FF41A
+:101D100080414803FFF7B6F9354800688047FFF770
+:101D2000BBFB34A200210846FFF75AFD34A2102164
+:101D30000020FFF755FDFFF7F7FE00BFFEE70000AC
+:101D400000400008080000208C1F00080008014027
+:101D5000040000204572617365204170706C6963F6
+:101D60006174696F6E2E2E2E0000000000000020AE
+:101D7000457261736520466C617368204661696CC9
+:101D8000000000005761697420746F2052657374FD
+:101D90006172740050726F6772616D204170706C77
+:101DA00069636174696F6E2E00000000506C65619C
+:101DB000736520576169742E2E2E00005400002098
+:101DC0005000002050726F6772616D204661696C2F
+:101DD00000000000526561647920746F20526573C1
+:101DE000746172740000000000C00020000004084C
+:101DF0000C0000204E6F20417070436F646521001D
+:101E00005665723A4941505F76312E3031000000FC
+:101E10000648002107E0026812B10268521E026003
+:101E2000001D4A1CD1B20029F5D070476C0000207B
+:101E300008B501211C20FFF73FF94FF48050ADF8A1
+:101E4000000003208DF8020010208DF80300694681
+:101E50001048FEF7C5FD8020ADF8000069460E4829
+:101E6000FEF7BEFD4FF48070ADF8000069460B48E8
+:101E7000FEF7B6FD4FF480510648FEF785FE80213F
+:101E80000548FEF781FE4FF480710448FEF77CFEA2
+:101E900008BD0000000C0140001001400008014096
+:101EA00008B501210920FFF707F94FF42040ADF8EC
+:101EB000000003208DF8020018208DF80300694609
+:101EC0000748FEF78DFD4FF48040ADF80000042078
+:101ED0008DF8030069460248FEF782FD08BD000048
+:101EE000000C014000B585B0FFF7A2FFFFF7D8FF57
+:101EF00001218803FFF7D0F80020ADF800004FF46F
+:101F00008270ADF802000020ADF804000220ADF8A8
+:101F100006000120ADF808004002ADF80A001820C4
+:101F2000ADF80C000020ADF80E000720ADF8100051
+:101F300069460448FFF75EF901210248FFF740F9BE
+:101F400005B000BD0038004070B506460D462C4671
+:101F500000E0641E02210C48FFF73EF908B9002C8E
+:101F6000F7D131460848FFF743F92C4600E0641EDC
+:101F700001210548FFF730F908B9002CF7D10248D4
+:101F8000FFF733F9C0B270BD003800400000000018
+:101F90000000005F00000007000700147F147F149A
+:101FA000242A7F2A122313086462364955225000DE
+:101FB00005030000001C2241000041221C00082AE9
+:101FC0001C2A0808083E08080050300000080808CD
+:101FD0000808006060000020100804023E514945D6
+:101FE0003E00427F400042615149462141454B310C
+:101FF0001814127F1027454545393C4A494930019C
+:10200000710905033649494936064949291E0036F2
+:102010003600000056360000000814224114141443
+:102020001414412214080002015109063249794171
+:102030003E7E1111117E7F494949363E4141412280
+:102040007F4141221C7F494949417F090901013EE5
+:10205000414151327F0808087F00417F4100204004
+:10206000413F017F081422417F404040407F0204ED
+:10207000027F7F0408107F3E4141413E7F090909EC
+:10208000063E4151215E7F09192946464949493199
+:1020900001017F01013F4040403F1F2040201F7F42
+:1020A0002018207F6314081463030478040361512B
+:1020B00049454300007F4141020408102041417F0F
+:1020C00000000402010204404040404000010204BC
+:1020D0000020545454787F484444383844444420C1
+:1020E000384444487F3854545418087E0901020883
+:1020F0001454543C7F0804047800447D4000204080
+:10210000443D00007F10284400417F40007C0418BB
+:1021100004787C0804047838444444387C1414144B
+:1021200008081414187C7C080404084854545420EB
+:10213000043F4440203C4040207C1C2040201C3C6C
+:102140004030403C44281028440C5050503C4464DB
+:10215000544C44000836410000007F000000413626
+:10216000080008082A1C08081C2A080800E0F038A3
+:102170000C0C0C0C38F8C000001F7FE080808080C1
+:10218000E0FF1F000000000101010101000000004C
+:1021900000101818FCFC0000000000000000000007
+:1021A000FFFF00000000000000000000010100002F
+:1021B0000000000000081C0C0C0C0C8CF8F0000057
+:1021C00000F0F89C8C86868383800000000101016A
+:1021D000010101010101000000081C0C0C0C0C8C19
+:1021E000F8F000000080C080818383C7FF7C00007E
+:1021F0000000010101010101000000000000008059
+:10220000C07038FCFC000000001C1E1B111810FFE1
+:10221000FF10180000000000000000010100000095
+:102220000000F4FC1C0C0C0C0C0000000080C383AC
+:10223000838383C7FE7800000000000101010101D3
+:102240000000000000C0F0781C0C0C0C080000001E
+:10225000003FFFC3838383C3FE7C000000000001B6
+:102260000101010100000000000C0C0C0C8CCC7C66
+:102270003C0C0000000080F07C0F03000000000018
+:1022800000000101000000000000000000F0F81C48
+:102290000C0C0C0CF8F0000000F8FF8F0706068FFE
+:1022A000FFF8000000000103030303010100000028
+:1022B00000F0F81C0C0C0C1CF8E000000001878EEC
+:1022C0008C8C8CEE7F1F00000000010101010100D9
+:1022D000000000000600000000000000000F0000E9
+:1022E0000F00000F00000F000000000000000000C1
+:1022F00000000000000000000000000000000000DE
+:1023000000000700001E00E01F00FF1FF8FF03FF92
+:102310001F00FF01000F000000000000000000008F
+:1023200000000000000000000000000000000000AD
+:102330000E000000C07F00F8FF01FCFF07FCFF0754
+:102340003E800F0E000E0E000E0E000E1E800FFCC3
+:10235000FF07FCFF07F8FF01C07F000000000E0030
+:10236000000070000E38000E38000E1C000E0E002B
+:102370000EFEFF0FFEFF0FFEFF0FFEFF0F00000E11
+:1023800000000E00000E00000E0000000E00000015
+:1023900060000F78800F7CC00F7CE00F1EF00F0EE6
+:1023A000F80E0E7C0E0E3E0E1E1F0EFE0F0EFC07CC
+:1023B0000EF8030EF0010E0000000E000000308049
+:1023C000013880033C80073C800F1E000F0E0E0E6C
+:1023D0000E0E0E0E0E0E1E1F0FFEFF0FFCFB07FC57
+:1023E000F903F0E0010000000F00000000F0000021
+:1023F000F80000FE0080EF00C0E700F0E1007CE0A4
+:10240000003EE000FEFF0FFEFF0FFEFF0FFEFF0F7E
+:1024100000E00000E0000E000000008001F88703EB
+:10242000FE8707FE870FFE070F0E030E8E030E8E2C
+:10243000030E8E070F8EFF070EFF070EFE0300FC34
+:10244000000000000E000000C07F00F0FF01F8FF58
+:1024500007FCFF073E0E0F0E070E0E070E0E070EAF
+:102460001E0F0F3EFF0F3CFE0738FE0330F8010041
+:1024700000000E0000000E00000E00000E00000E16
+:10248000000F0EE00F0EF80F0EFE0F8EFF00CE0FA6
+:1024900000FE0300FE00003E00001E0000000000E1
+:1024A0000E000000F0E001F8FB03FCFB07FEFF0F4D
+:1024B0001E1F0F0E0E0E0E0E0E0E0E0E1E1F0FFE08
+:1024C000FF0FFCFB07FCFB03F0E0010000000E0027
+:1024D0000000F08301F88703FC8F07FE9F0F1E1E8C
+:1024E0000F0E1C0E0E1C0E0E1C0E1E8E0FFCFF0778
+:1024F000FCFF03F8FF01C07F0000000000000000A7
+:102500000000005F00000007000700147F147F1424
+:10251000242A7F2A12231308646236495522500068
+:1025200005030000001C2241000041221C00082A73
+:102530001C2A0808083E0808005030000008080857
+:102540000808006060000020100804023E51494560
+:102550003E00427F400042615149462141454B3196
+:102560001814127F1027454545393C4A4949300126
+:10257000710905033649494936064949291E00367D
+:1025800036000000563600000008142241141414CE
+:1025900014144122140800020151090632497941FC
+:1025A0003E7E1111117E7F494949363E414141220B
+:1025B0007F4141221C7F494949417F090901013E70
+:1025C000414151327F0808087F00417F410020408F
+:1025D000413F017F081422417F404040407F020478
+:1025E000027F7F0408107F3E4141413E7F09090977
+:1025F000063E4151215E7F09192946464949493124
+:1026000001017F01013F4040403F1F2040201F7FCC
+:102610002018207F631408146303047804036151B5
+:1026200049454300007F4141020408102041417F99
+:102630000000040201020440404040400001020446
+:102640000020545454787F4844443838444444204B
+:10265000384444487F3854545418087E090102080D
+:102660001454543C7F0804047800447D400020400A
+:10267000443D00007F10284400417F40007C041846
+:1026800004787C0804047838444444387C141414D6
+:1026900008081414187C7C08040408485454542076
+:1026A000043F4440203C4040207C1C2040201C3CF7
+:1026B0004030403C44281028440C5050503C446466
+:1026C000544C44000836410000007F0000004136B1
+:1026D000080008082A1C08081C2A080800E0F0382E
+:1026E0000C0C0C0C38F8C000001F7FE0808080804C
+:1026F000E0FF1F00000000010101010100000000D7
+:1027000000101818FCFC0000000000000000000091
+:10271000FFFF0000000000000000000001010000B9
+:102720000000000000081C0C0C0C0C8CF8F00000E1
+:1027300000F0F89C8C8686838380000000010101F4
+:10274000010101010101000000081C0C0C0C0C8CA3
+:10275000F8F000000080C080818383C7FF7C000008
+:1027600000000101010101010000000000000080E3
+:10277000C07038FCFC000000001C1E1B111810FF6C
+:10278000FF10180000000000000000010100000020
+:102790000000F4FC1C0C0C0C0C0000000080C38337
+:1027A000838383C7FE78000000000001010101015E
+:1027B0000000000000C0F0781C0C0C0C08000000A9
+:1027C000003FFFC3838383C3FE7C00000000000141
+:1027D0000101010100000000000C0C0C0C8CCC7CF1
+:1027E0003C0C0000000080F07C0F030000000000A3
+:1027F00000000101000000000000000000F0F81CD3
+:102800000C0C0C0CF8F0000000F8FF8F0706068F88
+:10281000FFF80000000001030303030101000000B2
+:1028200000F0F81C0C0C0C1CF8E000000001878E76
+:102830008C8C8CEE7F1F0000000001010101010063
+:10284000000000000600000000000000000F000073
+:102850000F00000F00000F0000000000000000004B
+:102860000000000000000000000000000000000068
+:1028700000000700001E00E01F00FF1FF8FF03FF1D
+:102880001F00FF01000F000000000000000000001A
+:102890000000000000000000000000000000000038
+:1028A0000E000000C07F00F8FF01FCFF07FCFF07DF
+:1028B0003E800F0E000E0E000E0E000E1E800FFC4E
+:1028C000FF07FCFF07F8FF01C07F000000000E00BB
+:1028D000000070000E38000E38000E1C000E0E00B6
+:1028E0000EFEFF0FFEFF0FFEFF0FFEFF0F00000E9C
+:1028F00000000E00000E00000E0000000E000000A0
+:1029000060000F78800F7CC00F7CE00F1EF00F0E70
+:10291000F80E0E7C0E0E3E0E1E1F0EFE0F0EFC0756
+:102920000EF8030EF0010E0000000E0000003080D3
+:10293000013880033C80073C800F1E000F0E0E0EF6
+:102940000E0E0E0E0E0E1E1F0FFEFF0FFCFB07FCE1
+:10295000F903F0E0010000000F00000000F00000AB
+:10296000F80000FE0080EF00C0E700F0E1007CE02E
+:10297000003EE000FEFF0FFEFF0FFEFF0FFEFF0F09
+:1029800000E00000E0000E000000008001F8870376
+:10299000FE8707FE870FFE070F0E030E8E030E8EB7
+:1029A000030E8E070F8EFF070EFF070EFE0300FCBF
+:1029B000000000000E000000C07F00F0FF01F8FFE3
+:1029C00007FCFF073E0E0F0E070E0E070E0E070E3A
+:1029D0001E0F0F3EFF0F3CFE0738FE0330F80100CC
+:1029E00000000E0000000E00000E00000E00000EA1
+:1029F000000F0EE00F0EF80F0EFE0F8EFF00CE0F31
+:102A000000FE0300FE00003E00001E00000000006B
+:102A10000E000000F0E001F8FB03FCFB07FEFF0FD7
+:102A20001E1F0F0E0E0E0E0E0E0E0E0E1E1F0FFE92
+:102A3000FF0FFCFB07FCFB03F0E0010000000E00B1
+:102A40000000F08301F88703FC8F07FE9F0F1E1E16
+:102A50000F0E1C0E0E1C0E0E1C0E1E8E0FFCFF0702
+:102A6000FCFF03F8FF01C07F00000000D0B2CFAA36
+:102A7000C6D5AABBCCDD0000D0B2CFAAC6D5AABBB2
+:102A8000CCDD0000A0A1A2A3A4A50E0F0A050000A2
+:102A90005A4B3C2D1E0F00000000000000000000FB
+:102AA000000000000F1E2D3C4B5A000000000000EB
+:102AB000000000000000000021104220633084402C
+:102AC000A550C660E770088129914AA16BB18CC1FD
+:102AD000ADD1CEE1EFF13112100273325222B55274
+:102AE0009442F772D662399318837BB35AA3BDD34D
+:102AF0009CC3FFF3DEE36224433420040114E66444
+:102B0000C774A44485546AA54BB528850995EEE59C
+:102B1000CFF5ACC58DD55336722611163006D77653
+:102B2000F6669556B4465BB77AA719973887DFF7EC
+:102B3000FEE79DD7BCC7C448E5588668A77840081B
+:102B4000611802282338CCC9EDD98EE9AFF948893C
+:102B500069990AA92BB9F55AD44AB77A966A711AB3
+:102B6000500A333A122AFDDBDCCBBFFB9EEB799B8C
+:102B7000588B3BBB1AABA66C877CE44CC55C222C03
+:102B8000033C600C411CAEED8FFDECCDCDDD2AADDC
+:102B90000BBD688D499D977EB66ED55EF44E133E93
+:102BA000322E511E700E9FFFBEEFDDDFFCCF1BBF2C
+:102BB0003AAF599F788F8891A981CAB1EBA10CD106
+:102BC0002DC14EF16FE18010A100C230E32004500E
+:102BD000254046706760B9839893FBA3DAB33DC381
+:102BE0001CD37FE35EF3B1029012F322D23235425E
+:102BF000145277625672EAB5CBA5A89589856EF511
+:102C00004FE52CD50DC5E234C324A01481046674AD
+:102C1000476424540544DBA7FAB79987B8975FE760
+:102C20007EF71DC73CD7D326F2369106B0165766FD
+:102C30007676154634564CD96DC90EF92FE9C899E8
+:102C4000E9898AB9ABA94458654806782768C0184D
+:102C5000E1088238A3287DCB5CDB3FEB1EFBF98BC0
+:102C6000D89BBBAB9ABB754A545A376A167AF10A9D
+:102C7000D01AB32A923A2EFD0FED6CDD4DCDAABDD0
+:102C80008BADE89DC98D267C076C645C454CA23CED
+:102C9000832CE01CC10C1FEF3EFF5DCF7CDF9BAFA0
+:102CA000BABFD98FF89F176E367E554E745E932E3D
+:102CB000B23ED10EF01E0000D82C0008000000200B
+:102CC000700000006C010008482D00087000002012
+:102CD00080370000880100080000000000000000AC
+:102CE00000000000000000000000000000000000E4
+:102CF000000000002500000000A24A0400000000BF
+:102D0000000000000102030406070809000080C05B
+:102D1000E0F0F8FCFE01FF000000000000000000F1
+:102D200000600900FF00000000000000000000003B
+:102D30000000000000000000000000000000000093
+:102D40000000000000000000000000000000000083
+:102D50000000000000000000000000000000000073
+:102D60000000000000000000000000000000000063
+:102D70000000000000000000000000000000000053
+:102D80000000000000000000000000000000000043
+:102D90000000000000000000000000000000000033
+:102DA0000000000000000000000000000000000023
+:102DB0000000000000000000000000000000000013
+:102DC0000000000000000000000000000000000003
+:102DD00000000000000000000000000000000000F3
+:102DE00000000000000000000000000000000000E3
+:102DF00000000000000000000000000000000000D3
+:102E000000000000000000000000000000000000C2
+:102E100000000000000000000000000000000000B2
+:102E200000000000000000000000000000000000A2
+:102E30000000000000000000000000000000000092
+:102E40000000000000000000000000000000000082
+:102E50000000000000000000000000000000000072
+:102E60000000000000000000000000000000000062
+:102E70000000000000000000000000000000000052
+:102E80000000000000000000000000000000000042
+:102E90000000000000000000000000000000000032
+:102EA0000000000000000000000000000000000022
+:102EB0000000000000000000000000000000000012
+:102EC0000000000000000000000000000000000002
+:102ED00000000000000000000000000000000000F2
+:102EE00000000000000000000000000000000000E2
+:102EF00000000000000000000000000000000000D2
+:102F000000000000000000000000000000000000C1
+:102F100000000000000000000000000000000000B1
+:102F200000000000000000000000000000000000A1
+:102F30000000000000000000000000000000000091
+:102F40000000000000000000000000000000000081
+:102F50000000000000000000000000000000000071
+:102F60000000000000000000000000000000000061
+:102F70000000000000000000000000000000000051
+:102F80000000000000000000000000000000000041
+:102F90000000000000000000000000000000000031
+:102FA0000000000000000000000000000000000021
+:102FB0000000000000000000000000000000000011
+:102FC0000000000000000000000000000000000001
+:102FD00000000000000000000000000000000000F1
+:102FE00000000000000000000000000000000000E1
+:102FF00000000000000000000000000000000000D1
+:1030000000000000000000000000000000000000C0
+:1030100000000000000000000000000000000000B0
+:1030200000000000000000000000000000000000A0
+:103030000000000000000000000000000000000090
+:103040000000000000000000000000000000000080
+:103050000000000000000000000000000000000070
+:103060000000000000000000000000000000000060
+:103070000000000000000000000000000000000050
+:103080000000000000000000000000000000000040
+:103090000000000000000000000000000000000030
+:1030A0000000000000000000000000000000000020
+:1030B0000000000000000000000000000000000010
+:1030C0000000000000000000000000000000000000
+:1030D00000000000000000000000000000000000F0
+:1030E00000000000000000000000000000000000E0
+:1030F00000000000000000000000000000000000D0
+:1031000000000000000000000000000000000000BF
+:1031100000000000000000000000000000000000AF
+:10312000000000000000000000000000000000009F
+:10313000000000000000000000000000000000008F
+:10314000000000000000000000000000000000007F
+:10315000000000000000000000000000000000006F
+:10316000000000000000000000000000000000005F
+:10317000000000000000000000000000000000004F
+:10318000000000000000000000000000000000003F
+:10319000000000000000000000000000000000002F
+:1031A000000000000000000000000000000000001F
+:1031B000000000000000000000000000000000000F
+:1031C00000000000000000000000000000000000FF
+:1031D00000000000000000000000000000000000EF
+:1031E00000000000000000000000000000000000DF
+:1031F00000000000000000000000000000000000CF
+:1032000000000000000000000000000000000000BE
+:1032100000000000000000000000000000000000AE
+:10322000000000000000000000000000000000009E
+:10323000000000000000000000000000000000008E
+:10324000000000000000000000000000000000007E
+:10325000000000000000000000000000000000006E
+:10326000000000000000000000000000000000005E
+:10327000000000000000000000000000000000004E
+:10328000000000000000000000000000000000003E
+:10329000000000000000000000000000000000002E
+:1032A000000000000000000000000000000000001E
+:1032B000000000000000000000000000000000000E
+:1032C00000000000000000000000000000000000FE
+:1032D00000000000000000000000000000000000EE
+:1032E00000000000000000000000000000000000DE
+:1032F00000000000000000000000000000000000CE
+:1033000000000000000000000000000000000000BD
+:1033100000000000000000000000000000000000AD
+:10332000000000000000000000000000000000009D
+:10333000000000000000000000000000000000008D
+:10334000000000000000000000000000000000007D
+:10335000000000000000000000000000000000006D
+:10336000000000000000000000000000000000005D
+:10337000000000000000000000000000000000004D
+:10338000000000000000000000000000000000003D
+:10339000000000000000000000000000000000002D
+:1033A000000000000000000000000000000000001D
+:1033B000000000000000000000000000000000000D
+:1033C00000000000000000000000000000000000FD
+:1033D00000000000000000000000000000000000ED
+:1033E00000000000000000000000000000000000DD
+:1033F00000000000000000000000000000000000CD
+:1034000000000000000000000000000000000000BC
+:1034100000000000000000000000000000000000AC
+:10342000000000000000000000000000000000009C
+:10343000000000000000000000000000000000008C
+:10344000000000000000000000000000000000007C
+:10345000000000000000000000000000000000006C
+:10346000000000000000000000000000000000005C
+:10347000000000000000000000000000000000004C
+:10348000000000000000000000000000000000003C
+:10349000000000000000000000000000000000002C
+:1034A000000000000000000000000000000000001C
+:1034B000000000000000000000000000000000000C
+:1034C00000000000000000000000000000000000FC
+:1034D00000000000000000000000000000000000EC
+:1034E00000000000000000000000000000000000DC
+:1034F00000000000000000000000000000000000CC
+:1035000000000000000000000000000000000000BB
+:1035100000000000000000000000000000000000AB
+:10352000000000000000000000000000000000009B
+:10353000000000000000000000000000000000008B
+:10354000000000000000000000000000000000007B
+:10355000000000000000000000000000000000006B
+:10356000000000000000000000000000000000005B
+:10357000000000000000000000000000000000004B
+:10358000000000000000000000000000000000003B
+:10359000000000000000000000000000000000002B
+:1035A000000000000000000000000000000000001B
+:1035B000000000000000000000000000000000000B
+:1035C00000000000000000000000000000000000FB
+:1035D00000000000000000000000000000000000EB
+:1035E00000000000000000000000000000000000DB
+:1035F00000000000000000000000000000000000CB
+:1036000000000000000000000000000000000000BA
+:1036100000000000000000000000000000000000AA
+:10362000000000000000000000000000000000009A
+:10363000000000000000000000000000000000008A
+:10364000000000000000000000000000000000007A
+:10365000000000000000000000000000000000006A
+:10366000000000000000000000000000000000005A
+:10367000000000000000000000000000000000004A
+:10368000000000000000000000000000000000003A
+:10369000000000000000000000000000000000002A
+:1036A000000000000000000000000000000000001A
+:1036B000000000000000000000000000000000000A
+:1036C00000000000000000000000000000000000FA
+:1036D00000000000000000000000000000000000EA
+:1036E00000000000000000000000000000000000DA
+:1036F00000000000000000000000000000000000CA
+:1037000000000000000000000000000000000000B9
+:1037100000000000000000000000000000000000A9
+:103720000000000000000000000000000000000099
+:103730000000000000000000000000000000000089
+:103740000000000000000000000000000000000079
+:103750000000000000000000000000000000000069
+:103760000000000000000000000000000000000059
+:103770000000000000000000000000000000000049
+:103780000000000000000000000000000000000039
+:103790000000000000000000000000000000000029
+:1037A0000000000000000000000000000000000019
+:1037B0000000000000000000000000000000000009
+:1037C00000000000000000000000000000000000F9
+:1037D00000000000000000000000000000000000E9
+:1037E00000000000000000000000000000000000D9
+:1037F00000000000000000000000000000000000C9
+:1038000080656778000000000000000000000000F4
+:1038100000000000000000000000000000000000A8
+:103820000000000000000000000000000000000098
+:103830000000000000000000000000000000000088
+:103840000000000000000000000000000000000078
+:103850000000000000000000000000000000000068
+:103860000000000000000000000000000000000058
+:103870000000000000000000000000000000000048
+:103880000000000000000000000000000000000038
+:103890000000000000000000000000000000000028
+:1038A0000000000000000000000000000000000018
+:1038B0000000000000000000000000000000000008
+:1038C00000000000000000000000000000000000F8
+:1038D00000000000000000000000000000000000E8
+:1038E00000000000000000000000000000000000D8
+:1038F00000000000000000000000000000000000C8
+:1039000000000000000000000000000000000000B7
+:1039100000000000000000000000000000000000A7
+:103920000000000000000000000000000000000097
+:103930000000000000000000000000000000000087
+:103940000000000000000000000000000000000077
+:103950000000000000000000000000000000000067
+:103960000000000000000000000000000000000057
+:103970000000000000000000000000000000000047
+:103980000000000000000000000000000000000037
+:103990000000000000000000000000000000000027
+:1039A0000000000000000000000000000000000017
+:1039B0000000000000000000000000000000000007
+:1039C00000000000000000000000000000000000F7
+:1039D00000000000000000000000000000000000E7
+:1039E00000000000000000000000000000000000D7
+:1039F00000000000000000000000000000000000C7
+:103A000000000000000000000000000000000000B6
+:103A100000000000000000000000000000000000A6
+:103A20000000000000000000000000000000000096
+:103A30000000000000000000000000000000000086
+:103A40000000000000000000000000000000000076
+:103A50000000000000000000000000000000000066
+:103A60000000000000000000000000000000000056
+:103A70000000000000000000000000000000000046
+:103A80000000000000000000000000000000000036
+:103A90000000000000000000000000000000000026
+:103AA0000000000000000000000000000000000016
+:103AB0000000000000000000000000000000000006
+:103AC00000000000000000000000000000000000F6
+:103AD00000000000000000000000000000000000E6
+:103AE00000000000000000000000000000000000D6
+:103AF00000000000000000000000000000000000C6
+:103B000000000000000000000000000000000000B5
+:103B100000000000000000000000000000000000A5
+:103B20000000000000000000000000000000000095
+:103B30000000000000000000000000000000000085
+:103B40000000000000000000000000000000000075
+:103B50000000000000000000000000000000000065
+:103B60000000000000000000000000000000000055
+:103B70000000000000000000000000000000000045
+:103B80000000000000000000000000000000000035
+:103B90000000000000000000000000000000000025
+:103BA0000000000000000000000000000000000015
+:103BB0000000000000000000000000000000000005
+:103BC00000000000000000000000000000000000F5
+:103BD00000000000000000000000000000000000E5
+:103BE00000000000000000000000000000000000D5
+:103BF00000000000000000000000000000000000C5
+:103C000000000000000000000000000000000000B4
+:103C100000000000000000000000000000000000A4
+:103C20000000000000000000000000000000000094
+:103C30000000000000000000000000000000000084
+:103C40000000000000000000000000000000000074
+:103C50000000000000000000000000000000000064
+:103C60000000000000000000000000000000000054
+:103C70000000000000000000000000000000000044
+:103C80000000000000000000000000000000000034
+:103C90000000000000000000000000000000000024
+:103CA0000000000000000000000000000000000014
+:103CB0000000000000000000000000000000000004
+:103CC00000000000000000000000000000000000F4
+:103CD00000000000000000000000000000000000E4
+:103CE00000000000000000000000000000000000D4
+:103CF00000000000000000000000000000000000C4
+:103D000000000000000000000000000000000000B3
+:103D100000000000000000000000000000000000A3
+:103D20000000000000000000000000000000000093
+:103D30000000000000000000000000000000000083
+:103D40000000000000000000000000000000000073
+:103D50000000000000000000000000000000000063
+:103D60000000000000000000000000000000000053
+:103D70000000000000000000000000000000000043
+:103D80000000000000000000000000000000000033
+:103D90000000000000000000000000000000000023
+:103DA0000000000000000000000000000000000013
+:103DB0000000000000000000000000000000000003
+:103DC00000000000000000000000000000000000F3
+:103DD00000000000000000000000000000000000E3
+:103DE00000000000000000000000000000000000D3
+:103DF00000000000000000000000000000000000C3
+:103E000000000000000000000000000000000000B2
+:103E100000000000000000000000000000000000A2
+:103E20000000000000000000000000000000000092
+:103E30000000000000000000000000000000000082
+:103E40000000000000000000000000000000000072
+:103E50000000000000000000000000000000000062
+:103E60000000000000000000000000000000000052
+:103E70000000000000000000000000000000000042
+:103E80000000000000000000000000000000000032
+:103E90000000000000000000000000000000000022
+:103EA0000000000000000000000000000000000012
+:103EB0000000000000000000000000000000000002
+:103EC00000000000000000000000000000000000F2
+:103ED00000000000000000000000000000000000E2
+:103EE00000000000000000000000000000000000D2
+:103EF00000000000000000000000000000000000C2
+:103F000000000000000000000000000000000000B1
+:103F100000000000000000000000000000000000A1
+:103F20000000000000000000000000000000000091
+:103F30000000000000000000000000000000000081
+:103F40000000000000000000000000000000000071
+:103F50000000000000000000000000000000000061
+:103F60000000000000000000000000000000000051
+:103F70000000000000000000000000000000000041
+:103F80000000000000000000000000000000000031
+:103F90000000000000000000000000000000000021
+:103FA0000000000000000000000000000000000011
+:103FB0000000000000000000000000000000000001
+:103FC00000000000000000000000000000000000F1
+:103FD00000000000000000000000000000000000E1
+:103FE00000000000000000000000000000000000D1
+:103FF00000000000000000000000000000000000C1
+:00000001FF
diff --git a/g401302/hex/readme.txt b/g401302/hex/readme.txt
new file mode 100644
index 0000000..8a9f258
--- /dev/null
+++ b/g401302/hex/readme.txt
@@ -0,0 +1,14 @@
+Éú³É°üº¬bootloaderºÍapplicationµÄºÏ²¢.hex,²»ÐèÒª¼ÓÃÜ
+1£¬ÔÚapplicationĿ¼Ï±àдmerge.iniÎļþ
+2£¬ÔÚhexĿ¼Ï·ÅbootloaderµÄ.hexÎļþ£¬ÕâÀïÊÇSTM32IAPCombine.hex
+3£¬keil optionsÀïµÄdebugÀïÃæÑ¡Ôñuse simulator£¬°´ctrl+F5ÔÚhexĿ¼ÏÂÉú³ÉºÏ²¢.hex,ÕâÀïÊÇwaterctrl_combine.hex
+4£¬´ò¿ªseggerÏÂJ-Flash
+1) File ->open data file (Ñ¡ÔñÉú³ÉµÄwaterctrl_combine.hex)
+2) Option->
+project settings --Target InterfaceÑ¡ÔñSWD
+project settings --CPUÑ¡ÔñDevice,ST STM32F101RB,¹´Ñ¡Check core ID
+3)target --connect,Á¬½Ó³É¹¦ºó°´F7ÏÂÔØ£¬F9ÔËÐÐ
+
+
+##STM32IAPCombine51.hex G401302µÄbootloader
+##STM32IAPCombine50.hex G401300µÄbootloader
\ No newline at end of file
diff --git a/g401302/lib/G401_drv_hw_V04.lib b/g401302/lib/G401_drv_hw_V04.lib
new file mode 100644
index 0000000..d744d92
--- /dev/null
+++ b/g401302/lib/G401_drv_hw_V04.lib
Binary files differ
diff --git a/g401302/lib/g401_uart5_v001.lib b/g401302/lib/g401_uart5_v001.lib
new file mode 100644
index 0000000..94ae122
--- /dev/null
+++ b/g401302/lib/g401_uart5_v001.lib
Binary files differ
diff --git a/g401302/project/JLinkSettings.ini b/g401302/project/JLinkSettings.ini
new file mode 100644
index 0000000..2d53bb4
--- /dev/null
+++ b/g401302/project/JLinkSettings.ini
@@ -0,0 +1,35 @@
+[BREAKPOINTS]
+ForceImpTypeAny = 0
+ShowInfoWin = 1
+EnableFlashBP = 2
+BPDuringExecution = 0
+[CFI]
+CFISize = 0x00
+CFIAddr = 0x00
+[CPU]
+OverrideMemMap = 0
+AllowSimulation = 1
+ScriptFile=""
+[FLASH]
+CacheExcludeSize = 0x00
+CacheExcludeAddr = 0x00
+MinNumBytesFlashDL = 0
+SkipProgOnCRCMatch = 1
+VerifyDownload = 1
+AllowCaching = 1
+EnableFlashDL = 2
+Override = 0
+Device="UNSPECIFIED"
+[GENERAL]
+WorkRAMSize = 0x00
+WorkRAMAddr = 0x00
+RAMUsageLimit = 0x00
+[SWO]
+SWOLogFile=""
+[MEM]
+RdOverrideOrMask = 0x00
+RdOverrideAndMask = 0xFFFFFFFF
+RdOverrideAddr = 0xFFFFFFFF
+WrOverrideOrMask = 0x00
+WrOverrideAndMask = 0xFFFFFFFF
+WrOverrideAddr = 0xFFFFFFFF
diff --git a/g401302/project/g401302.uvopt b/g401302/project/g401302.uvopt
new file mode 100644
index 0000000..156579a
--- /dev/null
+++ b/g401302/project/g401302.uvopt
@@ -0,0 +1,1388 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_opt.xsd">
+
+ <SchemaVersion>1.0</SchemaVersion>
+
+ <Header>### uVision Project, (C) Keil Software</Header>
+
+ <Extensions>
+ <cExt>*.c</cExt>
+ <aExt>*.s*; *.src; *.a*</aExt>
+ <oExt>*.obj</oExt>
+ <lExt>*.lib</lExt>
+ <tExt>*.txt; *.h; *.inc</tExt>
+ <pExt>*.plm</pExt>
+ <CppX>*.cpp</CppX>
+ </Extensions>
+
+ <DaveTm>
+ <dwLowDateTime>0</dwLowDateTime>
+ <dwHighDateTime>0</dwHighDateTime>
+ </DaveTm>
+
+ <Target>
+ <TargetName>flow</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <TargetOption>
+ <CLKADS>8000000</CLKADS>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>1</RunSim>
+ <RunTarget>0</RunTarget>
+ </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>..\outFlow\</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>255</CpuCode>
+ <Books>
+ <Book>
+ <Number>0</Number>
+ <Title>Reference Manual</Title>
+ <Path>DATASHTS\ST\STM32F10xxx.PDF</Path>
+ </Book>
+ <Book>
+ <Number>1</Number>
+ <Title>Technical Reference Manual</Title>
+ <Path>datashts\arm\cortex_m3\r1p1\DDI0337E_CORTEX_M3_R1P1_TRM.PDF</Path>
+ </Book>
+ <Book>
+ <Number>2</Number>
+ <Title>Generic User Guide</Title>
+ <Path>datashts\arm\cortex_m3\r2p1\DUI0552A_CORTEX_M3_DGUG.PDF</Path>
+ </Book>
+ </Books>
+ <DllOpt>
+ <SimDllName>SARMCM3.DLL</SimDllName>
+ <SimDllArguments>-REMAP</SimDllArguments>
+ <SimDlgDllName>DCM.DLL</SimDlgDllName>
+ <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+ <TargetDllName>SARMCM3.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDllName>TCM.DLL</TargetDlgDllName>
+ <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+ </DllOpt>
+ <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>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>7</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile>.\merge.ini</sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>Segger\JL2CM3.dll</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>JL2CM3</Key>
+ <Name>-U20370421 -O718 -S9 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>DLGUARM</Key>
+ <Name>(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>DLGTARM</Key>
+ <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>-UV0010M9E -O718 -S10 -C0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>DLGDARM</Key>
+ <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=90,120,456,345,0)(1009=-1,-1,-1,-1,0)</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>ARMDBGFLAGS</Key>
+ <Name>-T0</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <Breakpoint>
+ <Bp>
+ <Number>0</Number>
+ <Type>0</Type>
+ <LineNumber>296</LineNumber>
+ <EnabledFlag>0</EnabledFlag>
+ <Address>134296172</Address>
+ <ByteObject>0</ByteObject>
+ <ManyObjects>0</ManyObjects>
+ <SizeOfObject>0</SizeOfObject>
+ <BreakByAccess>0</BreakByAccess>
+ <BreakIfRCount>1</BreakIfRCount>
+ <Filename></Filename>
+ <ExecCommand></ExecCommand>
+ <Expression>\\G401302_flow\../../supwisdom/sp_data.c\296</Expression>
+ </Bp>
+ <Bp>
+ <Number>1</Number>
+ <Type>0</Type>
+ <LineNumber>623</LineNumber>
+ <EnabledFlag>0</EnabledFlag>
+ <Address>134295132</Address>
+ <ByteObject>0</ByteObject>
+ <ManyObjects>0</ManyObjects>
+ <SizeOfObject>0</SizeOfObject>
+ <BreakByAccess>0</BreakByAccess>
+ <BreakIfRCount>1</BreakIfRCount>
+ <Filename></Filename>
+ <ExecCommand></ExecCommand>
+ <Expression>\\G401302_flow\../../supwisdom/sp_consume.c\623</Expression>
+ </Bp>
+ <Bp>
+ <Number>2</Number>
+ <Type>0</Type>
+ <LineNumber>206</LineNumber>
+ <EnabledFlag>1</EnabledFlag>
+ <Address>134291598</Address>
+ <ByteObject>0</ByteObject>
+ <ManyObjects>0</ManyObjects>
+ <SizeOfObject>0</SizeOfObject>
+ <BreakByAccess>0</BreakByAccess>
+ <BreakIfRCount>1</BreakIfRCount>
+ <Filename></Filename>
+ <ExecCommand></ExecCommand>
+ <Expression>\\G401302_flow\../../supwisdom/sp_communicate.c\206</Expression>
+ </Bp>
+ </Breakpoint>
+ <WatchWindow1>
+ <Ww>
+ <count>0</count>
+ <WinNumber>1</WinNumber>
+ <ItemText>60*4095/653</ItemText>
+ </Ww>
+ <Ww>
+ <count>1</count>
+ <WinNumber>1</WinNumber>
+ <ItemText>cardkey
+</ItemText>
+ </Ww>
+ <Ww>
+ <count>2</count>
+ <WinNumber>1</WinNumber>
+ <ItemText>usart_info</ItemText>
+ </Ww>
+ </WatchWindow1>
+ <MemoryWindow1>
+ <Mm>
+ <WinNumber>1</WinNumber>
+ <SubType>0</SubType>
+ <ItemText>0x20004EC0</ItemText>
+ </Mm>
+ </MemoryWindow1>
+ <MemoryWindow2>
+ <Mm>
+ <WinNumber>2</WinNumber>
+ <SubType>2</SubType>
+ <ItemText>0X20002F10</ItemText>
+ </Mm>
+ </MemoryWindow2>
+ <MemoryWindow3>
+ <Mm>
+ <WinNumber>3</WinNumber>
+ <SubType>2</SubType>
+ <ItemText>0x200000ee</ItemText>
+ </Mm>
+ </MemoryWindow3>
+ <MemoryWindow4>
+ <Mm>
+ <WinNumber>4</WinNumber>
+ <SubType>2</SubType>
+ <ItemText>0x08007C84</ItemText>
+ </Mm>
+ </MemoryWindow4>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>1</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>1</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>1</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>
+ </TargetOption>
+ </Target>
+
+ <Target>
+ <TargetName>timer</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <TargetOption>
+ <CLKADS>8000000</CLKADS>
+ <OPTTT>
+ <gFlags>1</gFlags>
+ <BeepAtEnd>1</BeepAtEnd>
+ <RunSim>1</RunSim>
+ <RunTarget>0</RunTarget>
+ </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>..\outTimer\</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>0</IsCurrentTarget>
+ </OPTFL>
+ <CpuCode>255</CpuCode>
+ <Books>
+ <Book>
+ <Number>0</Number>
+ <Title>Reference Manual</Title>
+ <Path>DATASHTS\ST\STM32F10xxx.PDF</Path>
+ </Book>
+ <Book>
+ <Number>1</Number>
+ <Title>Technical Reference Manual</Title>
+ <Path>datashts\arm\cortex_m3\r1p1\DDI0337E_CORTEX_M3_R1P1_TRM.PDF</Path>
+ </Book>
+ <Book>
+ <Number>2</Number>
+ <Title>Generic User Guide</Title>
+ <Path>datashts\arm\cortex_m3\r2p1\DUI0552A_CORTEX_M3_DGUG.PDF</Path>
+ </Book>
+ </Books>
+ <DllOpt>
+ <SimDllName>SARMCM3.DLL</SimDllName>
+ <SimDllArguments>-REMAP</SimDllArguments>
+ <SimDlgDllName>DCM.DLL</SimDlgDllName>
+ <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+ <TargetDllName>SARMCM3.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDllName>TCM.DLL</TargetDlgDllName>
+ <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+ </DllOpt>
+ <DebugOpt>
+ <uSim>1</uSim>
+ <uTrg>0</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>
+ <sRunDeb>0</sRunDeb>
+ <sLrtime>0</sLrtime>
+ <nTsel>5</nTsel>
+ <sDll></sDll>
+ <sDllPa></sDllPa>
+ <sDlgDll></sDlgDll>
+ <sDlgPa></sDlgPa>
+ <sIfile>.\merge.ini</sIfile>
+ <tDll></tDll>
+ <tDllPa></tDllPa>
+ <tDlgDll></tDlgDll>
+ <tDlgPa></tDlgPa>
+ <tIfile></tIfile>
+ <pMon>Segger\JL2CM3.dll</pMon>
+ </DebugOpt>
+ <TargetDriverDllRegistry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>JL2CM3</Key>
+ <Name>-U20370421 -O718 -S9 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>DLGUARM</Key>
+ <Name>(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0)</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>DLGTARM</Key>
+ <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>UL2CM3</Key>
+ <Name>-UV0010M9E -O718 -S10 -C0 -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC2000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>DLGDARM</Key>
+ <Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=90,120,456,345,0)(1009=-1,-1,-1,-1,0)</Name>
+ </SetRegEntry>
+ <SetRegEntry>
+ <Number>0</Number>
+ <Key>ARMDBGFLAGS</Key>
+ <Name>-T0</Name>
+ </SetRegEntry>
+ </TargetDriverDllRegistry>
+ <WatchWindow1>
+ <Ww>
+ <count>0</count>
+ <WinNumber>1</WinNumber>
+ <ItemText>60*4095/653</ItemText>
+ </Ww>
+ <Ww>
+ <count>1</count>
+ <WinNumber>1</WinNumber>
+ <ItemText>cardkey
+</ItemText>
+ </Ww>
+ </WatchWindow1>
+ <MemoryWindow1>
+ <Mm>
+ <WinNumber>1</WinNumber>
+ <SubType>0</SubType>
+ <ItemText>rd_buff</ItemText>
+ </Mm>
+ </MemoryWindow1>
+ <MemoryWindow2>
+ <Mm>
+ <WinNumber>2</WinNumber>
+ <SubType>2</SubType>
+ <ItemText>0X20002F10</ItemText>
+ </Mm>
+ </MemoryWindow2>
+ <MemoryWindow3>
+ <Mm>
+ <WinNumber>3</WinNumber>
+ <SubType>2</SubType>
+ <ItemText>0x200000ee</ItemText>
+ </Mm>
+ </MemoryWindow3>
+ <MemoryWindow4>
+ <Mm>
+ <WinNumber>4</WinNumber>
+ <SubType>2</SubType>
+ <ItemText>0x08007C84</ItemText>
+ </Mm>
+ </MemoryWindow4>
+ <DebugFlag>
+ <trace>0</trace>
+ <periodic>1</periodic>
+ <aLwin>1</aLwin>
+ <aCover>0</aCover>
+ <aSer1>0</aSer1>
+ <aSer2>0</aSer2>
+ <aPa>0</aPa>
+ <viewmode>1</viewmode>
+ <vrSel>0</vrSel>
+ <aSym>0</aSym>
+ <aTbox>0</aTbox>
+ <AscS1>1</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>
+ </TargetOption>
+ </Target>
+
+ <Group>
+ <GroupName>lcd</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>1</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>101</TopLine>
+ <CurrentLine>110</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\glcd.c</PathWithFileName>
+ <FilenameWithoutPath>glcd.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>2</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\graphics.c</PathWithFileName>
+ <FilenameWithoutPath>graphics.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>3</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\graphs.c</PathWithFileName>
+ <FilenameWithoutPath>graphs.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>4</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\text.c</PathWithFileName>
+ <FilenameWithoutPath>text.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>5</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\text_tiny.c</PathWithFileName>
+ <FilenameWithoutPath>text_tiny.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>6</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\unit_tests.c</PathWithFileName>
+ <FilenameWithoutPath>unit_tests.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>7</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\glcd_spi.c</PathWithFileName>
+ <FilenameWithoutPath>glcd_spi.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>8</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\ST7565R.c</PathWithFileName>
+ <FilenameWithoutPath>ST7565R.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>1</GroupNumber>
+ <FileNumber>9</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>54</TopLine>
+ <CurrentLine>76</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\lcd\spi.c</PathWithFileName>
+ <FilenameWithoutPath>spi.c</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>icc_apdu_lib</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>2</GroupNumber>
+ <FileNumber>10</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\icc_apdu_lib\des.c</PathWithFileName>
+ <FilenameWithoutPath>des.c</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>sw</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>11</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\src\nec_apdu.c</PathWithFileName>
+ <FilenameWithoutPath>nec_apdu.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>12</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>1</TopLine>
+ <CurrentLine>1</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\src\nec_hardware.c</PathWithFileName>
+ <FilenameWithoutPath>nec_hardware.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>13</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>31</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>132</TopLine>
+ <CurrentLine>139</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\src\stm32f10x_it.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_it.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>14</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>11</TopLine>
+ <CurrentLine>15</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\main.c</PathWithFileName>
+ <FilenameWithoutPath>main.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>15</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>25</TopLine>
+ <CurrentLine>25</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_card.c</PathWithFileName>
+ <FilenameWithoutPath>sp_card.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>16</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>196</TopLine>
+ <CurrentLine>208</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_communicate.c</PathWithFileName>
+ <FilenameWithoutPath>sp_communicate.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>17</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>551</TopLine>
+ <CurrentLine>558</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_consume.c</PathWithFileName>
+ <FilenameWithoutPath>sp_consume.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>18</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>208</TopLine>
+ <CurrentLine>215</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_data.c</PathWithFileName>
+ <FilenameWithoutPath>sp_data.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>19</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_des.c</PathWithFileName>
+ <FilenameWithoutPath>sp_des.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>20</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>56</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>208</TopLine>
+ <CurrentLine>228</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_display.c</PathWithFileName>
+ <FilenameWithoutPath>sp_display.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>21</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_flash.c</PathWithFileName>
+ <FilenameWithoutPath>sp_flash.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>22</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>9</TopLine>
+ <CurrentLine>9</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_menu.c</PathWithFileName>
+ <FilenameWithoutPath>sp_menu.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>23</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>15</TopLine>
+ <CurrentLine>21</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_msgpack.c</PathWithFileName>
+ <FilenameWithoutPath>sp_msgpack.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>24</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>175</TopLine>
+ <CurrentLine>175</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_util.c</PathWithFileName>
+ <FilenameWithoutPath>sp_util.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>3</GroupNumber>
+ <FileNumber>25</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\supwisdom\sp_upgrade.c</PathWithFileName>
+ <FilenameWithoutPath>sp_upgrade.c</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>lib</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>26</FileNumber>
+ <FileType>4</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\lib\G401_drv_hw_V04.lib</PathWithFileName>
+ <FilenameWithoutPath>G401_drv_hw_V04.lib</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>4</GroupNumber>
+ <FileNumber>27</FileNumber>
+ <FileType>4</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\lib\g401_uart5_v001.lib</PathWithFileName>
+ <FilenameWithoutPath>g401_uart5_v001.lib</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>st_fw_lib</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>28</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\core_cm3.c</PathWithFileName>
+ <FilenameWithoutPath>core_cm3.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>29</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\misc.c</PathWithFileName>
+ <FilenameWithoutPath>misc.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>30</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_adc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_adc.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>31</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_bkp.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_bkp.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>32</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_can.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_can.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>33</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_cec.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_cec.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>34</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_crc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_crc.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>35</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_dac.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_dac.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>36</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_dbgmcu.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_dbgmcu.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>37</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_dma.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_dma.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>38</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_exti.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_exti.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>39</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_flash.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_flash.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>40</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_fsmc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_fsmc.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>41</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>232</TopLine>
+ <CurrentLine>236</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_gpio.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_gpio.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>42</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_i2c.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_i2c.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>43</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_pwr.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_pwr.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>44</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_iwdg.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_iwdg.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>45</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_rcc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_rcc.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>46</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_rtc.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_rtc.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>47</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_sdio.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_sdio.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>48</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_spi.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_spi.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>49</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_tim.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_tim.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>50</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_usart.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_usart.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>51</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\src\stm32f10x_wwdg.c</PathWithFileName>
+ <FilenameWithoutPath>stm32f10x_wwdg.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>52</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\system_stm32f10x.c</PathWithFileName>
+ <FilenameWithoutPath>system_stm32f10x.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>5</GroupNumber>
+ <FileNumber>53</FileNumber>
+ <FileType>2</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\st_fw_lib\startup_stm32f10x_hd.s</PathWithFileName>
+ <FilenameWithoutPath>startup_stm32f10x_hd.s</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>sys_hw</GroupName>
+ <tvExp>1</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>6</GroupNumber>
+ <FileNumber>54</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>58</TopLine>
+ <CurrentLine>62</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\sys_hw\keypad.c</PathWithFileName>
+ <FilenameWithoutPath>keypad.c</FilenameWithoutPath>
+ </File>
+ <File>
+ <GroupNumber>6</GroupNumber>
+ <FileNumber>55</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\sys_hw\drv_adc.c</PathWithFileName>
+ <FilenameWithoutPath>drv_adc.c</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>zk</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>7</GroupNumber>
+ <FileNumber>56</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\zk\gb2312_16.c</PathWithFileName>
+ <FilenameWithoutPath>gb2312_16.c</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>libqr</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>8</GroupNumber>
+ <FileNumber>57</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\libqr\qrencode.c</PathWithFileName>
+ <FilenameWithoutPath>qrencode.c</FilenameWithoutPath>
+ </File>
+ </Group>
+
+ <Group>
+ <GroupName>msgpack</GroupName>
+ <tvExp>0</tvExp>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <cbSel>0</cbSel>
+ <File>
+ <GroupNumber>9</GroupNumber>
+ <FileNumber>58</FileNumber>
+ <FileType>1</FileType>
+ <tvExp>0</tvExp>
+ <Focus>0</Focus>
+ <ColumnNumber>0</ColumnNumber>
+ <tvExpOptDlg>0</tvExpOptDlg>
+ <TopLine>0</TopLine>
+ <CurrentLine>0</CurrentLine>
+ <bDave2>0</bDave2>
+ <PathWithFileName>..\..\msgpack\cwpack.c</PathWithFileName>
+ <FilenameWithoutPath>cwpack.c</FilenameWithoutPath>
+ </File>
+ </Group>
+
+</ProjectOpt>
diff --git a/g401302/project/g401302.uvproj b/g401302/project/g401302.uvproj
new file mode 100644
index 0000000..eb083a6
--- /dev/null
+++ b/g401302/project/g401302.uvproj
@@ -0,0 +1,1439 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
+
+ <SchemaVersion>1.1</SchemaVersion>
+
+ <Header>### uVision Project, (C) Keil Software</Header>
+
+ <Targets>
+ <Target>
+ <TargetName>flow</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>STM32F103RC</Device>
+ <Vendor>STMicroelectronics</Vendor>
+ <Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile>"STARTUP\ST\STM32F10x\startup_stm32f10x_hd.s" ("STM32 High Density Line Startup Code")</StartupFile>
+ <FlashDriverDll>UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000)</FlashDriverDll>
+ <DeviceId>4230</DeviceId>
+ <RegisterFile>stm32f10x.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile></SFDFile>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath>ST\STM32F10x\</RegisterFilePath>
+ <DBRegisterFilePath>ST\STM32F10x\</DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>..\outFlow\</OutputDirectory>
+ <OutputName>G401302_flow</OutputName>
+ <CreateExecutable>1</CreateExecutable>
+ <CreateLib>0</CreateLib>
+ <CreateHexFile>1</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>1</BrowseInformation>
+ <ListingPath>..\outFlow\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd /c gitver.bat</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>fromelf --bin -o ..\outFlow\@l.bin ..\outFlow\@l.axf</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ </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>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName>SARMCM3.DLL</SimDllName>
+ <SimDllArguments>-REMAP</SimDllArguments>
+ <SimDlgDll>DCM.DLL</SimDlgDll>
+ <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+ <TargetDllName>SARMCM3.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ <Simulator>
+ <UseSimulator>0</UseSimulator>
+ <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+ <RunToMain>1</RunToMain>
+ <RestoreBreakpoints>1</RestoreBreakpoints>
+ <RestoreWatchpoints>1</RestoreWatchpoints>
+ <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+ <RestoreFunctions>1</RestoreFunctions>
+ <RestoreToolbox>1</RestoreToolbox>
+ <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+ </Simulator>
+ <Target>
+ <UseTarget>1</UseTarget>
+ <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+ <RunToMain>1</RunToMain>
+ <RestoreBreakpoints>1</RestoreBreakpoints>
+ <RestoreWatchpoints>1</RestoreWatchpoints>
+ <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+ <RestoreFunctions>0</RestoreFunctions>
+ <RestoreToolbox>1</RestoreToolbox>
+ </Target>
+ <RunDebugAfterBuild>0</RunDebugAfterBuild>
+ <TargetSelection>7</TargetSelection>
+ <SimDlls>
+ <CpuDll></CpuDll>
+ <CpuDllArguments></CpuDllArguments>
+ <PeripheralDll></PeripheralDll>
+ <PeripheralDllArguments></PeripheralDllArguments>
+ <InitializationFile>.\merge.ini</InitializationFile>
+ </SimDlls>
+ <TargetDlls>
+ <CpuDll></CpuDll>
+ <CpuDllArguments></CpuDllArguments>
+ <PeripheralDll></PeripheralDll>
+ <PeripheralDllArguments></PeripheralDllArguments>
+ <InitializationFile></InitializationFile>
+ <Driver>Segger\JL2CM3.dll</Driver>
+ </TargetDlls>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>1</Capability>
+ <DriverSelection>4099</DriverSelection>
+ </Flash1>
+ <Flash2>Segger\JL2CM3.dll</Flash2>
+ <Flash3>"" ()</Flash3>
+ <Flash4></Flash4>
+ </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>0</RvctClst>
+ <GenPPlst>0</GenPPlst>
+ <AdsCpuType>"Cortex-M3"</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>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <StupSel>8</StupSel>
+ <useUlib>0</useUlib>
+ <EndSel>0</EndSel>
+ <uLtcg>0</uLtcg>
+ <RoSelD>3</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>1</Ir1Chk>
+ <Ir2Chk>0</Ir2Chk>
+ <Ra1Chk>0</Ra1Chk>
+ <Ra2Chk>0</Ra2Chk>
+ <Ra3Chk>0</Ra3Chk>
+ <Im1Chk>1</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>0xc000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x8000000</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>0x8004000</StartAddress>
+ <Size>0x3c000</Size>
+ </OCR_RVCT4>
+ <OCR_RVCT5>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT5>
+ <OCR_RVCT6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT6>
+ <OCR_RVCT7>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT7>
+ <OCR_RVCT8>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT8>
+ <OCR_RVCT9>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0xc000</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>1</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>0</wLevel>
+ <uThumb>0</uThumb>
+ <VariousControls>
+ <MiscControls>--c99 --diag_suppress=188 -DFLOWSENSOR</MiscControls>
+ <Define>STM32F10X_HD,USE_STDPERIPH_DRIVER,HW_V02</Define>
+ <Undefine></Undefine>
+ <IncludePath>..\src;..\lib;..\..\icc_apdu_lib;..\..\st_fw_lib\inc;..\..\st_fw_lib;..\..\lcd;.\;..\..\sys_hw;..\..\zk;..\..\app_drv;..\..\libqr;..\..\msgpack;</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>
+ <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>0x08000000</TextAddressRange>
+ <DataAddressRange>0x20000000</DataAddressRange>
+ <ScatterFile></ScatterFile>
+ <IncludeLibs></IncludeLibs>
+ <IncludeLibsPath></IncludeLibsPath>
+ <Misc></Misc>
+ <LinkerInputFile></LinkerInputFile>
+ <DisabledWarnings></DisabledWarnings>
+ </LDads>
+ </TargetArmAds>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>lcd</GroupName>
+ <Files>
+ <File>
+ <FileName>glcd.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\glcd.c</FilePath>
+ </File>
+ <File>
+ <FileName>graphics.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\graphics.c</FilePath>
+ </File>
+ <File>
+ <FileName>graphs.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\graphs.c</FilePath>
+ </File>
+ <File>
+ <FileName>text.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\text.c</FilePath>
+ </File>
+ <File>
+ <FileName>text_tiny.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\text_tiny.c</FilePath>
+ </File>
+ <File>
+ <FileName>unit_tests.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\unit_tests.c</FilePath>
+ </File>
+ <File>
+ <FileName>glcd_spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\glcd_spi.c</FilePath>
+ </File>
+ <File>
+ <FileName>ST7565R.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\ST7565R.c</FilePath>
+ </File>
+ <File>
+ <FileName>spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\spi.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>icc_apdu_lib</GroupName>
+ <Files>
+ <File>
+ <FileName>des.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\icc_apdu_lib\des.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>sw</GroupName>
+ <Files>
+ <File>
+ <FileName>nec_apdu.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\nec_apdu.c</FilePath>
+ </File>
+ <File>
+ <FileName>nec_hardware.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\nec_hardware.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_it.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\stm32f10x_it.c</FilePath>
+ </File>
+ <File>
+ <FileName>main.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\main.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_card.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_card.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_communicate.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_communicate.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_consume.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_consume.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_data.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_data.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_des.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_des.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_display.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_display.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_menu.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_menu.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_msgpack.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_msgpack.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_util.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_util.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_upgrade.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_upgrade.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>lib</GroupName>
+ <Files>
+ <File>
+ <FileName>G401_drv_hw_V04.lib</FileName>
+ <FileType>4</FileType>
+ <FilePath>..\lib\G401_drv_hw_V04.lib</FilePath>
+ </File>
+ <File>
+ <FileName>g401_uart5_v001.lib</FileName>
+ <FileType>4</FileType>
+ <FilePath>..\lib\g401_uart5_v001.lib</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>st_fw_lib</GroupName>
+ <Files>
+ <File>
+ <FileName>core_cm3.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\core_cm3.c</FilePath>
+ </File>
+ <File>
+ <FileName>misc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\misc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_adc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_adc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_bkp.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_bkp.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_can.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_can.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_cec.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_cec.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_crc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_crc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_dac.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_dac.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_dbgmcu.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_dbgmcu.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_dma.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_dma.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_exti.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_exti.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_fsmc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_fsmc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_gpio.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_gpio.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_i2c.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_i2c.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_pwr.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_pwr.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_iwdg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_iwdg.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_rcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_rcc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_rtc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_rtc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_sdio.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_sdio.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_spi.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_tim.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_tim.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_usart.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_usart.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_wwdg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_wwdg.c</FilePath>
+ </File>
+ <File>
+ <FileName>system_stm32f10x.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\system_stm32f10x.c</FilePath>
+ </File>
+ <File>
+ <FileName>startup_stm32f10x_hd.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\st_fw_lib\startup_stm32f10x_hd.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>sys_hw</GroupName>
+ <Files>
+ <File>
+ <FileName>keypad.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\sys_hw\keypad.c</FilePath>
+ </File>
+ <File>
+ <FileName>drv_adc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\sys_hw\drv_adc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>zk</GroupName>
+ <Files>
+ <File>
+ <FileName>gb2312_16.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\zk\gb2312_16.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>libqr</GroupName>
+ <Files>
+ <File>
+ <FileName>qrencode.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\libqr\qrencode.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>msgpack</GroupName>
+ <Files>
+ <File>
+ <FileName>cwpack.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\msgpack\cwpack.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ </Groups>
+ </Target>
+ <Target>
+ <TargetName>timer</TargetName>
+ <ToolsetNumber>0x4</ToolsetNumber>
+ <ToolsetName>ARM-ADS</ToolsetName>
+ <TargetOption>
+ <TargetCommonOption>
+ <Device>STM32F103RC</Device>
+ <Vendor>STMicroelectronics</Vendor>
+ <Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3")</Cpu>
+ <FlashUtilSpec></FlashUtilSpec>
+ <StartupFile>"STARTUP\ST\STM32F10x\startup_stm32f10x_hd.s" ("STM32 High Density Line Startup Code")</StartupFile>
+ <FlashDriverDll>UL2CM3(-O14 -S0 -C0 -N00("ARM Cortex-M3") -D00(1BA00477) -L00(4) -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000)</FlashDriverDll>
+ <DeviceId>4230</DeviceId>
+ <RegisterFile>stm32f10x.h</RegisterFile>
+ <MemoryEnv></MemoryEnv>
+ <Cmp></Cmp>
+ <Asm></Asm>
+ <Linker></Linker>
+ <OHString></OHString>
+ <InfinionOptionDll></InfinionOptionDll>
+ <SLE66CMisc></SLE66CMisc>
+ <SLE66AMisc></SLE66AMisc>
+ <SLE66LinkerMisc></SLE66LinkerMisc>
+ <SFDFile></SFDFile>
+ <UseEnv>0</UseEnv>
+ <BinPath></BinPath>
+ <IncludePath></IncludePath>
+ <LibPath></LibPath>
+ <RegisterFilePath>ST\STM32F10x\</RegisterFilePath>
+ <DBRegisterFilePath>ST\STM32F10x\</DBRegisterFilePath>
+ <TargetStatus>
+ <Error>0</Error>
+ <ExitCodeStop>0</ExitCodeStop>
+ <ButtonStop>0</ButtonStop>
+ <NotGenerated>0</NotGenerated>
+ <InvalidFlash>1</InvalidFlash>
+ </TargetStatus>
+ <OutputDirectory>..\outTimer\</OutputDirectory>
+ <OutputName>G401302_timer</OutputName>
+ <CreateExecutable>1</CreateExecutable>
+ <CreateLib>0</CreateLib>
+ <CreateHexFile>1</CreateHexFile>
+ <DebugInformation>1</DebugInformation>
+ <BrowseInformation>1</BrowseInformation>
+ <ListingPath>..\outTimer\</ListingPath>
+ <HexFormatSelection>1</HexFormatSelection>
+ <Merge32K>0</Merge32K>
+ <CreateBatchFile>0</CreateBatchFile>
+ <BeforeCompile>
+ <RunUserProg1>0</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name></UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ </BeforeCompile>
+ <BeforeMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>cmd /c gitver.bat</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ </BeforeMake>
+ <AfterMake>
+ <RunUserProg1>1</RunUserProg1>
+ <RunUserProg2>0</RunUserProg2>
+ <UserProg1Name>fromelf --bin -o ..\outTimer\@l.bin ..\outTimer\@l.axf</UserProg1Name>
+ <UserProg2Name></UserProg2Name>
+ <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+ <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+ </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>
+ </CommonProperty>
+ <DllOption>
+ <SimDllName>SARMCM3.DLL</SimDllName>
+ <SimDllArguments>-REMAP</SimDllArguments>
+ <SimDlgDll>DCM.DLL</SimDlgDll>
+ <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
+ <TargetDllName>SARMCM3.DLL</TargetDllName>
+ <TargetDllArguments></TargetDllArguments>
+ <TargetDlgDll>TCM.DLL</TargetDlgDll>
+ <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
+ </DllOption>
+ <DebugOption>
+ <OPTHX>
+ <HexSelection>1</HexSelection>
+ <HexRangeLowAddress>0</HexRangeLowAddress>
+ <HexRangeHighAddress>0</HexRangeHighAddress>
+ <HexOffset>0</HexOffset>
+ <Oh166RecLen>16</Oh166RecLen>
+ </OPTHX>
+ <Simulator>
+ <UseSimulator>1</UseSimulator>
+ <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+ <RunToMain>1</RunToMain>
+ <RestoreBreakpoints>1</RestoreBreakpoints>
+ <RestoreWatchpoints>1</RestoreWatchpoints>
+ <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+ <RestoreFunctions>1</RestoreFunctions>
+ <RestoreToolbox>1</RestoreToolbox>
+ <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+ </Simulator>
+ <Target>
+ <UseTarget>0</UseTarget>
+ <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+ <RunToMain>1</RunToMain>
+ <RestoreBreakpoints>1</RestoreBreakpoints>
+ <RestoreWatchpoints>1</RestoreWatchpoints>
+ <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+ <RestoreFunctions>0</RestoreFunctions>
+ <RestoreToolbox>1</RestoreToolbox>
+ </Target>
+ <RunDebugAfterBuild>0</RunDebugAfterBuild>
+ <TargetSelection>5</TargetSelection>
+ <SimDlls>
+ <CpuDll></CpuDll>
+ <CpuDllArguments></CpuDllArguments>
+ <PeripheralDll></PeripheralDll>
+ <PeripheralDllArguments></PeripheralDllArguments>
+ <InitializationFile>.\merge.ini</InitializationFile>
+ </SimDlls>
+ <TargetDlls>
+ <CpuDll></CpuDll>
+ <CpuDllArguments></CpuDllArguments>
+ <PeripheralDll></PeripheralDll>
+ <PeripheralDllArguments></PeripheralDllArguments>
+ <InitializationFile></InitializationFile>
+ <Driver>Segger\JL2CM3.dll</Driver>
+ </TargetDlls>
+ </DebugOption>
+ <Utilities>
+ <Flash1>
+ <UseTargetDll>1</UseTargetDll>
+ <UseExternalTool>0</UseExternalTool>
+ <RunIndependent>0</RunIndependent>
+ <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+ <Capability>1</Capability>
+ <DriverSelection>4099</DriverSelection>
+ </Flash1>
+ <Flash2>Segger\JL2CM3.dll</Flash2>
+ <Flash3>"" ()</Flash3>
+ <Flash4></Flash4>
+ </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>0</RvctClst>
+ <GenPPlst>0</GenPPlst>
+ <AdsCpuType>"Cortex-M3"</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>
+ <hadIRAM2>0</hadIRAM2>
+ <hadIROM2>0</hadIROM2>
+ <StupSel>8</StupSel>
+ <useUlib>0</useUlib>
+ <EndSel>0</EndSel>
+ <uLtcg>0</uLtcg>
+ <RoSelD>3</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>1</Ir1Chk>
+ <Ir2Chk>0</Ir2Chk>
+ <Ra1Chk>0</Ra1Chk>
+ <Ra2Chk>0</Ra2Chk>
+ <Ra3Chk>0</Ra3Chk>
+ <Im1Chk>1</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>0xc000</Size>
+ </IRAM>
+ <IROM>
+ <Type>1</Type>
+ <StartAddress>0x8000000</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>0x8004000</StartAddress>
+ <Size>0x3c000</Size>
+ </OCR_RVCT4>
+ <OCR_RVCT5>
+ <Type>1</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT5>
+ <OCR_RVCT6>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT6>
+ <OCR_RVCT7>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT7>
+ <OCR_RVCT8>
+ <Type>0</Type>
+ <StartAddress>0x0</StartAddress>
+ <Size>0x0</Size>
+ </OCR_RVCT8>
+ <OCR_RVCT9>
+ <Type>0</Type>
+ <StartAddress>0x20000000</StartAddress>
+ <Size>0xc000</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>1</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>0</wLevel>
+ <uThumb>0</uThumb>
+ <VariousControls>
+ <MiscControls>--c99 --diag_suppress=188</MiscControls>
+ <Define>STM32F10X_HD,USE_STDPERIPH_DRIVER,HW_V02</Define>
+ <Undefine></Undefine>
+ <IncludePath>..\src;..\lib;..\..\icc_apdu_lib;..\..\st_fw_lib\inc;..\..\st_fw_lib;..\..\lcd;.\;..\..\sys_hw;..\..\zk;..\..\app_drv;..\..\libqr;..\..\msgpack;</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>
+ <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>0x08000000</TextAddressRange>
+ <DataAddressRange>0x20000000</DataAddressRange>
+ <ScatterFile></ScatterFile>
+ <IncludeLibs></IncludeLibs>
+ <IncludeLibsPath></IncludeLibsPath>
+ <Misc></Misc>
+ <LinkerInputFile></LinkerInputFile>
+ <DisabledWarnings></DisabledWarnings>
+ </LDads>
+ </TargetArmAds>
+ </TargetOption>
+ <Groups>
+ <Group>
+ <GroupName>lcd</GroupName>
+ <Files>
+ <File>
+ <FileName>glcd.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\glcd.c</FilePath>
+ </File>
+ <File>
+ <FileName>graphics.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\graphics.c</FilePath>
+ </File>
+ <File>
+ <FileName>graphs.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\graphs.c</FilePath>
+ </File>
+ <File>
+ <FileName>text.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\text.c</FilePath>
+ </File>
+ <File>
+ <FileName>text_tiny.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\text_tiny.c</FilePath>
+ </File>
+ <File>
+ <FileName>unit_tests.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\unit_tests.c</FilePath>
+ </File>
+ <File>
+ <FileName>glcd_spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\glcd_spi.c</FilePath>
+ </File>
+ <File>
+ <FileName>ST7565R.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\ST7565R.c</FilePath>
+ </File>
+ <File>
+ <FileName>spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\lcd\spi.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>icc_apdu_lib</GroupName>
+ <Files>
+ <File>
+ <FileName>des.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\icc_apdu_lib\des.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>sw</GroupName>
+ <Files>
+ <File>
+ <FileName>nec_apdu.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\nec_apdu.c</FilePath>
+ </File>
+ <File>
+ <FileName>nec_hardware.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\nec_hardware.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_it.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\src\stm32f10x_it.c</FilePath>
+ </File>
+ <File>
+ <FileName>main.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\main.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_card.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_card.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_communicate.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_communicate.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_consume.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_consume.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_data.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_data.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_des.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_des.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_display.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_display.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_menu.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_menu.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_msgpack.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_msgpack.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_util.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_util.c</FilePath>
+ </File>
+ <File>
+ <FileName>sp_upgrade.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\supwisdom\sp_upgrade.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>lib</GroupName>
+ <Files>
+ <File>
+ <FileName>G401_drv_hw_V04.lib</FileName>
+ <FileType>4</FileType>
+ <FilePath>..\lib\G401_drv_hw_V04.lib</FilePath>
+ </File>
+ <File>
+ <FileName>g401_uart5_v001.lib</FileName>
+ <FileType>4</FileType>
+ <FilePath>..\lib\g401_uart5_v001.lib</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>st_fw_lib</GroupName>
+ <Files>
+ <File>
+ <FileName>core_cm3.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\core_cm3.c</FilePath>
+ </File>
+ <File>
+ <FileName>misc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\misc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_adc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_adc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_bkp.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_bkp.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_can.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_can.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_cec.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_cec.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_crc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_crc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_dac.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_dac.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_dbgmcu.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_dbgmcu.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_dma.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_dma.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_exti.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_exti.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_flash.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_flash.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_fsmc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_fsmc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_gpio.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_gpio.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_i2c.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_i2c.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_pwr.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_pwr.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_iwdg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_iwdg.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_rcc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_rcc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_rtc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_rtc.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_sdio.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_sdio.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_spi.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_spi.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_tim.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_tim.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_usart.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_usart.c</FilePath>
+ </File>
+ <File>
+ <FileName>stm32f10x_wwdg.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\src\stm32f10x_wwdg.c</FilePath>
+ </File>
+ <File>
+ <FileName>system_stm32f10x.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\st_fw_lib\system_stm32f10x.c</FilePath>
+ </File>
+ <File>
+ <FileName>startup_stm32f10x_hd.s</FileName>
+ <FileType>2</FileType>
+ <FilePath>..\..\st_fw_lib\startup_stm32f10x_hd.s</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>sys_hw</GroupName>
+ <Files>
+ <File>
+ <FileName>keypad.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\sys_hw\keypad.c</FilePath>
+ </File>
+ <File>
+ <FileName>drv_adc.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\sys_hw\drv_adc.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>zk</GroupName>
+ <Files>
+ <File>
+ <FileName>gb2312_16.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\zk\gb2312_16.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>libqr</GroupName>
+ <Files>
+ <File>
+ <FileName>qrencode.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\libqr\qrencode.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ <Group>
+ <GroupName>msgpack</GroupName>
+ <Files>
+ <File>
+ <FileName>cwpack.c</FileName>
+ <FileType>1</FileType>
+ <FilePath>..\..\msgpack\cwpack.c</FilePath>
+ </File>
+ </Files>
+ </Group>
+ </Groups>
+ </Target>
+ </Targets>
+
+</Project>
diff --git a/g401302/project/gitver.bat b/g401302/project/gitver.bat
new file mode 100644
index 0000000..996c3ce
--- /dev/null
+++ b/g401302/project/gitver.bat
@@ -0,0 +1,10 @@
+@echo off
+SET LINE1=#ifndef GIT_VERSION
+SET LINE2=#define GIT_VERSION
+SET LINE3=#endif
+
+FOR /F %%I IN ('git describe --dirty --always --tags --abbrev=4') DO SET VERSTR=%%I
+
+echo %LINE1% > ../../supwisdom/sp_version.h
+echo %LINE2% ^"%VERSTR%^" >> ../../supwisdom/sp_version.h
+echo %LINE3% >> ../../supwisdom/sp_version.h
\ No newline at end of file
diff --git a/g401302/project/merge.ini b/g401302/project/merge.ini
new file mode 100644
index 0000000..8efd9d0
--- /dev/null
+++ b/g401302/project/merge.ini
@@ -0,0 +1,16 @@
+/******************************************************************************/
+/* FLASH.INI: FLASH Initialization File */
+/******************************************************************************/
+// <<< Use Configuration Wizard in Context Menu >>> //
+/******************************************************************************/
+/* This file is part of the uVision/ARM development tools. */
+/* Copyright (c) 2005-2006 Keil Software. 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. */
+/******************************************************************************/
+LOAD ..\hex\STM32IAPCombine51.hex // Download
+save ..\hex\G401302_combine.hex 0x08000000,0x0803FFFF
+//g,main
+
+
diff --git a/g401302/src/G401_drv_hw_V01.h b/g401302/src/G401_drv_hw_V01.h
new file mode 100644
index 0000000..0a63590
--- /dev/null
+++ b/g401302/src/G401_drv_hw_V01.h
@@ -0,0 +1,623 @@
+
+#ifndef __G401_HWDRV_LIB_H__
+#define __G401_HWDRV_LIB_H__
+
+#include "stdint.h"
+#include "stm32f10x.h"
+#include "drv_usart.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/*
+ ³õʼ»¯Ê±»ù¶¨Ê±Æ÷(1ms)
+*/
+extern u32 SysTick_cfg(void);
+/*
+ Çý¶¯Ê¹ÓÃSYSTICK²úÉúʱ»ù£¬²¢ÅäÖÃSYSTICKΪ1msÒç³öÖжϣ¬Ó¦ÓòãÐèÍê
+ ³ÉSYSTICKÖжϷþÎñº¯ÊýSysTick_Handler£¬²¢µ÷ÓÃTimerTickº¯Êý£¬
+ Íê³ÉÏÔʾɨÃ衢ͨѶËùÐ趨ʱµÈ²Ù×÷
+*/
+extern void TimerTick(void);
+
+
+/*
+ »ñÈ¡Çý¶¯²ãά»¤µÄ32λms¼¶µÎ´ðµ±Ç°Öµ£¬¸Ãֵÿms¸üÐÂ1´Î£¬Ã¿´Î¼Ó1
+*/
+extern u32 timer_get_ticker(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/*
+ ¹¦ÄÜ: ¼ÆËãÖ¸¶¨³¤¶ÈÊý¾ÝÁ÷µÄcrcУÑéÖµ
+ ÊäÈë: pBuffer£¬Êý¾ÝÁ÷Ö¸Õë BufferLength: Êý¾ÝÁ÷×Ö½Ú³¤¶È
+ Êä³ö: crc16
+*/
+extern u16 calcCRC( u8 *pBuffer, u16 BufferLength);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//RTCÇý¶¯Ïà¹Ø
+//ʱ¼ä½á¹¹Ìå
+typedef struct
+{
+ uint8_t year; //Äê
+ uint8_t month; //ÔÂ
+ uint8_t day; //ÈÕ
+ uint8_t week; //ÐÇÆÚ
+ uint8_t hour; //ʱ
+ uint8_t minute; //·Ö
+ uint8_t second; //Ãë
+}_SystemTime ;
+/*
+ RTC³õʼ»¯
+*/
+extern void rtc_init(void);
+/*
+ »ñȡϵͳÈÕÆÚ
+*/
+extern uint8_t rtc_get_time(_SystemTime* t);
+
+/*
+ ÉèÖÃϵͳÈÕÆÚ
+*/
+extern uint8_t rtc_set_time(_SystemTime* t);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//EEPROMÏà¹Ø
+
+////#define E2PROM_SIZE (64*1024/8UL)
+/*
+ ʹÄÜE2PROMд±£»¤
+*/
+extern void e2prom_lock(void);
+/*
+ ʧÄÜE2PROMд±£»¤
+*/
+extern void e2prom_unlock(void);
+/*********************************************
+*¹¦ÄÜ:I2C×ÜÏß³õʼ»¯,Ö÷³ÌÐòÊ×Ïȵ÷ÓøóÌÐò
+*²ÎÊý:time_factor ÑÓʱϵÊý,Ò»°ã´«0£¬Ê¹ÓÃĬÈϵľÍÐÐ
+*********************************************/
+extern void e2prom_init(u32 time_factor);
+
+/******************************************************************************
+¹¦ÄÜ£º´ÓÖ¸¶¨µØÖ·¿ªÊ¼¶Áȡָ¶¨³¤¶ÈµÄÊý¾Ý
+²ÎÊý£º
+ *dest_buff - ´æ·Å¶Á³öÊý¾ÝµÄÖ¸Õë
+ addr - ¿ªÊ¼µØÖ·
+ len - Òª¶Á³öµÄ³¤¶È
+·µ»ØÖµ£º
+ 0 - ³É¹¦
+ 1 - ʧ°Ü
+******************************************************************************/
+extern u8 e2prom_read(u8 *dest_buff, u16 addr, u16 len);
+
+/******************************************************************************
+¹¦ÄÜ£ºÐ´EEPROM¡£ÏòÖ¸¶¨µØÖ·¿ªÊ¼Ð´ÈëÖ¸¶¨³¤¶ÈµÄÊý¾Ý¡£
+²ÎÊý£º
+ *src_buff - ´æ·ÅдÈëÊý¾ÝµÄÖ¸Õë
+ addr - ¿ªÊ¼µØÖ·
+ len - ҪдÈëµÄ³¤¶È
+·µ»ØÖµ£º
+ 0 - ³É¹¦
+ 1 - ʧ°Ü
+******************************************************************************/
+extern u8 e2prom_write(u8 *src_buff, u16 addr, u16 len);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//ADCÏà¹Ø
+/*
+ ADC³õʼ»¯
+*/
+//extern void adc_init(void);
+/*
+ Ó¦ÓòãÐèÍê³ÉSYSTICKÖжϷþÎñº¯ÊýDMA1_Channel1_IRQHandler£¬²¢µ÷ÓÃDMA1_Channel1_readº¯Êý
+*/
+extern void DMA1_Channel1_read(void);
+/*
+ ²»ÐèÒªÌṩ
+*/
+//extern uint16_t adc_get_val(uint8_t ch);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//·§ÃÅÇý¶¯Ïà¹Ø
+#define valve_state_on 1
+#define valve_state_off 0
+
+/*
+ ³õʼ»¯·§ÃÅÇý¶¯IO
+*/
+extern void valve_init(void);
+
+/*
+ ÉèÖ÷§ÃÅ״̬
+ state: valve_state_on »ò valve_state_off
+*/
+extern void valve_sta_set(uint8_t sta);
+
+/*
+ »ñÈ¡·§ÃÅ״̬
+ ·µ»ØÖµ: valve_state_on »ò valve_state_off
+*/
+extern uint8_t valve_sta_get(void);
+
+/*
+ ·§ÃÅ¿ØÖÆÂß¼£¬Ð趨ÆÚµ÷ÓÃÒÑÇý¶¯·§ÃÅ¿ØÖÆ×´Ì¬»ú£¬½¨Òé
+ ÔÚÖ÷Ñ»·Öе÷ÓÃ
+*/
+extern void valve_ctrl(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//Á÷Á¿¼ÆÏà¹Ø
+/*
+ Á÷Á¿¼Æ³õʼ»¯
+*/
+extern void initFlowSensorDriver(void);
+/*
+ ¸üÐÂÁ÷Á¿¼ÆÂö³å¼ÆÊýÖµ£¬Ð趨ÆÚµ÷Óøú¯Êý£¬½¨ÒéÔÚSysTick_Handlerµ÷ÓÃ
+*/
+//extern void flowsensor_update_count(void);
+/*
+ »ñÈ¡Á÷Á¿¼ÆÂö³å¼ÆÊýÖµ
+*/
+extern u32 flowsensor_get_count(void);
+/*
+ ÉèÖÃÁ÷Á¿¼ÆÂö³å¼ÆÊýÖµ
+*/
+extern void flowsensor_set_count(u32 val);
+
+/*
+ »ñÈ¡Á÷Á¿¼ÆµçÁ÷AD²ÉÑùÖµ£¬ÒÔ´ËÅжÏÁ÷Á¿¼ÆÊÇ·ñÒì³££¬½¨ÒéÔÚÖ÷Ñ»·Öе÷ÓÃ(µçÁ÷Öµ=ADÖµ/4095*3.3/9.1)
+*/
+extern u16 flowsensor_sta(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//¼üÅÌÏà¹Ø
+//¼üÖµ¶¨Òå
+#define KEY_NONE ( 0u) //¿ÕÏÐ״̬
+#define KEY_DIG0 (10u) //Êý×Ö¼ü0
+#define KEY_DIG1 ( 1u) //Êý×Ö¼ü1
+#define KEY_DIG2 ( 2u) //Êý×Ö¼ü2
+#define KEY_DIG3 ( 3u) //Êý×Ö¼ü3
+#define KEY_DIG4 ( 4u) //Êý×Ö¼ü4
+#define KEY_DIG5 ( 5u) //Êý×Ö¼ü5
+#define KEY_DIG6 ( 6u) //Êý×Ö¼ü6
+#define KEY_DIG7 ( 7u) //Êý×Ö¼ü7
+#define KEY_DIG8 ( 8u) //Êý×Ö¼ü8
+#define KEY_DIG9 ( 9u) //Êý×Ö¼ü9
+#define KEY_ENTER (12u) //È·Èϼü
+#define KEY_CANCEL (11u) //È¡Ïû¼ü
+
+/*
+ ¼üÅ̳õʼ»¯
+*/
+//extern uint8_t keypad_init(void);
+/*
+ ¶ÁÈ¡°´¼üÖµ
+*/
+//extern uint8_t keypad_get_key(void);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//flashÏà¹Ø
+
+//¹æ¸ñ¶¨Òå
+#define FLASH_PAGE_SIZE_W25X32 256
+#define FLASH_SIZE (4 * 1024 * 1024)
+#define FLASH_PAGE_NUM 8192
+#define FLASH_SECTOR_SIZE (4*1024)
+#define FLASH_SECTOR_NUMBER 512
+#define FLASH_BLOCK_SIZE (64*1024)
+#define FLASH_BLOCK_NUM 64
+//·µ»ØÖµ
+#define NC_OK 0 //²Ù×÷³É¹¦
+#define NC_FlashErr 0x0000ffff //´íÎó
+#define NC_ElseERR 0x01 //ÆäÓà´íÎó
+#define NC_Writeable 0x02 //ÔÊÐíд
+
+/*
+ ³õʼ»¯
+*/
+extern u32 HW_Flash_Init(void);
+/*
+ ¶ÁDEVICE ID
+*/
+extern void HW_FLASH_JEDEC_ID(uint8_t *buf);
+
+/*
+ ¶ÁFLASH
+*/
+extern u32 HW_Flash_Read(uint32_t addr, uint32_t size, uint8_t *buffer);
+/*
+ Ò³²Á³ý
+*/
+extern u32 HW_Flash_PageErase(uint32_t page);
+/*
+ Ò³±à³Ì
+*/
+extern u32 Flash_Page_Program(uint32_t addr, uint32_t size, uint8_t *pbuf);
+/*
+ ÕûƬ²Á³ý£ºÐèÒªºÜ³¤Ê±¼ä£¬Êµ¼Ê²âÊÔ40s
+*/
+extern u32 HW_Flash_ChipErase(void);
+/*
+ ²»´ø²Á³ýµÄд
+*/
+extern u32 HW_Flash_NotEraseWrite(uint32_t dest, uint32_t size, uint8_t *src);
+/*
+ ´ø²Á³ýµÄд
+*/
+extern u32 HW_Flash_SmartWrite(uint32_t addr, uint32_t size, uint8_t *src);
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//¿´ÃŹ·Ïà¹Ø
+/*
+ ¹¦ÄÜ:³õʼ»¯¿´ÃŹ·
+*/
+extern void initWatchDog(void);
+/*
+ ι¹·£¬ÐèÒªÔÚÖ÷Ñ»·Öе÷ÓÃ
+*/
+extern void feedWatchDog(void);
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//mifare one hw lib
+
+#define KEYA 0x60 //AÃÜÂë
+#define KEYB 0x61 //BÃÜÂë
+
+//²ÎÊýRequestMode£º
+#define PICC_REQ_ALL 0x52
+#define PICC_REQ_IDLE 0x26
+
+/*
+ ³õʼ»¯¶Á¿¨½Ó¿Ú
+*/
+extern void HW_SPI_RF_CfgInit(void);
+
+/*
+
+ ¹¦ÄÜ: RC530Éϵ縴λ
+ 1. ½«RC530´Óµôµçģʽ»½ÐÑ£¬²¢Íê³É³õʼ»¯
+ 2. »ò½«RC530ÖØÐ¸´Î»
+*/
+ extern u8 M1_RCReset(void);
+
+/*
+ ¹¦ÄÜ: È¡µÃ¿¨ÐòÁкÅ
+ Êä³ö: uchar *pSN - ¿¨ÐòÁкÅ
+ ·µ»Ø: 0-²Ù×÷³É¹¦ ÆäËûÖµ-²Ù×÷ʧ°Ü
+*/
+extern u8 GetM1SN( u8 *pSN );
+
+/*
+
+ ¹¦ÄÜ: Ѱ¿¨
+ ²ÎÊý: RequestMode-Ѱ¿¨Ä£Ê½£¬ÎªIDLE »ò ALL atq-¿¨Æ¬µÄÀàÐÍ ÔÝÎÞÓÃ
+ ·µ»Ø: µ±Îª0x00 ʱ±íʾÓп¨£¬·ñÔòÎÞ¿¨
+*/
+extern u8 M1_Request(u8 RequestMode, u8 * atq );
+
+/*
+
+ ¹¦ÄÜ: ¼ÓÔØÃÜÔ¿
+ ²ÎÊý: ÃÜÔ¿
+ ·µ»Ø: 0-²Ù×÷³É¹¦ ÆäËûÖµ-²Ù×÷ʧ°Ü
+*/
+//extern u8 Load_RAM ( u8 * RawCode );
+
+/*
+
+ ¹¦ÄÜ: ͨ¹ý¿éºÅ½øÐÐУÑ飬֧³ÖS50£¬S70¿¨
+ ²ÎÊý: AuthMode-AÃÜÂë »ò BÃÜÂë snr:¿¨Î¨Ò»ºÅ block:¿éºÅ key:ÃÜÔ¿
+ ·µ»Ø: 0-²Ù×÷³É¹¦ ÆäËûÖµ-²Ù×÷ʧ°Ü
+*/
+extern u8 M1_AuthBlk( u8 AuthMode, u8 *Snr, u8 Block, u8 *key );
+
+extern u8 M1_Select(u8 *Snr);
+/*
+ M1_E2Read ¶ÁÈ¡RC500µÄE2ÖеÄÊý¾Ý
+ Addr :E2ÆðʼµØÖ·(Addr < 80H )
+ length :ÒªÇó¶ÁÈ¡µÄ×Ö½ÚÊý( СÓÚµÈÓÚ16 )
+ pBuffer :¶Á³öÊý¾ÝµÄ»º³åÇø
+ ·µ»ØÖµ £º0±íʾд³É¹¦
+*/
+//extern u8 M1_E2Read( u8 Addr, u8 length, u8 * pBuffer);
+
+/*
+ M1_E2Write ½«Êý¾ÝдÈëRC500µÄE2ÖÐ
+ Addr :E2ÆðʼµØÖ·( 0x10 <=Addr < 0x1ff )
+ length :ÒªÇóдÈëµÄ×Ö½ÚÊý( СÓÚµÈÓÚ16 )
+ pBuffer :ҪдÈëÊý¾ÝµÄ»º³åÇø
+ ·µ»ØÖµ £º0±íʾд³É¹¦
+*/
+//extern u8 M1_E2Write( unsigned int Addr, u8 length, u8 * pBuffer);
+
+/*
+ ¹¦ÄÜ£º ¶Á¿¨°åÓ²¼þµôµç£º
+ º¯ÊýÔÐÍ£º void HardPwrDwn() ÔÝûÓÐд
+ ²ÎÊý£º ÎÞ
+ ·µ»ØÖµ£º ÎÞ
+ ˵Ã÷£º
+ ½«¶Á¿¨°åµÄRF¡ªRST¿ØÖÆÏßÖÃΪ¸ßµçƽ£¬¶Á¿¨°å´¦ÓÚÓ²¼þµôµç״̬£¨µçÔ´Õý³£Ìṩ£©¡£
+*/
+extern void M1_HardPwrDwn( void );
+
+/*
+ M1_PCDSn ¶ÁÈ¡RC500µÈ¶Á¿¨Ð¾Æ¬µÄÐòÁкÅ
+ pSn :ÐòÁкŻº³åÇø
+ ·µ»ØÖµ £º0±íʾд³É¹¦
+*/
+extern unsigned char M1_PCDSn( unsigned char * pBuffer);
+
+/*
+ ¹¦ÄÜ£º ¶Á¿¨°å¶Á¿¨Ð¾Æ¬É䯵¹Ø±Õ£º
+ º¯ÊýÔÐÍ£º void M1_RadioOff()
+ ²ÎÊý£º ÎÞ
+ ·µ»ØÖµ£º ÎÞ
+ ˵Ã÷£º
+ ½«¶Á¿¨°åÉϵĶÁ¿¨Ð¾Æ¬µÄÉ䯵·¢Ë͹صô,½µµÍ¹¦ºÄºÍ¶ÔÍâ¸ÉÈÅ
+ ´Ëʱ¶Á¿¨Ð¾Æ¬»¹ÔÚ¹¤×÷.
+*/
+extern void M1_RadioOff( void );
+
+/*
+ ¹¦ÄÜ£º ¶Á¿¨°å¶Á¿¨Ð¾Æ¬É䯵´ò¿ª£º
+ º¯ÊýÔÐÍ£º void M1_RadioOn()
+ ²ÎÊý£º ÎÞ
+ ·µ»ØÖµ£º ÎÞ
+ ˵Ã÷£º
+ ½«¶Á¿¨°åÉϵĶÁ¿¨Ð¾Æ¬µÄÉ䯵·¢ËÍ´ò¿ª
+
+ M1_RadioOn() ºÍ M1_RadioOff()ÊÇÒ»¶Ôº¯Êý,ÓÃÔÚÒ»°ãÇé¿öϵĽÚÄܺͽµµÍÉ䯵¸ÉÈÅÉÏ.
+*/
+extern void M1_RadioOn( void );
+
+/*
+ Fread ¶Á¿éÊý¾Ý
+ Block :¶Á¿éºÅ
+ ReadBuffer :¶Á³öµÄÊý¾ÝµÄ»º³åÇø
+ ·µ»ØÖµ £º0±íʾ¶Á³É¹¦
+*/
+extern u8 M1_Read(u8 Block, u8 * ReadBuffer);
+
+/*
+ Fwrite д¿éÊý¾Ý
+ Block :д¿éºÅ
+ ReadBuffer :ҪдÊý¾ÝµÄ»º³åÇø
+ ·µ»ØÖµ £º0±íʾд³É¹¦
+*/
+extern u8 M1_Write( u8 Block, u8 * WriteBuffer);
+
+/*
+ ¹¦ÄÜ£º ¼ì²é¶Á¿¨Ð¾Æ¬ÊÇ·ñ·¢ÉäÕý³£
+ º¯ÊýÔÐÍ£º u8 M1_TranSta()
+ ²ÎÊý£º ÎÞ
+ ·µ»ØÖµ£º 1 - ÔØ²¨Î´·¢Éä
+ 0 - ÔØ²¨·¢Éä
+*/
+//extern u8 M1_TranSta( void );
+
+/*
+ Halt
+ ¹¦ÄÜ£º ÖÕÖ¹¿¨
+ ²ÎÊý: ÎÞ
+ ·µ»ØÖµ£ºµ±Îª0x00 ʱ±íʾ¿¨ÖÕÖ¹³É¹¦
+*/
+extern u8 M1_Halt( void );
+
+/*
+ ¹¦ÄÜ£º Mifare¿¨¿é¶Á(º¬Ñ°¿¨, Ñ¡¿¨, УÑé, ¶Á¿¨(Ò»¿é), ¿É¹©Ñ¡Ôñ)£º
+ ÊäÈ룺 u8 *pSN - ¿¨ÐòÁкÅ
+ u8 Mode - ( ¸ù¾Ý¶¨ÒåµÄ³£Á¿±í½øÐÐ"»ò"×éºÏ )
+ bit0 - AÃÜÂë»òBÃÜÂë( 0 - A 1 - B)
+ bit2 - 0 - Ѱ¿¨ 1 - ²»Ñ°¿¨
+ bit3 - 0 - ²»Ð£ÑéÃÜÂë 1 - ҪУÑéÃÜÂë
+ u8 Block - Òª¶ÁµÄ¿éºÅ
+ u8 *pKey - ÉÈÇø¶ÁдÃÜÂë
+
+ Êä³ö£º u8 *pBuffer - ¶Á³öµÄ16×Ö½ÚÊý¾Ý
+ ·µ»ØÖµ£ºµ±Îª0x00 ʱÕýÈ·¶Á³ö
+*/
+extern u8 M1_BlkRead( u8 Mode, u8 Block, u8 *pSN, u8 * pBuffer, u8 *pKey );
+
+/*
+ ¹¦ÄÜ£º Mifare¿¨¿éд(º¬Ñ°¿¨, Ñ¡¿¨, УÑé, ¶Á¿¨(Ò»¿é), ¿É¹©Ñ¡Ôñ)£º
+ ÊäÈ룺 u8 *pSN - ¿¨ÐòÁкÅ
+ u8 Mode - ( ¸ù¾Ý¶¨ÒåµÄ³£Á¿±í½øÐÐ"»ò"×éºÏ )
+ bit0 - AÃÜÂë»òBÃÜÂë( 0 - A 1 - B)
+ bit2 - 0 - Ѱ¿¨ 1 - ²»Ñ°¿¨
+ bit3 - 0 - ²»Ð£ÑéÃÜÂë 1 - ҪУÑéÃÜÂë
+ u8 Block - Òª¶ÁµÄ¿éºÅ
+ u8 *pKey - ÉÈÇø¶ÁдÃÜÂë
+ u8 *pBuffer - ҪдÈëµÄ16×Ö½ÚÊý¾Ý
+ ·µ»ØÖµ£ºµ±Îª0x00 ʱÕýÈ·¶Á³ö
+*/
+extern u8 M1_BlkWrite( u8 Mode, u8 Block, u8 *pSN, u8 * pBuffer, u8 *pKey );
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//CPU¿¨ºÍESAMÄ£¿é
+
+//¹¦ÄÜ£º³õʼ»¯SAMͨѶ½Ó¿Ú
+//²ÎÊý£ºÎÞ
+//·µ»Ø£ºÎÞ
+extern void ISO7816_USART_Init(void);
+
+//ich¶¨Òå
+#define PROTOCOL_T0_CH1 1 // ESAMÄ£¿é
+#define PROTOCOL_TCL_PCD0 0x80 //·Ç½Ó´¥Ê½¿¨
+
+//¿¨Éϵ磬ÓÃÓÚSAM¿¨À临λ
+//²ÎÊý£ºcid=0
+// ich ͨµÀºÅ
+//·µ»Ø£º0³É¹¦
+extern unsigned short Gen_PowerOnCard(unsigned char cid, int ich);
+
+//¹Ø±ÕSAM¿¨µçÔ´
+//²ÎÊý£ºich ͨµÀºÅ
+extern void Gen_PowerOffCard(int ich);
+
+//¹¦ÄÜ£º¿¨¸´Î»Ç°³õʼ»¯Ïà¹ØÊý¾Ý½á¹¹£¨ÓÃÓÚSAM»ò¿¨Æ¬£©
+//²ÎÊý£ºcid=0
+// ich ͨµÀºÅ
+void Gen_ResetInfo( unsigned char cid, int ich );
+//¹¦ÄÜ£º¿¨¸´Î»£¨¿ÉÓÃÓÚ¸´Î»SAM»ò¿¨Æ¬£©
+//²ÎÊý£ºcid=0
+// ich ͨµÀºÅ
+//·µ»Ø£º0³É¹¦
+extern unsigned short Gen_ResetCard(unsigned char cid, int ich);
+
+//¹¦ÄÜ£ºActivation of a PICC in IDLE mode.£¨ÓÃÓÚ¿¨Æ¬£©
+//²ÎÊý£ºbr (IN) Baudrate for MIFARE communication 0 106 kBaud
+// atq (OUT) Answer to Request
+// sak (OUT) Select acknowledge
+// uid (OUT) up to 10 bytes UID
+// uid_len (OUT) length of the UID
+//·µ»Ø£º0 ok
+extern short Mf500PiccActivateIdle(unsigned char br,
+ unsigned char *atq,
+ unsigned char *sak,
+ unsigned char *uid,
+ unsigned char *uid_len);
+
+//¹¦ÄÜ£ºSends the PICC into the halt state.
+//²ÎÊý£ºNone
+//·µ»Ø£º0 ok
+//extern short Mf500PiccHalt(void);
+
+//¹¦ÄÜ£ºÔÚÉ䯵¿¨¼ÓµçÇÒ½øÈë144433-4Çé¿öϲâÊÔ¿¨Æ¬µÄ´æÔÚ
+//²ÎÊý£ºÎÞ
+//·µ»Ø£º0 ¿¨´æÔÚ
+// ÆäËû ¿¨²»´æÔÚ
+extern unsigned char PICC_TclCheckRFRounge(void);
+
+//¹¦ÄÜ£ºÊý¾Ý½»»»£¨¿ÉÓÃÓÚ¸´Î»SAM»ò¿¨Æ¬£©
+//²ÎÊý£ºcid=0
+// nad_send=0
+// cmd_buf ÃüÁ³åÇø
+// cmd_len ÃüÁ¶È
+// ExpectedResponseLength ÆÚÍû¿¨Æ¬»Ø¸´µÄÊý¾Ý³¤¶È
+// rec_buf ÓÃÓÚ»ñÈ¡·µ»ØÊý¾ÝµÄÖ¸Õë
+// rec_buf_len ʵ¼Ê½ÓÊÕµ½µÄÊý¾Ý³¤¶È
+// ich ͨµÀºÅ
+//·µ»Ø£º0³É¹¦
+extern unsigned short Gen_Exchange(unsigned char cid,
+ unsigned char nad_send,
+ unsigned char *cmd_buf,
+ unsigned char cmd_len,
+ unsigned char ExpectedResponseLength,
+ unsigned char **rec_buf,
+ unsigned char *rec_buf_len,
+ int ich);
+
+//¹¦ÄÜ: ÉèÖÃ3DES(Ë«±¶³¤)ÃÜÔ¿
+//²ÎÊý: 16×Ö½ÚÃÜÔ¿Öµ
+//·µ»Ø: 0 ³É¹¦
+// ÆäËû ʧ°Ü
+//extern u8 des_set_keys(u8 key[16]);
+
+//¹¦ÄÜ: 3des¼ÓÃÜ
+//²ÎÊý: src[8] ÊäÈë8×Ö½ÚÃ÷ÎÄÊý¾Ý
+// dest[8] Êä³ö8×Ö½ÚÃÜÎÄÊý¾Ý
+//·µ»Ø: ÎÞ
+//extern void des_encrypt(u8 src [ 8 ], u8 dest [ 8 ]);
+
+//¹¦ÄÜ: 3des½âÃÜ
+//²ÎÊý: src[8] ÊäÈë8×Ö½ÚÃÜÎÄÊý¾Ý
+// dest[8] Êä³ö8×Ö½ÚÃ÷ÎÄÊý¾Ý
+//·µ»Ø: ÎÞ
+//extern void des_decrypt(u8 src [ 8 ], u8 dest [ 8 ]);
+
+//¹¦ÄÜ: ²Á³ýESAM¿ªÆÕ¿¨½á¹¹£¬²¢Ìæ»»³õʼÖ÷¿ØÃÜԿΪ16×Ö½ÚÈ«0
+//²ÎÊý: ÎÞ
+//·µ»Ø: 0x9000 ³É¹¦
+// 0x0000 ²»ÊÇ¿ªÆÕ³õʼESAM¿¨¿Õ¼ä£¬²»ÄܽøÐвÁ³ý²Ù×÷
+// ÆäËû ʧ°Ü
+//extern u16 erase_mf(void);
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//CANͨѶÏà¹Ø
+typedef struct
+{
+ unsigned int id; /* 29 bit identifier */
+ unsigned char data[8]; /* Data field */
+ unsigned char len; /* Length of data field in bytes */
+ unsigned char ch; /* Object channel */
+ unsigned char format; /* 0 - STANDARD, 1- EXTENDED IDENTIFIER */
+ unsigned char type; /* 0 - DATA FRAME, 1 - REMOTE FRAME */
+}CAN_msg; //CANͨѶÏûÏ¢¶¨Òå
+
+//CANͨѶͨµÀ¶¨Òå(Object channel)
+#define DEF_CAN_CHANNEL_SEND 0x01
+#define DEF_CAN_CHANNEL_RECV 0x01
+
+//CANÖ¡¸ñʽ
+#define STANDARD_FORMAT 0
+#define EXTENDED_FORMAT 1
+
+//CANÖ¡ÀàÐÍ
+#define DATA_FRAME 0
+#define REMOTE_FRAME 1
+
+
+/**********************************************************************************************
+;º¯ÊýÔÐÍ£ºunsigned int APP_CAN_Init( U32 baud, U08 addr )
+;º¯Êý¹¦ÄÜ£º³õʼ»¯ºÍÆô¶¯CAN¿ØÖÆÆ÷
+;Êä È룺baud - CAN²¨ÌØÂÊ addr - ´Ó»úµØÖ·
+;·µ »Ø Öµ£º0 - ³É¹¦ ÆäËû - ʧ°Ü
+**********************************************************************************************/
+extern unsigned int APP_CAN_Init( u32 baud, u8 addr );
+
+//ʹÓÃCAN¿ØÖÆÆ÷·¢ËÍÏûÏ¢
+extern unsigned int CAN_Send(unsigned int ctrl, CAN_msg *msg, unsigned short timeout);
+
+//CAN¿ØÖÆÆ÷½ÓÊÕÏûÏ¢
+extern unsigned int CAN_Recieve( CAN_msg *msg );
+
+//»ñÈ¡CAN·¢ËÍ״̬ 0£ºÃ»·¢ËÍ 1£ºÔÚ·¢ËÍ
+extern unsigned char Get_CAN_TxState(void);
+
+//»ñÈ¡CAN·¢ËÍ״̬ 0£ºÃ»½ÓÊÕ 1£ºÔÚ½ÓÊÕ
+extern unsigned char Get_CAN_RxState(void);
+
+extern void USB_HP_CAN1_TX (void);
+
+
+extern void USB_LP_CAN1_RX0(void);
+
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+//ÏÔʾÏà¹Ø
+/**
+ * ´ò¿ª±³¹â
+ */
+void glcd_bkl_on(void);
+
+/**
+ * ¹Ø±Õ±³¹â
+ */
+void glcd_bkl_off(void);
+
+/**
+ * ³õʼ»¯LCDÏÔʾ
+ */
+void glcd_init(void);
+
+/**
+ * ÏÔʾÊý¾Ý
+ */
+void glcd_write(void);
+
+/**
+ * Çå³ýÏÔʾ
+ */
+void glcd_clear(void);
+
+/**
+ * Çå³ýÏÔʾ»º³åÇø
+ */
+void glcd_clear_buffer(void);
+
+//ÏÔʾ²¿·ÖÇë²Î¼ûËùÌṩԴÂ룬ÐèÒªµÄ×ÔÐÐÔö¼Ó
+
+#endif
diff --git a/g401302/src/nec_apdu.c b/g401302/src/nec_apdu.c
new file mode 100644
index 0000000..5e31693
--- /dev/null
+++ b/g401302/src/nec_apdu.c
@@ -0,0 +1,100 @@
+#include <string.h>
+#include "../../nec_hardware.h"
+#include "../../nec_apdu.h"
+
+#define RETCODE_OK 0x9000
+
+int8 psam_poweron(uint8 cid)
+{
+ return Gen_PowerOnCard(cid, PROTOCOL_T0_CH1);
+}
+void psam_powreoff(uint8 cid)
+{
+ Gen_PowerOffCard(cid);
+}
+
+static uint8 gPICC_SNR[8]; /* å¡çSNå? */
+int8 card_request(uint8* sak,uint8 snr[8])
+{
+ uint8 gPICC_SNR_LEN; /* æ?è·åçå¡çSNæ°æ®é¿åº¦ */
+ uint8 gPICC_ATQA[2]; /* */
+ uint8 gPICC_SAK; /* */
+
+ if(!Mf500PiccActivateIdle(0, gPICC_ATQA, &gPICC_SAK, gPICC_SNR, &gPICC_SNR_LEN))
+ {
+ *sak = gPICC_SAK;
+ memcpy(snr,gPICC_SNR,8);
+ return 0;
+ }
+ return -1;
+}
+int8 card_m1_mode(uint8 cardphyid[8])
+{
+ uint8 buff[2];
+ if(M1_Request(PICC_REQ_IDLE, buff))
+ {
+ if(M1_Request(PICC_REQ_IDLE, buff))
+ {
+ return -1;
+ }
+ }
+ if(!GetM1SN(cardphyid))
+ {
+ if(!M1_Select(cardphyid))
+ {
+ return 0;
+ }
+ }
+ return -1;
+}
+int8 card_rf_reset(void)
+{
+ return M1_RCReset();
+}
+int8 card_cpu_mode(void)
+{
+ Gen_ResetInfo(0, PROTOCOL_TCL_PCD0);
+ return Gen_ResetCard(0, PROTOCOL_TCL_PCD0);
+}
+int8 card_cpu_exist(void)
+{
+ return PICC_TclCheckRFRounge();
+}
+
+void card_radio_on(void)
+{
+ M1_RadioOn();
+}
+void card_radio_off(void)
+{
+ M1_RadioOff();
+}
+uint16 card_m1_auth(uint8* cardphyid,uint8 blockno, uint8 key[6])
+{
+ return M1_AuthBlk(KEYA,cardphyid,blockno,key);
+}
+uint16 card_m1_read(uint8 blockno,uint8 readbuf[16])
+{
+ return M1_Read(blockno,readbuf);
+}
+uint16 card_m1_write(uint8 blockno,uint8 writebuf[16])
+{
+ return M1_Write(blockno,writebuf);
+}
+uint16 card_cpu_exchange(uint8* cmd_buf,
+ uint8 cmd_len,
+ uint8 ExpectedResponseLength,
+ uint8** rec_buf,
+ uint8* rec_buf_len)
+{
+ uint16 ret;
+ ret =Gen_Exchange(0,0, cmd_buf, cmd_len, ExpectedResponseLength, rec_buf, rec_buf_len,
+ PROTOCOL_TCL_PCD0);
+ if(ret != RETCODE_OK)
+ {
+ return Gen_Exchange(0,0, cmd_buf, cmd_len, ExpectedResponseLength, rec_buf, rec_buf_len,
+ PROTOCOL_TCL_PCD0);
+ }
+ return RETCODE_OK;
+}
+
diff --git a/g401302/src/nec_hardware.c b/g401302/src/nec_hardware.c
new file mode 100644
index 0000000..3f86ff3
--- /dev/null
+++ b/g401302/src/nec_hardware.c
@@ -0,0 +1,59 @@
+#include "../../nec_hardware.h"
+
+/*Ó²¼þ³õʼ»¯*/
+uint16 sp_init(void)
+{
+ valve_init();
+ initFlowSensorDriver();
+ SysTick_cfg();
+ e2prom_init(0);
+ HW_Flash_Init();
+ rtc_init();
+ glcd_init();
+ usart_init();
+ initWatchDog();
+
+ HW_SPI_RF_CfgInit();
+
+ ISO7816_USART_Init(); //SAMÄ£¿é³õʼ»¯
+
+ if(Gen_PowerOnCard(0,PROTOCOL_T0_CH1)) //¸´Î»SAMÄ£¿éʧ°Ü
+ {
+ return 1;
+ }
+ return 0;
+}
+/*ι¹·*/
+void sp_feed_dog(void)
+{
+ feedWatchDog();
+}
+
+/*Ö÷Ñ»·µ÷Óà ·§ÃÅ¿ØÖÆ*/
+void sp_valve_control(void)
+{
+ valve_ctrl();
+}
+/*Ö÷Ñ»·µ÷Óà Âö³å¼ÆÊý¸üпØÖÆ*/
+void sp_flowsensor_control(void)
+{
+ //flowsensor_update_count();
+}
+
+/*»ñÈ¡µ±Ç°Á÷Á¿¼ÆÂö³å¼ÆÊý*/
+uint32 sp_flowsensor_get_count(void)
+{
+ return flowsensor_get_count();
+}
+
+/*Á÷Á¿¼ÆÂö³å¼ÆÊýÇåÁã */
+void sp_flowsensor_count_clear(void)
+{
+ flowsensor_set_count(0);
+}
+/*0--Á÷Á¿¼ÆÕý³£ 1--Á÷Á¿¼ÆÒì³£*/
+uint8 sp_flowsensor_check_valid(void)
+{
+ return flowsensor_sta();
+}
+
diff --git a/g401302/src/stm32f10x_it.c b/g401302/src/stm32f10x_it.c
new file mode 100644
index 0000000..82b6810
--- /dev/null
+++ b/g401302/src/stm32f10x_it.c
@@ -0,0 +1,168 @@
+/**
+ ******************************************************************************
+ * @file Project/STM32F10x_StdPeriph_Template/stm32f10x_it.c
+ * @author MCD Application Team
+ * @version V3.5.0
+ * @date 08-April-2011
+ * @brief Main Interrupt Service Routines.
+ * This file provides template for all exceptions handler and
+ * peripherals interrupt service routine.
+ ******************************************************************************
+ * @attention
+ *
+ * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+ * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+ * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
+ * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+ * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+ * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+ *
+ * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f10x_it.h"
+#include "G401_drv_hw_V01.h"
+
+/** @addtogroup STM32F10x_StdPeriph_Template
+ * @{
+ */
+
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+/* Private functions ---------------------------------------------------------*/
+
+/******************************************************************************/
+/* Cortex-M3 Processor Exceptions Handlers */
+/******************************************************************************/
+
+/**
+ * @brief This function handles NMI exception.
+ * @param None
+ * @retval None
+ */
+void NMI_Handler(void)
+{
+}
+
+/**
+ * @brief This function handles Hard Fault exception.
+ * @param None
+ * @retval None
+ */
+void HardFault_Handler(void)
+{
+ /* Go to infinite loop when Hard Fault exception occurs */
+ while (1)
+ {
+ }
+}
+
+/**
+ * @brief This function handles Memory Manage exception.
+ * @param None
+ * @retval None
+ */
+void MemManage_Handler(void)
+{
+ /* Go to infinite loop when Memory Manage exception occurs */
+ while (1)
+ {
+ }
+}
+
+/**
+ * @brief This function handles Bus Fault exception.
+ * @param None
+ * @retval None
+ */
+void BusFault_Handler(void)
+{
+ /* Go to infinite loop when Bus Fault exception occurs */
+ while (1)
+ {
+ }
+}
+
+/**
+ * @brief This function handles Usage Fault exception.
+ * @param None
+ * @retval None
+ */
+void UsageFault_Handler(void)
+{
+ /* Go to infinite loop when Usage Fault exception occurs */
+ while (1)
+ {
+ }
+}
+
+/**
+ * @brief This function handles SVCall exception.
+ * @param None
+ * @retval None
+ */
+void SVC_Handler(void)
+{
+}
+
+/**
+ * @brief This function handles Debug Monitor exception.
+ * @param None
+ * @retval None
+ */
+void DebugMon_Handler(void)
+{
+}
+
+/**
+ * @brief This function handles PendSVC exception.
+ * @param None
+ * @retval None
+ */
+void PendSV_Handler(void)
+{
+}
+
+/**
+ * @brief This function handles SysTick Handler.
+ * @param None
+ * @retval None
+ */
+void SysTick_Handler(void)
+{
+ TimerTick();
+ ComOverTimeProceed();
+}
+
+void USART1_IRQHandler(void)
+{
+}
+
+void UART5_IRQHandler(void)
+{
+ usart_isr_proc();
+
+ //´Ë´¦¿ÉÌí¼ÓÓ¦Óòã´úÂë
+}
+
+void ADC_IRQHandler(void)
+{
+}
+
+void DMA1_Channel1_IRQHandler(void)
+{
+ //DMA1_Channel1_read();
+}
+void USB_HP_CAN1_TX_IRQHandler (void)
+{
+ USB_HP_CAN1_TX ();
+}
+void USB_LP_CAN1_RX0_IRQHandler (void)
+{
+ USB_LP_CAN1_RX0();
+}
diff --git a/g401302/src/stm32f10x_it.h b/g401302/src/stm32f10x_it.h
new file mode 100644
index 0000000..9fd17c0
--- /dev/null
+++ b/g401302/src/stm32f10x_it.h
@@ -0,0 +1,65 @@
+/**
+ ******************************************************************************
+ * @file Project/STM32F10x_StdPeriph_Template/stm32f10x_it.h
+ * @author MCD Application Team
+ * @version V3.5.0
+ * @date 08-April-2011
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+ * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+ * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
+ * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+ * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+ * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+ *
+ * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32F10x_IT_H
+#define __STM32F10x_IT_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "stm32f10x.h"
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+/* Exported macro ------------------------------------------------------------*/
+/* Exported functions ------------------------------------------------------- */
+
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void TIM4_IRQHandler(void);
+void USART1_IRQHandler(void);
+void UART5_IRQHandler(void);
+void DMAChannel4_IRQHandler(void);
+void DMAChannel5_IRQHandler(void);
+void EXTI0_IRQHandler(void);
+void EXTI1_IRQHandler(void);
+void DMA1_Channel1_IRQHandler(void);
+void USB_HP_CAN1_TX_IRQHandler (void);
+void USB_LP_CAN1_RX0_IRQHandler (void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32F10x_IT_H */
+
+/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/