Uploading files
parent
b52a2a37a8
commit
a71db35fe8
|
|
@ -0,0 +1,3 @@
|
||||||
|
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||||
|
To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send
|
||||||
|
a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
|
||||||
Binary file not shown.
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,192 @@
|
||||||
|
:10000000ABC0CFC0CEC0CDC0CCC08AC3CAC0C9C0EF
|
||||||
|
:10001000C8C0C7C0C6C0C5C0C4C0C3C0C2C000003D
|
||||||
|
:1000200000000000000000010101010101010000C9
|
||||||
|
:1000300000000000000000000000000000000000C0
|
||||||
|
:10004000C038E0000000203C230202273820087856
|
||||||
|
:10005000880000C83808000007380E010000F808C2
|
||||||
|
:1000600000F80008F800033C0700073C030080800C
|
||||||
|
:10007000808080808000203F20003F20003F08F8E3
|
||||||
|
:10008000008080800000203F210000203F2000E011
|
||||||
|
:1000900010080810E000000F102020100F000010C2
|
||||||
|
:1000A00010F8000000000020203F20200000007019
|
||||||
|
:1000B0000808088870000030282422213000003011
|
||||||
|
:1000C0000888884830000018202020110E00000009
|
||||||
|
:1000D000C02010F8000000070424243F240000F88A
|
||||||
|
:1000E0000888880808000019212020110E0000E06F
|
||||||
|
:1000F000108888180000000F112020110E00003811
|
||||||
|
:100100000808C83808000000003F00000000007028
|
||||||
|
:10011000880808887000001C222121221C0000E0B1
|
||||||
|
:1001200010080810E0000000312222110F00C8A1C1
|
||||||
|
:10013000A81FDA028D142E2B2A002A292A002E2C21
|
||||||
|
:100140002A002A292A002E2B2F002E2B2A002E2DA2
|
||||||
|
:100150002A002E2C2A00670511241FBECFE5D1E00E
|
||||||
|
:10016000DEBFCDBF20E0A8E7B0E001C01D92A53AF8
|
||||||
|
:10017000B207E1F710E0A0E6B0E0EAECFBE002C075
|
||||||
|
:1001800005900D92A837B107D9F710E0CCEAD0E07E
|
||||||
|
:1001900003C02197FE0111D5CB3AD107D1F70AD37D
|
||||||
|
:1001A00012C52ECFC09AC29ABA9AB89A8FEF8FB959
|
||||||
|
:1001B0008AE28DB980EF8EB908953FB7F8948091A7
|
||||||
|
:1001C000990090919A00A0919B00B0919C0022B759
|
||||||
|
:1001D00008B601FE05C02F3F19F00196A11DB11D03
|
||||||
|
:1001E0003FBFBA2FA92F982F8827BC01CD01620FDE
|
||||||
|
:1001F000711D811D911D43E0660F771F881F991F98
|
||||||
|
:100200004A95D1F70895CF92DF92EF92FF92CF9364
|
||||||
|
:10021000DF936B017C01D1DFEB01CFDF6C1B7D0B2A
|
||||||
|
:10022000683E7340A0F0C114D104E104F10439F434
|
||||||
|
:10023000DF91CF91FF90EF90DF90CF90089581E014
|
||||||
|
:10024000C81AD108E108F108C851DC4FE6CFC11443
|
||||||
|
:10025000D104E104F10409F7EBCFCF92DF92EF92E2
|
||||||
|
:10026000FF920F931F93CF93DF936C01EB017B0100
|
||||||
|
:10027000E40EF51E10E000E0CE15DF0561F0699197
|
||||||
|
:10028000D601ED91FC910190F081E02DC601099518
|
||||||
|
:10029000080F191FF1CFC801DF91CF911F910F9166
|
||||||
|
:1002A000FF90EF90DF90CF900895E0917A00F09169
|
||||||
|
:1002B0007B000994E0917800F09179000994E09135
|
||||||
|
:1002C0007C00F0917D00099580E4F4CFE0917C0002
|
||||||
|
:1002D000F0917D00099580E0EDCF1F93CF93DF93E0
|
||||||
|
:1002E000C82F162FD62FD77080916700D82BEEDF3E
|
||||||
|
:1002F0008D2FE0DF8C2F82958F708061DBDF8C2F5C
|
||||||
|
:100300008F70D8DFD2DFC093A2001093A100DF91DD
|
||||||
|
:10031000CF911F9108950F931F93CF93DF93C0E068
|
||||||
|
:1003200010E86C2F80E0D9DF8091A200012F081B1C
|
||||||
|
:1003300081F01093A200C3DFD0E080E0BBDF811129
|
||||||
|
:1003400004C0B3DFBCDF80E0B5DFDF5F0D13F5CFA6
|
||||||
|
:10035000ACDFCF5FC43029F760E080E0DF91CF9160
|
||||||
|
:100360001F910F91BACF8091A100860F24E030E059
|
||||||
|
:10037000261B31098217130609F034F48093A1007B
|
||||||
|
:100380006091A10080E0A9CF84E0861BF7CFAF92F7
|
||||||
|
:10039000BF92CF92DF92EF92FF920F931F93CF9372
|
||||||
|
:1003A000DF93E0918000F0918100309741F06D3053
|
||||||
|
:1003B00031F0D62FC3816A3079F46C2FD4DF81E01D
|
||||||
|
:1003C00090E0DF91CF911F910F91FF90EF90DF9020
|
||||||
|
:1003D000CF90BF90AF900895A2804091A200EA2CE8
|
||||||
|
:1003E000F12C20E830E02E193F094217130619F0CE
|
||||||
|
:1003F00014F06C2FB8DFE0918000F091810024812F
|
||||||
|
:100400008C2F90E0B7018DD3BC014D2F421B550BB3
|
||||||
|
:10041000CA0187D38C01BC2E52DFC801282F201BB4
|
||||||
|
:100420002A15C0F46C015FEFC51AD50AE09180006F
|
||||||
|
:10043000F09181000190F081E02DE80FF91FD49137
|
||||||
|
:100440008D2F38DF811104C030DF39DF8D2F32DF8F
|
||||||
|
:10045000C601E4CF0E0D1F1D28DF8091A200C13020
|
||||||
|
:1004600039F48A0D8093A200BA94B110D5CFA7CFEA
|
||||||
|
:100470006091A1006F5F91E09B1510F42EDFF4CF27
|
||||||
|
:100480006C1B8A0DFBCF0F931F93CF93DF938C01CF
|
||||||
|
:10049000D0E0C0E0F801EC0FFD1F6491662339F055
|
||||||
|
:1004A0008DE990E074DF892B11F02196F3CFCE0116
|
||||||
|
:1004B000DF91CF911F910F9108958EB98BE295E056
|
||||||
|
:1004C0009A95F1F700008DB9B29BFECF92E09A9514
|
||||||
|
:1004D000F1F700C08DB9769BF2CF85E08A95F1F7F0
|
||||||
|
:1004E00000008FB19FEF9FB9B89A0895C2988FB955
|
||||||
|
:1004F00080EFE3DFB8988EEFE0DF8095817008959C
|
||||||
|
:10050000F5CFCF938091A3009091A4009C012F5F21
|
||||||
|
:100510003F4F2230310528F001979093A40080933B
|
||||||
|
:10052000A300B89880EFC9DFC82F8091A3009091F5
|
||||||
|
:10053000A400892B39F48FEF8FB98EEFBEDF8C2F9B
|
||||||
|
:10054000CF9108951FB8F9CF6115710531F07093FF
|
||||||
|
:10055000A4006093A30061E070E0C29AB29BFECF5A
|
||||||
|
:1005600092E09A95F1F700C0C09892E09A95F1F761
|
||||||
|
:1005700000C0C298C09A779B0CC0C298880F862B87
|
||||||
|
:100580008FB980EF9ADFB8988EEF97DF80958170F2
|
||||||
|
:10059000089580E0089570E060E08CE3D5CFC098C6
|
||||||
|
:1005A000C29AB29BFECF82E08A95F1F700C0C09A52
|
||||||
|
:1005B00085E08A95F1F700000895F1DF80E0089565
|
||||||
|
:1005C000F1DDE9DF811106C06AE070E080E090E0D3
|
||||||
|
:1005D0001ADEF7CFF2CFCF93DF93C82F70E060E041
|
||||||
|
:1005E00080E4B2DF8C2F82DF62E070E080E4ACDF79
|
||||||
|
:1005F00088DFC82F86DFDC2FC82FD1DFCE01DF9147
|
||||||
|
:10060000CF9108951F93CF93DF93182FEB0170E0E4
|
||||||
|
:1006100060E080E499DF812F69DF8D2F67DF8C2F09
|
||||||
|
:1006200065DFDF91CF911F91BACF8F929F92AF92EA
|
||||||
|
:10063000BF92CF92DF92EF92FF920F931F93CF93CF
|
||||||
|
:10064000DF93CDB7DEB7A1970FB6F894DEBF0FBE2C
|
||||||
|
:10065000CDBF6C01F12CE12C812C912C54018394A1
|
||||||
|
:10066000C114D104E104F10411F04601570180E105
|
||||||
|
:10067000881687E29806A104B10488F441E050E0AE
|
||||||
|
:1006800066E770E08DE990E0E8DD2AE030E040E0E8
|
||||||
|
:1006900050E0C501B40156D24B015C01E8CF19A26C
|
||||||
|
:1006A0008E010F5D1F4F8AE0882E912CA12CB12C5A
|
||||||
|
:1006B000C701B601A50194015ED2822F6AE028D25B
|
||||||
|
:1006C0009C2D981B892F9A304CF5805DF801829300
|
||||||
|
:1006D0008F0169017A01C114D104E104F10441F7E9
|
||||||
|
:1006E00001900020E9F73197AF01401B510BB80191
|
||||||
|
:1006F0008DE990E0B2DDA1960FB6F894DEBF0FBE93
|
||||||
|
:10070000CDBFDF91CF911F910F91FF90EF90DF90C0
|
||||||
|
:10071000CF90BF90AF909F908F900895895CD6CF77
|
||||||
|
:100720001F920F920FB60F9211242F933F938F9326
|
||||||
|
:100730009F93AF93BF938091950090919600A09165
|
||||||
|
:100740009700B09198003091940026E0230F2D3748
|
||||||
|
:1007500068F129E8230F0396A11DB11D2093940091
|
||||||
|
:100760008093950090939600A0939700B093980083
|
||||||
|
:100770008091990090919A00A0919B00B0919C006B
|
||||||
|
:100780000196A11DB11D8093990090939A00A093AA
|
||||||
|
:100790009B00B0939C00BF91AF919F918F913F912F
|
||||||
|
:1007A0002F910F900FBE0F901F9018950296A11DCC
|
||||||
|
:1007B000B11DD4CF81B781BF78948AB582608ABDDC
|
||||||
|
:1007C0008AB581608ABD83B7887F836083BF789450
|
||||||
|
:1007D00089B7826089BF80B7807F80BF80B780681B
|
||||||
|
:1007E00080BF80B7806480BF8CB580648CBD8FEF84
|
||||||
|
:1007F0008DBD80B7876080BF86B18877866886B9EF
|
||||||
|
:10080000379A17BA88E088BBCDDC67E676E080E0EF
|
||||||
|
:10081000F9DE60E074E185E0F5DEE0917E00F091C4
|
||||||
|
:100820007F00099553DDCEE2D1E056E3E52E51E09D
|
||||||
|
:10083000F52EFE011491812F3DDD811104C035DDBF
|
||||||
|
:1008400045DD812F37DD2196EC16FD0691F72DDD74
|
||||||
|
:1008500080E790E090938100809380005CDD36DD3E
|
||||||
|
:100860008FEA28DD22DD8091670094E0892780935C
|
||||||
|
:1008700067002FB7F8948091950090919600A09111
|
||||||
|
:100880009700B09198002FBF8093860090938700C7
|
||||||
|
:10089000A0938800B093890038EEC32E33E0D32EA6
|
||||||
|
:1008A000E12CF12C40E1842E4EE0942EA12CB12CB1
|
||||||
|
:1008B000C1E0D0E282E08FDE969587958C7F9093A1
|
||||||
|
:1008C00093008093920084E086DE97FDCFC09093E2
|
||||||
|
:1008D0008F0080938E0060919200709193008091C0
|
||||||
|
:1008E0006500909166006817790720F470936600A0
|
||||||
|
:1008F0006093650080919000909191008617970712
|
||||||
|
:1009000020F4709391006093900020918E003091BC
|
||||||
|
:100910008F0080916300909164002817390720F4BC
|
||||||
|
:10092000309364002093630080918C0090918D003F
|
||||||
|
:100930008217930720F430938D0020938C0090E071
|
||||||
|
:1009400080E050E040E0FED0A701960114D1309342
|
||||||
|
:100950008B0020938A002FB7F89480919500909196
|
||||||
|
:100960009600A0919700B09198002FBF409186000B
|
||||||
|
:100970005091870060918800709189002C013D01A1
|
||||||
|
:10098000441A550A660A770AA301920180938600E9
|
||||||
|
:1009900090938700A0938800B093890060918E00A7
|
||||||
|
:1009A00070918F0090E080E0CDD0A5019401E3D05C
|
||||||
|
:1009B0008091820090918300A0918400B091850085
|
||||||
|
:1009C000820F931FA41FB51F809382009093830012
|
||||||
|
:1009D000A0938400B0938500B39B4DC01092620039
|
||||||
|
:1009E0009ADC60E080E079DC80916100882309F482
|
||||||
|
:1009F0004EC0809192009091930017DE82E591E0C5
|
||||||
|
:100A000042DD80918A0090918B000FDE8EE491E0B0
|
||||||
|
:100A10003ADD80918E0090918F0007DE8AE491E0AC
|
||||||
|
:100A200032DD60918200709183008091840090910A
|
||||||
|
:100A30008500A70196019FD0C901F7DD86E491E00A
|
||||||
|
:100A400022DD109160001D27109360003FDC812F94
|
||||||
|
:100A500031DC2BDC8091670094E08927809367006C
|
||||||
|
:100A600064E670E080E090E0CEDB24CF10928F004F
|
||||||
|
:100A700010928E0030CF809162008111B1CF8091B1
|
||||||
|
:100A800061008C2780936100C0936200A9CF8091A0
|
||||||
|
:100A9000650090916600C9DD82E491E0F4DC80910C
|
||||||
|
:100AA000900090919100C1DD8EE391E0ECDC8091AB
|
||||||
|
:100AB000630090916400B9DD8AE391E0E4DC809109
|
||||||
|
:100AC0008C0090918D00B1DD86E391E0B9CFEDE926
|
||||||
|
:100AD000F0E0138212828CE690E09183808380EEB6
|
||||||
|
:100AE00092E090937F0080937E008BEC92E0909355
|
||||||
|
:100AF0007D0080937C0080E892E090937900809361
|
||||||
|
:100B000078008DED92E090937B0080937A000895B9
|
||||||
|
:100B1000002480FD060E660F11F08695D1F7802D1A
|
||||||
|
:100B200008950024552704C0080E591F880F991FE7
|
||||||
|
:100B3000009729F076956795B8F37105B9F7802D80
|
||||||
|
:100B4000952F0895EE27FF27AA27BB2708C0A20FDD
|
||||||
|
:100B5000B31FE41FF51F220F331F441F551F969527
|
||||||
|
:100B600087957795679598F37040A9F7009799F75F
|
||||||
|
:100B7000BD01CF010895A1E21A2EAA1BBB1BFD01E6
|
||||||
|
:100B80000DC0AA1FBB1FEE1FFF1FA217B307E4076C
|
||||||
|
:100B9000F50720F0A21BB30BE40BF50B661F771FC4
|
||||||
|
:100BA000881F991F1A9469F76095709580959095A4
|
||||||
|
:100BB0009B01AC01BD01CF010895EE0FFF1F059011
|
||||||
|
:0A0BC000F491E02D0994F894FFCFA2
|
||||||
|
:100BCA00400101FFFFFFFFB000000000C7012D0137
|
||||||
|
:080BDA001E00080229392A005F
|
||||||
|
:00000001FF
|
||||||
|
|
@ -0,0 +1,192 @@
|
||||||
|
:10000000ABC0CFC0CEC0CDC0CCC08AC3CAC0C9C0EF
|
||||||
|
:10001000C8C0C7C0C6C0C5C0C4C0C3C0C2C000003D
|
||||||
|
:1000200000000000000000010101010101010000C9
|
||||||
|
:1000300000000000000000000000000000000000C0
|
||||||
|
:10004000C038E0000000203C230202273820087856
|
||||||
|
:10005000880000C83808000007380E010000F808C2
|
||||||
|
:1000600000F80008F800033C0700073C030080800C
|
||||||
|
:10007000808080808000203F20003F20003F08F8E3
|
||||||
|
:10008000008080800000203F210000203F2000E011
|
||||||
|
:1000900010080810E000000F102020100F000010C2
|
||||||
|
:1000A00010F8000000000020203F20200000007019
|
||||||
|
:1000B0000808088870000030282422213000003011
|
||||||
|
:1000C0000888884830000018202020110E00000009
|
||||||
|
:1000D000C02010F8000000070424243F240000F88A
|
||||||
|
:1000E0000888880808000019212020110E0000E06F
|
||||||
|
:1000F000108888180000000F112020110E00003811
|
||||||
|
:100100000808C83808000000003F00000000007028
|
||||||
|
:10011000880808887000001C222121221C0000E0B1
|
||||||
|
:1001200010080810E0000000312222110F00C8A1C1
|
||||||
|
:10013000A81FDA028D142E2B2A002A292A002E2C21
|
||||||
|
:100140002A002A292A002E2B2F002E2B2A002E2DA2
|
||||||
|
:100150002A002E2C2A00670511241FBECFE5D2E00D
|
||||||
|
:10016000DEBFCDBF20E0A8E7B0E001C01D92A53AF8
|
||||||
|
:10017000B207E1F710E0A0E6B0E0EAECFBE002C075
|
||||||
|
:1001800005900D92A837B107D9F710E0CCEAD0E07E
|
||||||
|
:1001900003C02197FE0111D5CB3AD107D1F70AD37D
|
||||||
|
:1001A00012C52ECFC09AC29ABA9AB89A8FEF8FB959
|
||||||
|
:1001B0008AE28DB980EF8EB908953FB7F8948091A7
|
||||||
|
:1001C000990090919A00A0919B00B0919C0022B759
|
||||||
|
:1001D00008B601FE05C02F3F19F00196A11DB11D03
|
||||||
|
:1001E0003FBFBA2FA92F982F8827BC01CD01620FDE
|
||||||
|
:1001F000711D811D911D43E0660F771F881F991F98
|
||||||
|
:100200004A95D1F70895CF92DF92EF92FF92CF9364
|
||||||
|
:10021000DF936B017C01D1DFEB01CFDF6C1B7D0B2A
|
||||||
|
:10022000683E7340A0F0C114D104E104F10439F434
|
||||||
|
:10023000DF91CF91FF90EF90DF90CF90089581E014
|
||||||
|
:10024000C81AD108E108F108C851DC4FE6CFC11443
|
||||||
|
:10025000D104E104F10409F7EBCFCF92DF92EF92E2
|
||||||
|
:10026000FF920F931F93CF93DF936C01EB017B0100
|
||||||
|
:10027000E40EF51E10E000E0CE15DF0561F0699197
|
||||||
|
:10028000D601ED91FC910190F081E02DC601099518
|
||||||
|
:10029000080F191FF1CFC801DF91CF911F910F9166
|
||||||
|
:1002A000FF90EF90DF90CF900895E0917A00F09169
|
||||||
|
:1002B0007B000994E0917800F09179000994E09135
|
||||||
|
:1002C0007C00F0917D00099580E4F4CFE0917C0002
|
||||||
|
:1002D000F0917D00099580E0EDCF1F93CF93DF93E0
|
||||||
|
:1002E000C82F162FD62FD77080916700D82BEEDF3E
|
||||||
|
:1002F0008D2FE0DF8C2F82958F708061DBDF8C2F5C
|
||||||
|
:100300008F70D8DFD2DFC093A2001093A100DF91DD
|
||||||
|
:10031000CF911F9108950F931F93CF93DF93C0E068
|
||||||
|
:1003200010E86C2F80E0D9DF8091A200012F081B1C
|
||||||
|
:1003300081F01093A200C3DFD0E080E0BBDF811129
|
||||||
|
:1003400004C0B3DFBCDF80E0B5DFDF5F0D13F5CFA6
|
||||||
|
:10035000ACDFCF5FC43029F760E080E0DF91CF9160
|
||||||
|
:100360001F910F91BACF8091A100860F24E030E059
|
||||||
|
:10037000261B31098217130609F034F48093A1007B
|
||||||
|
:100380006091A10080E0A9CF84E0861BF7CFAF92F7
|
||||||
|
:10039000BF92CF92DF92EF92FF920F931F93CF9372
|
||||||
|
:1003A000DF93E0918000F0918100309741F06D3053
|
||||||
|
:1003B00031F0D62FC3816A3079F46C2FD4DF81E01D
|
||||||
|
:1003C00090E0DF91CF911F910F91FF90EF90DF9020
|
||||||
|
:1003D000CF90BF90AF900895A2804091A200EA2CE8
|
||||||
|
:1003E000F12C20E830E02E193F094217130619F0CE
|
||||||
|
:1003F00014F06C2FB8DFE0918000F091810024812F
|
||||||
|
:100400008C2F90E0B7018DD3BC014D2F421B550BB3
|
||||||
|
:10041000CA0187D38C01BC2E52DFC801282F201BB4
|
||||||
|
:100420002A15C0F46C015FEFC51AD50AE09180006F
|
||||||
|
:10043000F09181000190F081E02DE80FF91FD49137
|
||||||
|
:100440008D2F38DF811104C030DF39DF8D2F32DF8F
|
||||||
|
:10045000C601E4CF0E0D1F1D28DF8091A200C13020
|
||||||
|
:1004600039F48A0D8093A200BA94B110D5CFA7CFEA
|
||||||
|
:100470006091A1006F5F91E09B1510F42EDFF4CF27
|
||||||
|
:100480006C1B8A0DFBCF0F931F93CF93DF938C01CF
|
||||||
|
:10049000D0E0C0E0F801EC0FFD1F6491662339F055
|
||||||
|
:1004A0008DE990E074DF892B11F02196F3CFCE0116
|
||||||
|
:1004B000DF91CF911F910F9108958EB98BE295E056
|
||||||
|
:1004C0009A95F1F700008DB9B29BFECF92E09A9514
|
||||||
|
:1004D000F1F700C08DB9769BF2CF85E08A95F1F7F0
|
||||||
|
:1004E00000008FB19FEF9FB9B89A0895C2988FB955
|
||||||
|
:1004F00080EFE3DFB8988EEFE0DF8095817008959C
|
||||||
|
:10050000F5CFCF938091A3009091A4009C012F5F21
|
||||||
|
:100510003F4F2230310528F001979093A40080933B
|
||||||
|
:10052000A300B89880EFC9DFC82F8091A3009091F5
|
||||||
|
:10053000A400892B39F48FEF8FB98EEFBEDF8C2F9B
|
||||||
|
:10054000CF9108951FB8F9CF6115710531F07093FF
|
||||||
|
:10055000A4006093A30061E070E0C29AB29BFECF5A
|
||||||
|
:1005600092E09A95F1F700C0C09892E09A95F1F761
|
||||||
|
:1005700000C0C298C09A779B0CC0C298880F862B87
|
||||||
|
:100580008FB980EF9ADFB8988EEF97DF80958170F2
|
||||||
|
:10059000089580E0089570E060E08CE3D5CFC098C6
|
||||||
|
:1005A000C29AB29BFECF82E08A95F1F700C0C09A52
|
||||||
|
:1005B00085E08A95F1F700000895F1DF80E0089565
|
||||||
|
:1005C000F1DDE9DF811106C06AE070E080E090E0D3
|
||||||
|
:1005D0001ADEF7CFF2CFCF93DF93C82F70E060E041
|
||||||
|
:1005E00080E4B2DF8C2F82DF62E070E080E4ACDF79
|
||||||
|
:1005F00088DFC82F86DFDC2FC82FD1DFCE01DF9147
|
||||||
|
:10060000CF9108951F93CF93DF93182FEB0170E0E4
|
||||||
|
:1006100060E080E499DF812F69DF8D2F67DF8C2F09
|
||||||
|
:1006200065DFDF91CF911F91BACF8F929F92AF92EA
|
||||||
|
:10063000BF92CF92DF92EF92FF920F931F93CF93CF
|
||||||
|
:10064000DF93CDB7DEB7A1970FB6F894DEBF0FBE2C
|
||||||
|
:10065000CDBF6C01F12CE12C812C912C54018394A1
|
||||||
|
:10066000C114D104E104F10411F04601570180E105
|
||||||
|
:10067000881687E29806A104B10488F441E050E0AE
|
||||||
|
:1006800066E770E08DE990E0E8DD2AE030E040E0E8
|
||||||
|
:1006900050E0C501B40156D24B015C01E8CF19A26C
|
||||||
|
:1006A0008E010F5D1F4F8AE0882E912CA12CB12C5A
|
||||||
|
:1006B000C701B601A50194015ED2822F6AE028D25B
|
||||||
|
:1006C0009C2D981B892F9A304CF5805DF801829300
|
||||||
|
:1006D0008F0169017A01C114D104E104F10441F7E9
|
||||||
|
:1006E00001900020E9F73197AF01401B510BB80191
|
||||||
|
:1006F0008DE990E0B2DDA1960FB6F894DEBF0FBE93
|
||||||
|
:10070000CDBFDF91CF911F910F91FF90EF90DF90C0
|
||||||
|
:10071000CF90BF90AF909F908F900895895CD6CF77
|
||||||
|
:100720001F920F920FB60F9211242F933F938F9326
|
||||||
|
:100730009F93AF93BF938091950090919600A09165
|
||||||
|
:100740009700B09198003091940026E0230F2D3748
|
||||||
|
:1007500068F129E8230F0396A11DB11D2093940091
|
||||||
|
:100760008093950090939600A0939700B093980083
|
||||||
|
:100770008091990090919A00A0919B00B0919C006B
|
||||||
|
:100780000196A11DB11D8093990090939A00A093AA
|
||||||
|
:100790009B00B0939C00BF91AF919F918F913F912F
|
||||||
|
:1007A0002F910F900FBE0F901F9018950296A11DCC
|
||||||
|
:1007B000B11DD4CF81B781BF78948AB582608ABDDC
|
||||||
|
:1007C0008AB581608ABD83B7887F836083BF789450
|
||||||
|
:1007D00089B7826089BF80B7807F80BF80B780681B
|
||||||
|
:1007E00080BF80B7806480BF8CB580648CBD8FEF84
|
||||||
|
:1007F0008DBD80B7876080BF86B18877866886B9EF
|
||||||
|
:10080000379A17BA88E088BBCDDC67E676E080E0EF
|
||||||
|
:10081000F9DE60E074E185E0F5DEE0917E00F091C4
|
||||||
|
:100820007F00099553DDCEE2D1E056E3E52E51E09D
|
||||||
|
:10083000F52EFE011491812F3DDD811104C035DDBF
|
||||||
|
:1008400045DD812F37DD2196EC16FD0691F72DDD74
|
||||||
|
:1008500080E790E090938100809380005CDD36DD3E
|
||||||
|
:100860008FEA28DD22DD8091670094E0892780935C
|
||||||
|
:1008700067002FB7F8948091950090919600A09111
|
||||||
|
:100880009700B09198002FBF8093860090938700C7
|
||||||
|
:10089000A0938800B093890038EEC32E33E0D32EA6
|
||||||
|
:1008A000E12CF12C40E1842E4EE0942EA12CB12CB1
|
||||||
|
:1008B000C1E0D0E282E08FDE969587958C7F9093A1
|
||||||
|
:1008C00093008093920084E086DE97FDCFC09093E2
|
||||||
|
:1008D0008F0080938E0060919200709193008091C0
|
||||||
|
:1008E0006500909166006817790720F470936600A0
|
||||||
|
:1008F0006093650080919000909191008617970712
|
||||||
|
:1009000020F4709391006093900020918E003091BC
|
||||||
|
:100910008F0080916300909164002817390720F4BC
|
||||||
|
:10092000309364002093630080918C0090918D003F
|
||||||
|
:100930008217930720F430938D0020938C0090E071
|
||||||
|
:1009400080E050E040E0FED0A701960114D1309342
|
||||||
|
:100950008B0020938A002FB7F89480919500909196
|
||||||
|
:100960009600A0919700B09198002FBF409186000B
|
||||||
|
:100970005091870060918800709189002C013D01A1
|
||||||
|
:10098000441A550A660A770AA301920180938600E9
|
||||||
|
:1009900090938700A0938800B093890060918E00A7
|
||||||
|
:1009A00070918F0090E080E0CDD0A5019401E3D05C
|
||||||
|
:1009B0008091820090918300A0918400B091850085
|
||||||
|
:1009C000820F931FA41FB51F809382009093830012
|
||||||
|
:1009D000A0938400B0938500B39B4DC01092620039
|
||||||
|
:1009E0009ADC60E080E079DC80916100882309F482
|
||||||
|
:1009F0004EC0809192009091930017DE82E591E0C5
|
||||||
|
:100A000042DD80918A0090918B000FDE8EE491E0B0
|
||||||
|
:100A10003ADD80918E0090918F0007DE8AE491E0AC
|
||||||
|
:100A200032DD60918200709183008091840090910A
|
||||||
|
:100A30008500A70196019FD0C901F7DD86E491E00A
|
||||||
|
:100A400022DD109160001D27109360003FDC812F94
|
||||||
|
:100A500031DC2BDC8091670094E08927809367006C
|
||||||
|
:100A600064E670E080E090E0CEDB24CF10928F004F
|
||||||
|
:100A700010928E0030CF809162008111B1CF8091B1
|
||||||
|
:100A800061008C2780936100C0936200A9CF8091A0
|
||||||
|
:100A9000650090916600C9DD82E491E0F4DC80910C
|
||||||
|
:100AA000900090919100C1DD8EE391E0ECDC8091AB
|
||||||
|
:100AB000630090916400B9DD8AE391E0E4DC809109
|
||||||
|
:100AC0008C0090918D00B1DD86E391E0B9CFEDE926
|
||||||
|
:100AD000F0E0138212828CE690E09183808380EEB6
|
||||||
|
:100AE00092E090937F0080937E008BEC92E0909355
|
||||||
|
:100AF0007D0080937C0080E892E090937900809361
|
||||||
|
:100B000078008DED92E090937B0080937A000895B9
|
||||||
|
:100B1000002480FD060E660F11F08695D1F7802D1A
|
||||||
|
:100B200008950024552704C0080E591F880F991FE7
|
||||||
|
:100B3000009729F076956795B8F37105B9F7802D80
|
||||||
|
:100B4000952F0895EE27FF27AA27BB2708C0A20FDD
|
||||||
|
:100B5000B31FE41FF51F220F331F441F551F969527
|
||||||
|
:100B600087957795679598F37040A9F7009799F75F
|
||||||
|
:100B7000BD01CF010895A1E21A2EAA1BBB1BFD01E6
|
||||||
|
:100B80000DC0AA1FBB1FEE1FFF1FA217B307E4076C
|
||||||
|
:100B9000F50720F0A21BB30BE40BF50B661F771FC4
|
||||||
|
:100BA000881F991F1A9469F76095709580959095A4
|
||||||
|
:100BB0009B01AC01BD01CF010895EE0FFF1F059011
|
||||||
|
:0A0BC000F491E02D0994F894FFCFA2
|
||||||
|
:100BCA00400101FFFFFFFFB000000000C7012D0137
|
||||||
|
:080BDA001E00080229392A005F
|
||||||
|
:00000001FF
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
For ATtiny85:
|
||||||
|
-------------
|
||||||
|
avrdude -c usbtiny -p t85 -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U flash:w:USB_Tester_t85_v1.0.hex
|
||||||
|
|
||||||
|
For ATtiny45:
|
||||||
|
-------------
|
||||||
|
avrdude -c usbtiny -p t45 -U lfuse:w:0xe2:m -U hfuse:w:0xdf:m -U flash:w:USB_Tester_t45_v1.0.hex
|
||||||
|
|
@ -0,0 +1,173 @@
|
||||||
|
// USB Power Tester - Basic
|
||||||
|
//
|
||||||
|
// This code implements the basic functionality for the USB Power Tester.
|
||||||
|
// It reads voltage, current and power from the INA219, calculates capacity
|
||||||
|
// and shows the values on the OLED. It uses a reduced character set in order
|
||||||
|
// to make it fit on an ATtiny45. The SET button is used to switch between
|
||||||
|
// the "recent value screen" and the "min/max value screen".
|
||||||
|
//
|
||||||
|
// +-\/-+
|
||||||
|
// RESET --- A0 (D5) PB5 1| |8 Vcc
|
||||||
|
// SET ----- A3 (D3) PB3 2| |7 PB2 (D2) A1 ---- OLED/INA (SCK)
|
||||||
|
// A2 (D4) PB4 3| |6 PB1 (D1)
|
||||||
|
// GND 4| |5 PB0 (D0) ------- OLED/INA (SDA)
|
||||||
|
// +----+
|
||||||
|
//
|
||||||
|
// Controller: ATtiny45/85
|
||||||
|
// Core: ATTinyCore (https://github.com/SpenceKonde/ATTinyCore)
|
||||||
|
// Clockspeed: 8 MHz internal
|
||||||
|
// Millis: enabled
|
||||||
|
//
|
||||||
|
// 2020 by Stefan Wagner (https://easyeda.com/wagiminator)
|
||||||
|
// License: http://creativecommons.org/licenses/by-sa/3.0/
|
||||||
|
|
||||||
|
|
||||||
|
//Libraries
|
||||||
|
#include <TinyI2CMaster.h> // https://github.com/technoblogy/tiny-i2c
|
||||||
|
#include <Tiny4kOLED.h> // https://github.com/datacute/Tiny4kOLED
|
||||||
|
#include <avr/pgmspace.h> // for using data in program space
|
||||||
|
#include "font8x16a.h" // reduced character set
|
||||||
|
|
||||||
|
// Pin definitions
|
||||||
|
#define SETBUTTON 3
|
||||||
|
|
||||||
|
// INA219 register values
|
||||||
|
#define INA_ADDR 0b01000000 // I2C address of INA219
|
||||||
|
#define INA_CONFIG 0b0000011001100111 // INA config register according to datasheet
|
||||||
|
#define INA_CALIB 5120 // INA calibration register according to R_SHUNT
|
||||||
|
#define CONFIG_REG 0x00 // INA configuration register address
|
||||||
|
#define CALIB_REG 0x05 // INA calibration register address
|
||||||
|
#define SHUNT_REG 0x01 // INA shunt voltage register address
|
||||||
|
#define VOLTAGE_REG 0x02 // INA bus voltage register address
|
||||||
|
#define POWER_REG 0x03 // INA power register address
|
||||||
|
#define CURRENT_REG 0x04 // INA current register address
|
||||||
|
|
||||||
|
// Conversions for the reduced character set
|
||||||
|
#define mV ".,*"
|
||||||
|
#define mA ".+*"
|
||||||
|
#define mW ".-*"
|
||||||
|
#define mAh ".+/"
|
||||||
|
#define SEP "*)*"
|
||||||
|
#define SPACE "*"
|
||||||
|
|
||||||
|
// Variables (voltage in mV, current in mA, power in mW)
|
||||||
|
uint16_t voltage, current, power;
|
||||||
|
uint16_t minvoltage = 65535, maxvoltage = 0;
|
||||||
|
uint16_t mincurrent = 65535, maxcurrent = 0;
|
||||||
|
uint32_t lastmillis, nowmillis, interval;
|
||||||
|
uint32_t capacity = 0;
|
||||||
|
bool primescreen = true;
|
||||||
|
bool lastbutton = true;
|
||||||
|
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
// setup pins
|
||||||
|
DDRB = 0; // all pins input now
|
||||||
|
PORTB = bit (SETBUTTON); // pullup for set button
|
||||||
|
|
||||||
|
// start I2C
|
||||||
|
TinyI2C.init();
|
||||||
|
|
||||||
|
// start INA219
|
||||||
|
initINA();
|
||||||
|
|
||||||
|
// start OLED
|
||||||
|
oled.begin();
|
||||||
|
oled.setFont(FONT8X16A);
|
||||||
|
oled.clear();
|
||||||
|
oled.on();
|
||||||
|
oled.switchRenderFrame();
|
||||||
|
|
||||||
|
// init some variables
|
||||||
|
lastmillis = millis();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
// read voltage, current and power from INA219
|
||||||
|
updateINA();
|
||||||
|
|
||||||
|
// update min/max values
|
||||||
|
if (minvoltage > voltage) minvoltage = voltage;
|
||||||
|
if (maxvoltage < voltage) maxvoltage = voltage;
|
||||||
|
if (mincurrent > current) mincurrent = current;
|
||||||
|
if (maxcurrent < current) maxcurrent = current;
|
||||||
|
|
||||||
|
// calculate power in mW
|
||||||
|
power = (uint32_t)voltage * current / 1000;
|
||||||
|
|
||||||
|
// calculate capacity in uAh
|
||||||
|
nowmillis = millis();
|
||||||
|
interval = nowmillis - lastmillis; // calculate time interval
|
||||||
|
lastmillis = nowmillis;
|
||||||
|
capacity += interval * current / 3600; // calculate uAh
|
||||||
|
|
||||||
|
// check button
|
||||||
|
if (bitRead(PINB, SETBUTTON)) lastbutton = false;
|
||||||
|
else if (!lastbutton) {
|
||||||
|
primescreen = !primescreen;
|
||||||
|
lastbutton = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// display values on the oled
|
||||||
|
oled.clear();
|
||||||
|
oled.setCursor(0, 0);
|
||||||
|
if (primescreen) {
|
||||||
|
printValue(voltage); oled.print(F(mV));
|
||||||
|
printValue(power); oled.print(F(mW));
|
||||||
|
printValue(current); oled.print(F(mA));
|
||||||
|
printValue(capacity / 1000); oled.print(F(mAh));
|
||||||
|
} else {
|
||||||
|
printValue(minvoltage); oled.print(F(SEP)); printValue(maxvoltage); oled.print(F(mV));
|
||||||
|
printValue(mincurrent); oled.print(F(SEP)); printValue(maxcurrent); oled.print(F(mA));
|
||||||
|
}
|
||||||
|
oled.switchFrame();
|
||||||
|
|
||||||
|
// a little delay
|
||||||
|
delay(100);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// writes a register value to the INA219
|
||||||
|
void writeRegister(uint8_t reg, uint16_t value) {
|
||||||
|
TinyI2C.start(INA_ADDR, 0);
|
||||||
|
TinyI2C.write(reg);
|
||||||
|
TinyI2C.write((value >> 8) & 0xff);
|
||||||
|
TinyI2C.write(value & 0xff);
|
||||||
|
TinyI2C.stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
// reads a register from the INA219
|
||||||
|
uint16_t readRegister(uint8_t reg) {
|
||||||
|
uint16_t result;
|
||||||
|
TinyI2C.start(INA_ADDR, 0);
|
||||||
|
TinyI2C.write(reg);
|
||||||
|
TinyI2C.restart(INA_ADDR, 2);
|
||||||
|
result = (uint16_t)(TinyI2C.read() << 8) | TinyI2C.read();
|
||||||
|
TinyI2C.stop();
|
||||||
|
return(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
// writes inital configuration and calibration values to the INA
|
||||||
|
void initINA() {
|
||||||
|
writeRegister(CONFIG_REG, INA_CONFIG);
|
||||||
|
writeRegister(CALIB_REG, INA_CALIB);
|
||||||
|
}
|
||||||
|
|
||||||
|
// read sensor values from INA219
|
||||||
|
void updateINA() {
|
||||||
|
voltage = (readRegister(VOLTAGE_REG) >> 1) & 0xfffc;
|
||||||
|
current = readRegister(CURRENT_REG);
|
||||||
|
if (current > 32767) current = 0;
|
||||||
|
//power = readRegister(POWER_REG) * 20;
|
||||||
|
}
|
||||||
|
|
||||||
|
// prints 5-digit value right aligned
|
||||||
|
void printValue(uint16_t value) {
|
||||||
|
uint32_t counter = value;
|
||||||
|
if (counter == 0) counter = 1;
|
||||||
|
while (counter < 10000) {
|
||||||
|
oled.print(SPACE);
|
||||||
|
counter *= 10;
|
||||||
|
}
|
||||||
|
oled.print(value);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
/*
|
||||||
|
* Tiny4kOLED - Drivers for SSD1306 controlled dot matrix OLED/PLED 128x32 displays
|
||||||
|
*
|
||||||
|
* Based on ssd1306xled, re-written and extended by Stephen Denne
|
||||||
|
* from 2017-04-25 at https://github.com/datacute/Tiny4kOLED
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
* SSD1306xLED - Drivers for SSD1306 controlled dot matrix OLED/PLED 128x64 displays
|
||||||
|
*
|
||||||
|
* @created: 2014-08-12
|
||||||
|
* @author: Neven Boyanov
|
||||||
|
*
|
||||||
|
* Source code available at: https://bitbucket.org/tinusaur/ssd1306xled
|
||||||
|
*
|
||||||
|
* Reduced to the characters needed for the USB Tester 2020 by Stefan Wagner
|
||||||
|
* https://easyeda.com/wagiminator
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include <avr/pgmspace.h>
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
/* Standard ASCII 8x16 font */
|
||||||
|
const uint8_t ssd1306xled_font8x16a [] PROGMEM = {
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01, // ) 41 = -
|
||||||
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // * 42 = SPACE
|
||||||
|
0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20, // + 43 = A
|
||||||
|
0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00, // , 44 = V
|
||||||
|
0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00, // - 45 = W
|
||||||
|
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F, // . 46 = m
|
||||||
|
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20, // / 47 = h
|
||||||
|
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00, // 0 48
|
||||||
|
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00, // 1 49
|
||||||
|
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00, // 2 50
|
||||||
|
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00, // 3 51
|
||||||
|
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00, // 4 52
|
||||||
|
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00, // 5 53
|
||||||
|
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00, // 6 54
|
||||||
|
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00, // 7 55
|
||||||
|
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00, // 8 56
|
||||||
|
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00, // 9 57
|
||||||
|
};
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
const DCfont TinyOLED4kfont8x16a = {
|
||||||
|
(uint8_t *)ssd1306xled_font8x16a,
|
||||||
|
8, // character width in pixels
|
||||||
|
2, // character height in pages (8 pixels)
|
||||||
|
41,57 // ASCII extents
|
||||||
|
};
|
||||||
|
|
||||||
|
// for backwards compatibility
|
||||||
|
#define FONT8X16A (&TinyOLED4kfont8x16a)
|
||||||
Loading…
Reference in New Issue