/Designs/Measuring_instruments/AWS01A/SW/PIC16F887/main.c
66,21 → 66,21
setup_timer_2(T2_DISABLED,0,1);
setup_ccp1(CCP_OFF);
setup_comparator(NC_NC_NC_NC); // This device COMP currently not supported by the PICWizard
setup_oscillator(OSC_8MHZ);
setup_wdt(WDT_1152MS|WDT_DIV_16);
// setup_oscillator(OSC_8MHZ); // pri prouziti bootloaderu neni treba nastavovat
// setup_wdt(WDT_1152MS|WDT_DIV_16);
setup_spi(SPI_MASTER | SPI_MODE_0 | SPI_CLK_DIV_64);
output_high(CSN_SPI);
 
delay_ms(100);
 
welcome(); // welocome print and device indentification
welcome(); // welcome print and device indentification
 
sht_init();
MPL_init(); // get correction coefficients from the sensor
 
enable_interrupts(INT_TIMER1); // interrupts used for anemometer readings
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
// enable_interrupts(INT_TIMER1); // interrupts used for anemometer readings
// enable_interrupts(INT_TIMER0);
// enable_interrupts(GLOBAL);
 
while (TRUE)
{
/Designs/Measuring_instruments/AWS01A/SW/PIC16F887/main.hex
5,366 → 5,413
:100050003E288B1E2D280B194128220884002308D6
:10006000F7002408F8002508F9002608FA002008FF
:100070008A00210E8300FF0E7F0E09008A110A12EA
:100080002F298A110A1294298E30F70003171208BB
:10009000F8001108F900FA01F808031D5928790839
:1000A000F800F9010830F702F808031D5928F70194
:1000B00061280310F81B6028F90DF80DF703592883
:1000C000F8130313080003171008031929299C00CB
:1000D0001408031929299C02031C73287F309C07EC
:1000E00003182929792881309C02031C2929031926
:1000F00029291C08F700F801F901FA019B011108F0
:100100009A009A17120899001308980019309C0059
:100110001708980203189C280130990203189C289C
:100120009A0203189C289B0203189C289B0A9A0A8F
:10013000990A17089807CE28160899020318B728B5
:1001400001309A020318B7289B020318B7289B0AAC
:100150009A0A1608990717089807031CCE28990AC7
:10016000031DCE289A0A031DCE289B0ACE28150807
:1001700080389A020318CD2801309B020318CD283D
:100180009B0A150880389A0716089907031CAB28A4
:100190009A0A031DAB289B0AAB287A149C0BD12822
:1001A000DC280310980D990D9A0D9B0D0310FA0D84
:1001B000F90DF80D9D0D88281D1CE4280310F80C7E
:1001C000F90CFA0C9D0CE728F703031929299D1B4C
:1001D00010290310980D990D9A0D9B0D1708980280
:1001E0000318FC28013099020318FC289A0203180E
:1001F000FC289B02031C1F291608990203180729D3
:1002000001309A02031807299B02031C1F291508B5
:1002100080389A020318102901309B02031C1F2901
:10022000FA0A031D1F29F90A031D1F29F80A031DD5
:100230001F29F70A03192929F80CF90CFA0C1108DF
:100240009C0015089C069C1F2729F8172D29F813D8
:100250002D29F701F801F901FA01031308008316AB
:10026000881002308312880641088316EF0083123B
:1002700040088316EE00831203179101FF309000AF
:1002800010309200F701FA0183160313EF0CEE0C05
:10029000031C5429831203171008F7070318FA0ADE
:1002A0001108FA0783160313FA0CF70CF90CF80C73
:1002B00083120317920B4429790883160313EF0066
:1002C0007808EE00831201088316EE070318EF0A80
:1002D0006F08831203179200831603136E088312AC
:1002E00003179100031344207A0803179300790839
:1002F000920078089100770890008030970096016E
:1003000095017E309400031363207A08C5007908B4
:10031000C4007808C3007708C200C101C001810190
:100320000C108A110A122D28C00A0319C10A0B11D8
:100330008A110A122D280D050D052310C12B531803
:10034000B120A0127310A82129103218B119A03BB6
:10035000F73BAE36EC306217633DA0060A0023106F
:10036000F6327210F3327110203AE536F02DCB2EB2
:100370002034F5365F3AE536F02DCB2E2034F536B5
:10038000DB12A52E2000E230F22FF4326D38DB258F
:100390005D107039E539F33AF2325B34D0305D10DC
:1003A0006334E531EB068A060A0068308400831363
:1003B00000080319E8290230F800F701F70BDE29DD
:1003C000F80BDD299730F700F70BE429800BDB29C8
:1003D000080083165308D5005208D4005508FA00C7
:1003E0005408840083137A18831780080319FC29A2
:1003F000D40A0319D50AEE2952085402F700550809
:10040000FA005308031C530FFA027708F80083120E
:100410000800831603178C170C1400000000031843
:10042000402A83120C087F3983160313D3008312EA
:1004300003170D0883160313D400831203170F0844
:1004400083160313D500530883120C1E252A990026
:1004500083165408831203178D008316031355085F
:10046000831203178F0083168C170C1400000000F2
:100470000313D20B3C2A3E2A0317402A6B2A031788
:1004800083120C0D0E0D7F3983160313D3008312D4
:1004900003170D0883160313D400831203170F08E4
:1004A00083160313D500530883120C1E552A990096
:1004B00083165408831203178D00831603135508FF
:1004C000831203178F008D0A03198F0A03108316F6
:1004D0000313D20B0A2A83120800800803198A2A00
:1004E0008316D3010408D2005310831B5314000851
:1004F00083120C1E792A99008316520884008313F4
:1005000053188317840A031D882A8312850A8316C9
:1005100083126D2A080024308316A0004930A10000
:100520006430A2003A30A3002030A4006D30A50052
:100530006130A6006930A7006E30A8002E30A900F7
:100540006330AA002030AB003230AC003830AD0050
:100550003230AE003930AF002030B0003230B10060
:100560003030B2003130B3003330B4002D30B5003C
:100570003030B6003330B7002D30B8003130B9001C
:100580003030BA002030BB003130BC003630BD0006
:100590003A30BE003430BF003130C0003A30C100C4
:1005A0003230C2003030C3005A30C4002030C500A1
:1005B0006B30C6006130C7006B30C8006C30C900BA
:1005C0006930CA006B30CB002030CC002430CD0025
:1005D000CE01D301A030D2008312E921013078028C
:1005E000A03E840083130008243C031D032B8316C4
:1005F000D301A030D2008312E92101307802A03E5D
:100600008400831380019B3003178D0001308F001D
:1006100003100D3083160313D200831209222B30EE
:10062000840083136D22A23003178D0001308F00E8
:100630000314183083160313D200831209222330C7
:100640000C1E202B9900A430840083136D220D30E2
:100650000C1E282B99000A300C1E2C2B9900AF3051
:1006600003178D0001308F0003102330831603130E
:10067000D2008312092225300C1E3C2B99005D30DC
:100680000C1E402B990020300C1E442B9900C330C7
:1006900003178D0001308F0083168C170C14000097
:1006A000000083120C087F390319A32B8316031350
:1006B000D200831203170D0883160313D30083128D
:1006C00003170F0883160313D400520883120C1E5D
:1006D000672B990083165308831203178D00831626
:1006E00003135408831203178F0083168C170C14FE
:1006F0000000000083120C0D0E0D7F390319A32B8F
:1007000083160313D200831203170D0883160313F5
:10071000D300831203170F0883160313D400520863
:1007200083120C1E912B9900831653088312031712
:100730008D00831603135408831203178F008D0A4C
:1007400003198F0A4C2B640003138A110A16A72879
:1007500083160814881083128810AE2BAF2B8316D3
:10076000881083128814B42BB52B831608108312BB
:100770000810BA2BBB2B8316881083128810033005
:10078000F700F70BC12B8316881083128814C82B2F
:10079000C92B83160814CC2BCD2B881083128810FC
:1007A0000800831608148810831288100330F7009D
:1007B000F70BD82BE8016808083C031CF12B8316C3
:1007C0008810831288140330F700F70BE52B83168B
:1007D0008810831288100330F700F70BED2BE80A1E
:1007E000DB2BA8231430E800D5218A110A16AA2889
:1007F0008030831CFE2B8316BF0683128316C40130
:10080000C5013B08C3003F08C3063A080319EC2C96
:10081000C200F7003E080319F52CC2020319912CFF
:10082000031C4F2C3F08C800C8174008C7004108E8
:10083000C600C5010310C80CC70CC60CC50CC20B02
:10084000192CC31F262C4414092D441042104416A1
:10085000BD30840083131E2D4412C31B392C421C4F
:10086000442CC80CC70CC60CC50CF70A0319042D80
:10087000442CC81B472C0310C50DC60DC70DC80D51
:10088000F7030319042D392C4417B12C44133B08EA
:10089000C300C31F4D2CC817FD2CC813FD2C3E08E8
:1008A000C200F7003A08C2023B08C800C8173C085B
:1008B000C7003D08C600C5010310C80CC70CC60C14
:1008C000C50CC20B5B2CC31F682CC414092DC410AB
:1008D0004210C416C130840083131E2DC412C31BE2
:1008E0007B2C421C862CC80CC70CC60CC50CF70A06
:1008F0000319042D862CC81B892C0310C50DC60DA9
:10090000C70DC80DF7030319042D7B2CC417B12C98
:10091000C4133F08C300C31F8F2CC817FD2CC81376
:10092000FD2C3F08C800C8174008C7004108C60092
:10093000C31F9E2CC8134415092D4411C501421034
:10094000BD30840083131E2DC31BC72C3B08C3007E
:10095000421CB12CC80CC70CC60CC50CF70A0319F5
:10096000042DC51FC22CC60A031DC22CC70A031DB5
:10097000C22CC80A031DC22CC80CC70CC60CF70A2F
:100980000319042D441B462CC41B882CE62C8030F4
:10099000C806C81FCF2C092D3F08C300DC2C3B081C
:1009A000C300C808031DDC2CC708031DDC2CC608C7
:1009B000031DDC2CF701FD2CC81BE62C0310C50D14
:1009C000C60DC70DC80DF70BDC2C042DC31FEA2C78
:1009D000C817FD2CC813FD2C3E08F7003F08C800BF
:1009E0004008C7004108C600FD2C3A08F7003B0844
:1009F000C8003C08C7003D08C6004808F800470882
:100A0000F9004608FA003C2DF701F801F901FA0156
:100A10003C2DC501C609C709C809C509C50A031D7A
:100A2000172DC60A031D172DC70A0319C80A441833
:100A3000252CC418672C44199D2CCC2C0008C60703
:100A4000031C282DC70A031D282DC80A03194214A8
:100A500084030008C707031C302DC80A0319421479
:100A600084030008801F803AC80703184214441A00
:100A70002C2CC41A6E2CA42C831208003F113F08A2
:100A8000831687008312071113088830930083169A
:100A9000140C031C482D8312130893018316140CA5
:100AA000031C4F2D83121308E80013088A309300AB
:100AB0008316140C031C592D8312130893018316FB
:100AC000140C031C602D83121308E90013088C30EA
:100AD00093008316140C031C6A2D831213089301D0
:100AE0008316140C031C712D83121308EA001308DB
:100AF0008E3093008316140C031C7B2D8312130875
:100B000093018316140C031C822D83121308EB002F
:100B10001308903093008316140C031C8C2D831241
:100B2000130893018316140C031C932D83121308CE
:100B3000EC001308923093008316140C031C9D2DB7
:100B40008312130893018316140C031CA42D831223
:100B50001308ED001308943093008316140C031C43
:100B6000AE2D8312130893018316140C031CB52DAC
:100B700083121308EE001308963093008316140CAA
:100B8000031CBF2D8312130893018316140C031C3E
:100B9000C62D83121308EF00130893018316140C5B
:100BA000031CCF2D83123F113F0883168700831249
:100BB00007158316A101831268088316A000A00DF3
:100BC000A10DA00DA10DA00DA10DA00DA10DA00DB9
:100BD000A10DE030A0058312690CF700F70CF70CAB
:100BE0001F30F70577088316A0070318A10A8312A0
:100BF00069080739A7018B1BA7178B1303179201ED
:100C0000910003134420A71B8B17A7018B1BA71769
:100C10008B137A08031793007908920078089100E3
:100C20007708900097019601950182309400031394
:100C30006320A71B8B1777088316A4007808A500EC
:100C40007908A6007A08A7008312A7018B1BA717B3
:100C50008B13831621088312031792008316031344
:100C6000200883120317910003134420A71B8B173E
:100C700083107A088316BD007908BC007808BB0091
:100C80007708BA002708C1002608C0002508BF0061
:100C90002408BE008312F8237A08B2007908B10054
:100CA0007808B0007708AF006A081F39FA01831688
:100CB000A100A00183126B088316A0070318A10AE4
:100CC0008312A7018B1BA7178B138316210883128E
:100CD0000317920083160313200883120317910051
:100CE00003134420A71B8B17A7018B1BA7178B137C
:100CF0007A08031793007908920078089100770822
:100D000090009701960195018C30940003136320A5
:100D1000A71B8B1777088316A0007808A100790815
:100D2000A2007A08A30083142308BD002208BC0097
:100D30002108BB002008BA00C101C0014030BF003B
:100D40008030BE008312F8237A08B6007908B50017
:100D50007808B4007708B30080306C028316A101D4
:100D6000A000A100A00183126D088316A00703183C
:100D7000A10A8312A7018B1BA7178B1383162108C7
:100D8000831203179200831603132008831203179C
:100D9000910003134420A71B8B17A7018B1BA717D8
:100DA0008B137A0803179300790892007808910052
:100DB000770890009701960195018D3094000313F8
:100DC0006320A71B8B1777088316A0007808A10063
:100DD0007908A2007A08A30083142308BD00220822
:100DE000BC002108BB002008BA00C101C001BF013E
:100DF0008030BE008312F8237A08BA007908B9005F
:100E00007808B8007708B700FA016E088316A100C9
:100E1000A00183126F088316A0070318A10A83128A
:100E2000A7018B1BA7178B138316210883120317A7
:100E300092008316031320088312031791000313F3
:100E40004420A71B8B17A7018B1BA7178B137A08AE
:100E500003179300790892007808910077089000B2
:100E60009701960195019730940003136320A71B07
:100E70008B177A08BE007908BD007808BC00770897
:100E8000BB008A110A16AD280830F202031C542F49
:100E90007230840083130310800C00080319542F50
:100EA000522F0000800B512F0800831686108312EA
:100EB00086100230F100F830F2004427F10B5B2F6E
:100EC000831686140230F100F830F20083124427B2
:100ED000F10B6B2F6D2F8316642F831686148312EC
:100EE0000800F2017208073C031C902F831686103D
:100EF000831286107B2F7C2F0314F10C0318822F92
:100F00008610832F8614831686102730F700F70B80
:100F1000872F8A2F86148C2F8D2FF20A8312722F1F
:100F20000800F1017108073C031CB12F83168610DD
:100F3000831286109B2F9C2F831686140530F70092
:100F4000F70BA02F861483128618A82F0310A92F41
:100F50000314F20C4F30F700F70BAC2FAF2FF10A50
:100F6000922F7208F800080080308316A200033028
:100F7000F700F70BB92FA1012108073C031CDA2F5A
:100F80008810831288108316200822050319CA2F9F
:100F90000814CE2F0810831208108316CF2FD02FDD
:100FA000881083128814D42FD52F03108316A20C17
:100FB000A10ABC2F881083128810DE2FDF2F831622
:100FC000081423108312081CE82F8316231483129D
:100FD0008316881083128814ED2FEE2F8316881045
:100FE000831288100030831623180130F800831212
:020FF0000800F7
:10100000E8018A1155278A15CC30F1008A11712721
:101010008A154430F1008A1171278A15E808031DEA
:1010200017288A1191278A157808E8000E288A1156
:1010300055278A15CC30F1008A1171278A15BE30E8
:10104000F1008A1171278A158A1191278A1578086B
:10105000E9008A1191278A157808EA006A08EC00ED
:101060006908EB006C08F2006B08F1008E30F700A5
:101070007208F8007108F900FA01F21F4428F80913
:10108000F909F90A0319F80AF808031D5128790823
:10109000F800F9010830F702F808031D5128F7019C
:1010A0005A280310F81B5828F90DF80DF70351289A
:1010B000F21FF8137708F1007808F2007908F300BE
:1010C0007A08F400A7018B1BA7178B13740803176A
:1010D00093007308920072089100710890009701C4
:1010E00096019501833094008A11031363208A15B9
:1010F000A71B8B177A08F0007908EF007808EE003C
:101100007708ED006D08F7006E08F8006F08F90029
:101110007008FA008A110A16BD2883160814881070
:1011200083128810932894288316A101A001210816
:10113000753C031CB228031DA12820082F3C031C6A
:10114000B228081483120818A8288316B22883121C
:101150000630F700F70BAA2800008316A00A03192F
:10116000A10A9728831208008316A201A101A001F9
:101170002008073C031CD6280310A10DA20D8810DF
:1011800083128814C328C428831608148312081CE9
:10119000CD2883162114CC2883128316881083123D
:1011A0008810D228D3288316A00AB82808108312E2
:1011B0000810DA28DB28831688108312881403307D
:1011C000F700F70BE1288316881083128810E828AF
:1011D000E92883160814A0012008073C031C0A29EB
:1011E0000310A10DA20D881083128814F728F82887
:1011F000831608148312081C012983162114002960
:1012000083128316881083128810062907298316F3
:10121000A00AEC2808140C290D29881083128814C0
:101220000330F700F70B12298316881083128810F9
:1012300083162108F8002208F9008312080083169B
:101240003E0803199029C600420803199029C607D1
:10125000031831297F30C602031C902903199029F5
:1012600035298130C607031890294608F700F80190
:10127000F901FA013F08CA00CA174008C90041082D
:10128000C8001830C600C701481C5E294508FA0787
:10129000031C5029F90A031D5029F80A0319C7171E
:1012A0004408F907031C5729F80A0319C71743080C
:1012B000C000C0174008F8070318C717C70DF80C7F
:1012C000F90CFA0CCA0CC90CC80C0310C60B432944
:1012D0000130F70703189029F81B7529CA0DFA0D7C
:1012E000F90DF80DF70303199029CA1F8629FA0A88
:1012F000031D8629F90A031D8629F80A031D86297C
:10130000F80CF90CFA0CF70A031990293F08C700EA
:101310004308C706C71F8E29F8179429F813942984
:10132000F701F801F901FA01831208004608840068
:1013300083134718831775088000840A8001C60A42
:101340000319C70A080080080319B829E90104082D
:10135000E8006910831B69140008F50096216808ED
:101360008400831369188317840A0319850AA32943
:101370008A110A162F2BF0010408EF007010831B4E
:101380007014690EF038EB00EB07E23EEC00323EE1
:10139000EE0069080F39EC07EC07EE07E93EED00B7
:1013A000ED07ED07680E0F39ED07EE07ED0DEE0DB9
:1013B000EE09EE0D68080F39EE07EB0D0730EA0075
:1013C0000A30EE07ED03031CE129ED07EC03031CD3
:1013D000E529EC07EB03031CE929EB07EA03031CEF
:1013E000ED296A308400831307306F056F1384077B
:1013F0006E30040203196F170008F700031D082A56
:101400006F1B082A6F1A1A2AEF19082A20300B2A94
:10141000EF156F123030F707E9010408E800691092
:10142000831B69147708F5009621680884008313EC
:1014300069188317840A6F1FF8298A110A16622B0C
:10144000F701F801F901FA018316A401A501A6012B
:10145000A701230822042104200403195F2A203055
:10146000A8000310FB0DFC0DFD0DFE0DA40DA50D38
:10147000A60DA70D23082702031D482A22082602CD
:10148000031D482A21082502031D482A200824029A
:10149000031C592A2008A4022108031C210FA502BD
:1014A0002208031C220FA6022308031C230FA702F5
:1014B0000314F70DF80DF90DFA0DA80B312AA4301D
:1014C00084008313831208000408ED006C08EF0009
:1014D00003198B2A6B088316C10083126A088316CE
:1014E000C000831269088316BF0083126808831640
:1014F000BE00C501C4012030C3008230C200831287
:101500001F217A08EB007908EA007808E9007708DB
:10151000E800EF0B6A2A6B08FE006A08FD00690804
:10152000FC006808FB007B08B63CFB00FA017C0865
:10153000F500FC170310FC0CFD0CFE0CFA0CF90C6A
:10154000F80CF70CFB0B9A2AF51FB12AF709F809DA
:10155000F909FA09F70A0319F80A0319F90A03192C
:10156000FA0A7A08EB007908EA007808E9007708B7
:10157000E800EB1FC82AED03ED16E809E909EA09BE
:10158000EB09E80A0319E90A0319EA0A0319EB0A45
:101590003B30F4009A30F300CA30F200F1010A3017
:1015A000EF006C080319ED0A6B08FE006A08FD00E5
:1015B0006908FC006808FB0074088316A300730820
:1015C000A2007208A1007108A00083122022000866
:1015D000E800840A0008E900840A0008EA00840A96
:1015E0000008EB00FD308407F708031D0A2B6C0A86
:1015F0006F0203190A2B6D0803190C2B0F396F02A8
:101600000319042B03183C2BED1B3C2B6D1B0C2BDF
:101610002030382B2030ED05ED1E1A2BED126C0812
:10162000031DED037708ED002D30F50096216D08C0
:10163000F700ED016C086F02031D282B7708ED0001
:101640002E30F50096216D08F7002030ED050030B2
:101650003030ED1E382BED126C08031DED037708BA
:10166000ED002D30F50096216D08F700ED013030CA
:10167000F7077708F50096217408FE007308FD004F
:101680007208FC007108FB008316A301A201A101EE
:101690000A30A000831220227A08F4007908F300AF
:1016A0007808F2007708F100EF0BD42A0800E91B54
:1016B000692B0F30F700680EF7050A307702031820
:1016C000642B3030F707662B6908F7077708F500B9
:1016D00096210F30E8050A3068020318712B30306C
:1016E000732BE9136908E8076808F50096218A1149
:0416F0000A16F02CBA
:10008000362A8A110A12892A0A108A100A114B3E4E
:1000900003188A0A820000345E34BC34E2346134CE
:1000A0003F34DD348334C2349C347E342034A33472
:1000B000FD341F3441349D34C33421347F34FC3447
:1000C000A23440341E345F340134E334BD343E3452
:1000D00060348234DC3423347D349F34C134423480
:1000E0001C34FE34A034E134BF345D340334803436
:1000F000DE343C346234BE34E03402345C34DF3409
:10010000813463343D347C342234C0349E341D3415
:100110004334A134FF3446341834FA34A434273439
:1001200079349B34C5348434DA3438346634E53475
:10013000BB3459340734DB34853467343934BA344A
:10014000E4340634583419344734A534FB34783455
:100150002634C4349A3465343B34D9348734043477
:100160005A34B834E634A734F9341B344534C63431
:1001700098347A342434F834A63444341A34993414
:10018000C73425347B343A3464348634D8345B3411
:100190000534E734B9348C34D23430346E34ED3431
:1001A000B33451340F344E341034F234AC342F3471
:1001B00071349334CD3411344F34AD34F33470345E
:1001C0002E34CC349234D3348D346F343134B23451
:1001D000EC340E345034AF34F13413344D34CE3467
:1001E000903472342C346D343334D1348F340C3435
:1001F0005234B034EE3432346C348E34D034533420
:100200000D34EF34B134F034AE344C341234913414
:10021000CF342D347334CA34943476342834AB3428
:10022000F5341734493408345634B434EA34693474
:100230003734D5348B3457340934EB34B534363451
:1002400068348A34D4349534CB3429347734F43454
:10025000AA3448341634E934B73455340B3488346E
:10026000D63434346A342B3475349734C9344A3430
:100270001434F634A83474342A34C834963415341B
:100280004B34A934F734B634E8340A345434D73410
:1002900089346B3435348E30F70003171308F800B7
:1002A0001208F900FA01F808031D60297908F8001E
:1002B000F9010830F702F808031D6029F7016829E1
:1002C0000310F81B6729F90DF80DF7036029F813DF
:1002D00003130800031712080319302A9E0016089A
:1002E0000319302A9E02031C7A297F309E070318C7
:1002F000302A802981309E02031C302A0319302ABB
:100300001E08F700F801F901FA019D0113089C008D
:100310009C1714089B0015089A0019309E001908B4
:100320009A020318A32901309B020318A3299C02F7
:100330000318A3299D020318A3299D0A9C0A9B0A5E
:1003400019089A07D52918089B020318BE290130FD
:100350009C020318BE299D020318BE299D0A9C0A0F
:1003600018089B0719089A07031CD5299B0A031D27
:10037000D5299C0A031DD5299D0AD529170880383F
:100380009C020318D42901309D020318D4299D0A28
:10039000170880389C0718089B07031CB2299C0A81
:1003A000031DB2299D0AB2297A149E0BD829E3298C
:1003B00003109A0D9B0D9C0D9D0D0310FA0DF90D68
:1003C000F80D9F0D8F291F1CEB290310F80CF90C59
:1003D000FA0C9F0CEE29F7030319302A9F1B172AEA
:1003E00003109A0D9B0D9C0D9D0D19089A02031880
:1003F000032A01309B020318032A9C020318032AD4
:100400009D02031C262A18089B0203180E2A01309D
:100410009C0203180E2A9D02031C262A1708803806
:100420009C020318172A01309D02031C262AFA0A8F
:10043000031D262AF90A031D262AF80A031D262A67
:10044000F70A0319302AF80CF90CFA0C13089E006D
:1004500017089E069E1F2E2AF817342AF813342AEE
:10046000F701F801F901FA01031308008316881057
:1004700002308312880641080317910003134008D5
:10048000031790009301FF30920010309400F701A1
:10049000FA01910C900C031C532A1208F707031859
:1004A000FA0A1308FA07FA0CF70CF90CF80C940B7B
:1004B000492A79089100780890000313010803176E
:1004C00090070318910A1108930010089200031373
:1004D0004B217A0803179500790894007808930057
:1004E0007708920080309900980197017E3096003D
:1004F00003136A217A08C5007908C4007808C3008C
:100500007708C200C101C00181010C108A110A12D2
:100510002D28C00A0319C10A0B118A110A122D28AD
:100520000D050D052310C12B5318B120A012731017
:10053000A82129103218B119A03BF73BAE36EC3098
:100540006217633DA0060A002310F6327210F332E0
:100550007110203AE536F02DCB2E2034F5365F3A77
:10056000E536F02DCB2E2034F536DB12A52E2000FB
:10057000E230F22FF4326D38DB255D107039E53949
:10058000F33AF2325B34D0305D106334E531EB0680
:100590008A060A0068308400831300080319DD2AE4
:1005A0000230F800F701F70BD32AF80BD22A973064
:1005B000F700F70BD92A800BD02A080083165308BE
:1005C000D5005208D4005508FA005408840083135B
:1005D0007A18831780080319F12AD40A0319D50A57
:1005E000E32A52085402F7005508FA005308031C86
:1005F000530FFA027708F8008312080083160317D6
:100600008C170C14000000000318352B83120C0803
:100610007F3983160313D300831203170D08831643
:100620000313D400831203170F0883160313D50096
:10063000530883120C1E1A2B990083165408831238
:1006400003178D00831603135508831203178F00B9
:1006500083168C170C14000000000313D20B312BEF
:10066000332B0317352B602B031783120C0D0E0D44
:100670007F3983160313D300831203170D088316E3
:100680000313D400831203170F0883160313D50036
:10069000530883120C1E4A2B9900831654088312A8
:1006A00003178D00831603135508831203178F0059
:1006B0008D0A03198F0A031083160313D20BFF2A26
:1006C00083120800800803197F2B8316D3010408C6
:1006D000D2005310831B5314000883120C1E6E2B80
:1006E0009900831652088400831353188317840AD1
:1006F000031D7D2B8312850A83168312622B08004B
:1007000024308316A0004930A1006430A2003A30A2
:10071000A3002030A4006D30A5006130A600693030
:10072000A7006E30A8002E30A9006330AA00203048
:10073000AB003230AC003830AD003230AE00393072
:10074000AF002030B0003230B1003030B200313074
:10075000B3003330B4002D30B5003030B600333044
:10076000B7002D30B8003130B9003030BA00203039
:10077000BB003130BC003630BD003A30BE003430F2
:10078000BF003130C0003A30C1003230C2003030DA
:10079000C3005A30C4002030C5006B30C600613041
:1007A000C7006B30C8006C30C9006930CA006B30BC
:1007B000CB002030CC002430CD00CE01D301A030BE
:1007C000D2008312DE2201307802A03E840083131F
:1007D0000008243C031DF82B8316D301A030D2005F
:1007E0008312DE2201307802A03E84008313800150
:1007F000903003178D0002308F0003100D308316E8
:100800000313D2008312FE222B3084008313622351
:10081000973003178D0002308F00031418308316B1
:100820000313D2008312FE2223300C1E152C9900D4
:10083000A4308400831362230D300C1E1D2C9900FC
:100840000A300C1E212C9900A43003178D000230B1
:100850008F000310233083160313D2008312FE226D
:1008600025300C1E312C99005D300C1E352C990062
:1008700020300C1E392C9900B83003178D0002303F
:100880008F0083168C170C140000000083120C08D4
:100890007F390319982C83160313D2008312031790
:1008A0000D0883160313D300831203170F08831652
:1008B0000313D400520883120C1E5C2C990083167B
:1008C0005308831203178D008316031354088312F1
:1008D00003178F0083168C170C140000000083127E
:1008E0000C0D0E0D7F390319982C83160313D200BB
:1008F000831203170D0883160313D3008312031703
:100900000F0883160313D400520883120C1E862C82
:10091000990083165308831203178D00831603135F
:100920005408831203178F008D0A03198F0A412C74
:10093000640003138A110A168E288316081488107F
:1009400083128810A32CA42C831688108312881479
:10095000A92CAA2C8316081083120810AF2CB02CD7
:1009600083168810831288100330F700F70BB62C1B
:100970008316881083128814BD2CBE2C831608148D
:10098000C12CC22C8810831288100800831608140A
:100990008810831288100330F700F70BCD2CE80184
:1009A0006808083C031CE62C831688108312881400
:1009B0000330F700F70BDA2C8316881083128810A7
:1009C0000330F700F70BE22CE80AD02C9D241430FA
:1009D000E800CA228A110A1691288030831CF32C61
:1009E0008316BF0683128316C401C5013B08C300EA
:1009F0003F08C3063A080319E12DC200F7003E087C
:100A00000319EA2DC2020319862D031C442D3F0849
:100A1000C800C8174008C7004108C600C501031038
:100A2000C80CC70CC60CC50CC20B0E2DC31F1B2D4A
:100A30004414FE2D441042104416BD30840083132C
:100A4000132E4412C31B2E2D421C392DC80CC70C6B
:100A5000C60CC50CF70A0319F92D392DC81B3C2DFE
:100A60000310C50DC60DC70DC80DF7030319F92DE9
:100A70002E2D4417A62D44133B08C300C31F422D3F
:100A8000C817F22DC813F22D3E08C200F7003A082D
:100A9000C2023B08C800C8173C08C7003D08C60092
:100AA000C5010310C80CC70CC60CC50CC20B502DD9
:100AB000C31F5D2DC414FE2DC4104210C416C130D6
:100AC00084008313132EC412C31B702D421C7B2D74
:100AD000C80CC70CC60CC50CF70A0319F92D7B2DE1
:100AE000C81B7E2D0310C50DC60DC70DC80DF7031D
:100AF0000319F92D702DC417A62DC4133F08C30088
:100B0000C31F842DC817F22DC813F22D3F08C8004B
:100B1000C8174008C7004108C600C31F932DC8135B
:100B20004415FE2D4411C5014210BD3084008313CD
:100B3000132EC31BBC2D3B08C300421CA62DC80CA2
:100B4000C70CC60CC50CF70A0319F92DC51FB72D24
:100B5000C60A031DB72DC70A031DB72DC80A031DFA
:100B6000B72DC80CC70CC60CF70A0319F92D441B86
:100B70003B2DC41B7D2DDB2D8030C806C81FC42D26
:100B8000FE2D3F08C300D12D3B08C300C808031D3C
:100B9000D12DC708031DD12DC608031DD12DF70186
:100BA000F22DC81BDB2D0310C50DC60DC70DC80DDA
:100BB000F70BD12DF92DC31FDF2DC817F22DC81348
:100BC000F22D3E08F7003F08C8004008C700410862
:100BD000C600F22D3A08F7003B08C8003C08C700E1
:100BE0003D08C6004808F8004708F9004608FA0022
:100BF000312EF701F801F901FA01312EC501C609BC
:100C0000C709C809C509C50A031D0C2EC60A031D5C
:100C10000C2EC70A0319C80A44181A2DC4185C2DD3
:100C20004419922DC12D0008C607031C1D2EC70AAA
:100C3000031D1D2EC80A0319421484030008C707A8
:100C4000031C252EC80A0319421484030008801FC0
:100C5000803AC80703184214441A212DC41A632D80
:100C6000992D8312080008308316A102031C442E1C
:100C7000A130840083130310800C00080319442E54
:100C8000422E0000800B412E83120800831686102E
:100C90008312861002308316A000F830A100831260
:100CA00033268316A00B4D2E86140230A000F83098
:100CB000A100831233268316A00B572E86148312AD
:100CC00008008316A1012108073C031C832E86100F
:100CD000831286106B2E6C2E03148316A00C03183F
:100CE000752E83128610772E831683128614831630
:100CF00086102730F700F70B7B2E7E2E8614802E71
:100D0000812EA10A632E831208008316A2012208F5
:100D1000073C031CA62E8610831286108F2E902E61
:100D2000831686140530F700F70B942E8614831271
:100D300086189C2E03109D2E03148316A30C4F308F
:100D4000F700F70BA12EA42EA20A872E2308F80085
:100D50008312080083163E0803191B2FC6004208A1
:100D600003191B2FC6070318BC2E7F30C602031CB5
:100D70001B2F03191B2FC02E8130C60703181B2FF2
:100D80004608F700F801F901FA013F08CA00CA173E
:100D90004008C9004108C8001830C600C701481CF7
:100DA000E92E4508FA07031CDB2EF90A031DDB2E8A
:100DB000F80A0319C7174408F907031CE22EF80ABA
:100DC0000319C7174308C000C0174008F8070318E5
:100DD000C717C70DF80CF90CFA0CCA0CC90CC80CD3
:100DE0000310C60BCE2E0130F70703181B2FF81B7C
:100DF000002FCA0DFA0DF90DF80DF70303191B2F7B
:100E0000CA1F112FFA0A031D112FF90A031D112FF2
:100E1000F80A031D112FF80CF90CFA0CF70A031944
:100E20001B2F3F08C7004308C706C71F192FF81715
:100E30001F2FF8131F2FF701F801F901FA01831290
:100E4000080080308316A2000330F700F70B262F2E
:100E5000A1012108073C031C472F8810831288102A
:100E60008316200822050319372F08143B2F08107A
:100E70008312081083163C2F3D2F8810831288148C
:100E8000412F422F03108316A20CA10A292F88108C
:100E9000831288104B2F4C2F8316081423108312B3
:100EA000081C552F8316231483128316881083126F
:100EB00088145A2F5B2F83168810831288100030F5
:100EC000831623180130F8008312080083160814D3
:100ED0008810831288106C2F6D2F8316A101A0013A
:100EE0002108753C031C8B2F031D7A2F20082F3CF3
:100EF000031C8B2F081483120818812F83168B2F45
:100F000083120630F700F70B832F00008316A00A28
:100F10000319A10A702F831208008316A201A101F0
:100F2000A0012008073C031CAF2F0310A10DA20D48
:100F30008810831288149C2F9D2F83160814831207
:100F4000081CA62F83162114A52F83128316881040
:100F500083128810AB2FAC2F8316A00A912F081094
:100F600083120810B32FB42F8316881083128814AD
:100F70000330F700F70BBA2F8316881083128810FE
:100F8000C12FC22F83160814A0012008073C031CA0
:100F9000E32F0310A10DA20D881083128814D02F07
:100FA000D12F831608148312081CDA2F83162114FC
:100FB000D92F83128316881083128810DF2FE02F19
:100FC0008316A00AC52F0814E52FE62F8810831278
:100FD00088140330F700F70BEB2F83168810831269
:100FE000881083162108F8002208F90083120800EF
:101000003F113F08831687008312071113088830A9
:1010100093008316140C031C0A28831213089301EF
:101020008316140C031C112883121308E8001308FC
:101030008A3093008316140C031C1B288312130898
:1010400093018316140C031C222883121308E90051
:1010500013088C3093008316140C031C2C28831265
:10106000130893018316140C031C332883121308EE
:10107000EA0013088E3093008316140C031C3D28DD
:101080008312130893018316140C031C4428831243
:101090001308EB001308903093008316140C031C04
:1010A0004E288312130893018316140C031C552831
:1010B00083121308EC001308923093008316140C6B
:1010C000031C5F288312130893018316140C031C5E
:1010D000662883121308ED001308943093008316DA
:1010E000140C031C70288312130893018316140C2C
:1010F000031C772883121308EE0013089630930020
:101100008316140C031C8128831213089301831681
:10111000140C031C882883121308EF001308930192
:101120008316140C031C912883123F113F08831669
:101130008700831207158316A1018312680883169E
:10114000A000A00DA10DA00DA10DA00DA10DA00D41
:10115000A10DA00DA10DE030A0058312690CF700D0
:10116000F70CF70C1F30F70577088316A007031854
:10117000A10A831269080739A7018B1BA7178B13D4
:101180000317930192008A1103134B218A15A71BA1
:101190008B17A7018B1BA7178B137A0803179500D2
:1011A00079089400780893007708920099019801D3
:1011B0009701823096008A1103136A218A15A71BB2
:1011C0008B1777088316A4007808A5007908A60075
:1011D0007A08A7008312A7018B1BA7178B1383160E
:1011E0002108831203179300831603132008831228
:1011F000031792008A1103134B218A15A71B8B1723
:1012000083107A088316BD007908BC007808BB00FB
:101210007708BA002708C1002608C0002508BF00CB
:101220002408BE008A118312ED248A157A08B200C0
:101230007908B1007808B0007708AF006A081F3954
:10124000FA018316A100A00183126B088316A00780
:101250000318A10A8312A7018B1BA7178B138316F0
:1012600021088312031793008316031320088312A7
:10127000031792008A1103134B218A15A71B8B17A2
:10128000A7018B1BA7178B137A0803179500790802
:1012900094007808930077089200990198019701CB
:1012A0008C3096008A1103136A218A15A71B8B17AD
:1012B00077088316A0007808A1007908A2007A08B0
:1012C000A30083142308BD002208BC002108BB0032
:1012D0002008BA00C101C0014030BF008030BE000C
:1012E0008A118312ED248A157A08B6007908B500B0
:1012F0007808B4007708B30080306C028316A1012F
:10130000A000A100A00183126D088316A007031896
:10131000A10A8312A7018B1BA7178B138316210821
:1013200083120317930083160313200883120317F5
:1013300092008A1103134B218A15A71B8B17A70153
:101340008B1BA7178B137A08031795007908940055
:1013500078089300770892009901980197018D30E1
:1013600096008A1103136A218A15A71B8B17770829
:101370008316A0007808A1007908A2007A08A300CB
:1013800083142308BD002208BC002108BB002008EC
:10139000BA00C101C001BF018030BE008A118312B2
:1013A000ED248A157A08BA007908B9007808B800DF
:1013B0007708B700FA016E088316A100A001831216
:1013C0006F088316A0070318A10A8312A7018B1BBD
:1013D000A7178B1383162108831203179300831614
:1013E000031320088312031792008A1103134B2161
:1013F0008A15A71B8B17A7018B1BA7178B137A08BE
:1014000003179500790894007808930077089200F4
:10141000990198019701973096008A1103136A2168
:101420008A15A71B8B177A08BE007908BD007808BB
:10143000BC007708BB008A110A16952868108A112B
:1014400046268A15CC308316A0008A1183126126A5
:101450008A1544308316A0008A11831261268A15EA
:101460006818392A8A1185268A1568107818681430
:10147000302A8A1146268A15CC308316A0008A119C
:10148000831261268A15BE308316A0008A1183124A
:1014900061268A15F3017308083C031C652A69302C
:1014A00073078316A000A1010318A10A8A118312F1
:1014B00085268A1583162008840083132118831734
:1014C00078088000F30A83124B2A8316A101693041
:1014D000A0000830A200A301A401220824020318DE
:1014E000882A24082007F8002108FA000318FA0ABD
:1014F0007808840083137A188317000823068A115A
:10150000831244208A15F8008316A300A40A6D2ACA
:101510002308F80078087102031D012B7008103CA5
:10152000031D012B83126A08FA006908A7018B1BAF
:10153000A7178B13031792007A0893008A110313DD
:101540004B218A15A71B8B177A08FE007908FD002E
:101550007808FC007708FB007E088316C1007D0830
:10156000C0007C08BF007B08BE00C501C40140303C
:10157000C3008130C2008A118312AA268A15770817
:101580008316A0007808A1007908A2007A08A300B9
:101590008312A7018B1BA7178B137E0803179500D7
:1015A0007D0894007C0893007B08920099019801C3
:1015B0009701813096008A1103136A218A15A71BAF
:1015C0008B17831083162308BD002208BC00210856
:1015D000BB002008BA007A08C1007908C00078086A
:1015E000BF007708BE008A118312ED248A157A089D
:1015F000FE007908FD007808FC007708FB000A2B44
:1016000083163330FE009330FD008830FC008730B5
:10161000FB0083127B08F7007C08F8007D08F900C6
:101620007E08FA008A110A16A0284608840083134F
:101630004718831775088000840A8001C60A0319B9
:10164000C70A080080080319372BE9010408E800DD
:101650006910831B69140008F500152368088400CD
:10166000831369188317840A0319850A222B8A11A8
:101670000A16FE2AF0010408EF007010831B701494
:10168000690EF038EB00EB07E23EEC00323EEE0074
:1016900069080F39EC07EC07EE07E93EED00ED07AE
:1016A000ED07680E0F39ED07EE07ED0DEE0DEE09B3
:1016B000EE0D68080F39EE07EB0D0730EA000A302F
:1016C000EE07ED03031C602BED07EC03031C642BFA
:1016D000EC07EB03031C682BEB07EA03031C6C2BE2
:1016E0006A308400831307306F056F1384076E30F0
:1016F000040203196F170008F700031D872B6F1BE7
:10170000872B6F1A992BEF19872B20308A2BEF1517
:101710006F123030F707E9010408E8006910831BF5
:1017200069147708F5001523680884008313691885
:101730008317840A6F1F772B8A110A16312BF70142
:10174000F801F901FA018316A401A501A601A70178
:1017500023082204210420040319DE2B2030A800D2
:101760000310FB0DFC0DFD0DFE0DA40DA50DA60D2A
:10177000A70D23082702031DC72B22082602031DDD
:10178000C72B21082502031DC72B20082402031C98
:10179000D82B2008A4022108031C210FA50222082F
:1017A000031C220FA6022308031C230FA702031405
:1017B000F70DF80DF90DFA0DA80BB02BA43084002D
:1017C0008313831208000408ED006C08EF0003196E
:1017D0000C2C6B088316C10083126A088316C000A4
:1017E000831269088316BF00831268088316BE003F
:1017F000C501C4012030C3008230C2008A118312A7
:10180000AA268A157A08EB007908EA007808E90028
:101810007708E800EF0BE92B6B08FE006A08FD0073
:101820006908FC006808FB007B08B63CFB00FA0175
:101830007C08F500FC170310FC0CFD0CFE0CFA0CE8
:10184000F90CF80CF70CFB0B1B2CF51F322CF709CD
:10185000F809F909FA09F70A0319F80A0319F90A44
:101860000319FA0A7A08EB007908EA007808E90017
:101870007708E800EB1F492CED03ED16E809E909AC
:10188000EA09EB09E80A0319E90A0319EA0A031944
:10189000EB0A3B30F4009A30F300CA30F200F10159
:1018A0000A30EF006C080319ED0A6B08FE006A08A5
:1018B000FD006908FC006808FB0074088316A3009B
:1018C0007308A2007208A1007108A00083129F2370
:1018D0000008E800840A0008E900840A0008EA0019
:1018E000840A0008EB00FD308407F708031D8B2CE9
:1018F0006C0A6F0203198B2C6D0803198D2C0F399C
:101900006F020319852C0318BD2CED1BBD2C6D1B1C
:101910008D2C2030B92C2030ED05ED1E9B2CED12C6
:101920006C08031DED037708ED002D30F50015233D
:101930006D08F700ED016C086F02031DA92C7708F4
:10194000ED002E30F50015236D08F7002030ED0571
:1019500000303030ED1EB92CED126C08031DED0384
:101960007708ED002D30F50015236D08F700ED0127
:101970003030F7077708F50015237408FE00730868
:10198000FD007208FC007108FB008316A301A20190
:10199000A1010A30A00083129F237A08F40079087D
:1019A000F3007808F2007708F100EF0B552C0800DF
:1019B000E91BEA2C0F30F700680EF7050A307702B2
:1019C0000318E52C3030F707E72C6908F70777088C
:1019D000F50015230F30E8050A3068020318F22CD1
:1019E0003030F42CE9136908E8076808F50015237E
:0619F0008A110A16BF2C4B
:10200000840183131F308305713083168F000F08FE
:10201000031787110C3003139900A23098009030F9
:1020200083129800C101C001C501C401C301C201EE
378,160 → 425,154
:1020A0000F30831290000030F80092000030831649
:1020B000920083123F153F08831687008312970111
:1020C00083169B019C0101309D0083120317870139
:1020D000880189017130831603138F000F08831262
:1020E000031785000E30F70003138101813084004F
:1020F00083130008F0390738800064000008F739BE
:10210000F719F039770480009412BF123F08831644
:10211000870083123F163F08831687008312BF1182
:102120003F088316870022308312940040308316C4
:10213000940083123F113F0883168700831207150E
:102140006430E8000A12D5210A160A128B2A0A16F0
:102150000A12D12B0A160A123E2D0A1683160C14E7
:1021600083128B16C0308B04D3016430E8000A124E
:10217000D5210A160A128A1500280A168A1177082C
:10218000E8007808E9007908EA007A08EB00ED0138
:102190000408EC006D10831B6D1483106B0883160C
:1021A000BD0083126A088316BC0083126908831677
:1021B000BB00831268088316BA003330C100933025
:1021C000C0000830BF008730BE000A128312F82317
:1021D0000A166C08840083136D1883177A08DF00D1
:1021E0007908DE007808DD007708DC00E901E80105
:1021F000DB01DA01D901D8010A12A8230A1603303B
:102200008316A0000A128312B4270A167C107818CD
:102210007C147C181D290A128A158D200A168A1131
:102220000A128A15B4200A168A117908FE00780865
:10223000FD007D08F8007E08F9007908E9007808BB
:10224000E8000A12A8230A1605308316A0000A1215
:102250008312B4270A167C1078187C147C18422943
:102260000A128A158D200A168A110A128A15B420BC
:102270000A168A117908FE007808FD007D08F8002A
:102280007E08F9007908EB007808EA006908FD008B
:102290006808FC006B088316A10083126A08831685
:1022A000A0008312A7018B1BA7178B137D080317B0
:1022B00092007C0891000A12031344200A16A71BFF
:1022C0008B1777088316AA007808AB007908AC0052
:1022D0007A08AD00C1002C08C0002B08BF002A08F6
:1022E000BE000A30C500D730C4002330C3007830A8
:1022F000C2000A128A1583121F210A168A11770852
:102300008316AA007808AB007908AC007A08AD0003
:1023100083142D08BD002C08BC002B08BB002A0824
:10232000BA00C101C0012030BF008430BE000A12D3
:102330008312F8230A167A08D7007908D60078089D
:10234000D5007708D400A7018B1BA7178B13831622
:1023500021088312031792008316031320088312A7
:10236000031791000A12031344200A16A71B8B17A8
:102370007A088316A9007908A8007808A7007708CA
:10238000A6002908C1002808C0002708BF002608A9
:10239000BE005430C500E330C4002530C3007A309D
:1023A000C2000A128A1583121F210A168A117708A1
:1023B0008316AA007808AB007908AC007A08AD0053
:1023C0002908C1002808C0002708BF002608BE0051
:1023D0002908C5002808C4002708C3002608C20031
:1023E0000A128A1583121F210A168A11770883168A
:1023F000AE007808AF007908B0007A08B100C100DB
:102400003008C0002F08BF002E08BE00A230C50053
:10241000E730C4003B30C3006C30C2000A128A159A
:1024200083121F210A168A11831483162D08BD00FA
:102430002C08BC002B08BB002A08BA007A08C1008F
:102440007908C0007808BF007708BE000A1283121E
:10245000F8230A1677088316AA007808AB007908D3
:10246000AC007A08AD0083142D08BD002C08BC0018
:102470002B08BB002A08BA00C101C001BF0181308E
:10248000BE000A128312F8230A167A08EF007908B0
:10249000EE007808ED007708EC00831457088316E7
:1024A000BD00831256088316BC008312550883169C
:1024B000BB00831254088316BA00C101C001483022
:1024C000BF008330BE000A128312F8230A16770871
:1024D0008316AA007808AB007908AC007A08AD0032
:1024E000AC30C100C530C0002730BF007130BE0025
:1024F0002908C5002808C4002708C3002608C20010
:102500000A128A1583121F210A168A1183100A30B3
:102510008316BD00D730BC002330BB007830BA0032
:102520007A08C1007908C0007808BF007708BE00AB
:102530000A128312F8230A1683162D08C1002C08EC
:10254000C0002B08BF002A08BE007A08C500790821
:10255000C4007808C3007708C2000A128A158312E3
:102560001F210A168A1177088316AA007808AB0083
:102570007908AC007A08AD0083102D08BD002C0846
:10258000BC002B08BB002A08BA0083126F08831610
:10259000C10083126E088316C00083126D08831673
:1025A000BF0083126C088316BE000A128312F82340
:1025B0000A167A08DB007908DA007808D90077086B
:1025C000D800831057088316BD008312560883165F
:1025D000BC00831255088316BB008312540883166F
:1025E000BA003330C1009330C0000830BF008730DC
:1025F000BE000A128312F8230A167A08D700790857
:10260000D6007808D5007708D4002130F700F70B02
:10261000072B24300C1E0A2B99002130F700F70BF2
:102620000F2BC7014A30C6004130F5000A128A1547
:1026300096210A168A115730F5000A128A1596213A
:102640000A168A115330F5000A128A1596210A16C5
:102650008A112B30840083130A128A15A3290A16C3
:102660008A112030F5000A128A1596210A168A115D
:10267000D2014A3052078400831380080319562B75
:102680002130F700F70B422B4A30520784008313A6
:102690000008E80068080C1E4B2B99005208D20A6B
:1026A0004A3E840083130008D306392BC7014A3001
:1026B000C600103084004908E9004808E8000A1202
:1026C0008A15BB290A168A112030F5000A128A15CC
:1026D00096210A168A11D2014A30520784008313C8
:1026E00080080319892B2130F700F70B752B4A302E
:1026F0005207840083130008E80068080C1E7E2B34
:1027000099005208D20A4A3E840083130008D30677
:102710006C2BC7014A30C600893084005F08EB008B
:102720005E08EA005D08E9005C08E8000230EC00A1
:102730000A128A1564220A168A112030F5000A123C
:102740008A1596210A168A11D2014A30520784004E
:10275000831380080319C22B2130F700F70BAE2B2F
:102760004A305207840083130008E80068080C1EF2
:10277000B72B99005208D20A4A3E840083130008FE
:10278000D306A52BC7014A30C600893084005708FC
:10279000EB005608EA005508E9005408E80002304A
:1027A000EC000A128A1564220A168A112030F500FC
:1027B0000A128A1596210A168A11D2014A30520746
:1027C0008400831380080319FB2B2130F700F70BDB
:1027D000E72B4A305207840083130008E80068089A
:1027E0000C1EF02B99005208D20A4A3E8400831333
:1027F0000008D306DE2BC7014A30C6000230840031
:102800005B08EB005A08EA005908E9005808E8009C
:102810000130EC000A128A1564220A168A1120304F
:10282000F5000A128A1596210A168A11D2014A3039
:1028300052078400831380080319342C2130F700D9
:10284000F70B202C4A305207840083130008E8005D
:1028500068080C1E292C99005208D20A4A3E8400AE
:1028600083130008D306172CC7014A30C6008930ED
:1028700084006308EB006208EA006108E900600870
:10288000E8000230EC000A128A1564220A168A1146
:102890002030F5000A128A1596210A168A11D201F3
:1028A0004A30520784008313800803196D2C2130AD
:1028B000F700F70B592C4A305207840083130008A5
:1028C000E80068080C1E622C99005208D20A4A3EA1
:1028D000840083130008D306502CC7014A30C60079
:1028E000043084006708EB006608EA006508E90028
:1028F0006408E8000130EC000A128A1564220A1606
:102900008A112030F5000A128A1596210A168A11BA
:10291000D2014A3052078400831380080319A62C81
:102920002130F700F70B922C4A30520784008313B2
:102930000008E80068080C1E9B2C99005208D20A77
:102940004A3E840083130008D306892CC7014A300D
:10295000C600023084004508EB004408EA00430842
:10296000E9004208E8000130EC000A128A156422EE
:102970000A168A112030F5000A128A1596210A16C5
:102980008A11D2014A305207840083138008031948
:10299000DF2C2130F700F70BCB2C4A305207840094
:1029A00083130008E80068080C1ED42C9900520814
:1029B000D20A4A3E840083130008D306C22CC70102
:1029C0004A30C6002A30F5000A128A1596210A16E6
:1029D0008A115308E8003730E9000A128A15572B8C
:1029E0000A168A110D30F5000A128A1596210A1668
:1029F0008A110A30F5000A128A1596210A168A11E0
:102A0000D2014A3052078400831380080319182D1D
:102A10002130F700F70B0A2D5208D20A4A3E8400F3
:102A200083130008E80068080C1E142D9900012D7E
:102A30002130F700F70B1A2D6400C80A0319C90AE0
:042A4000B428630053
:1020D0008801890103139412BF123F0883168700F9
:1020E00083123F163F08831687008312BF113F08F3
:1020F00083168700223083129400403083169400A8
:1021000083123F113F08831687008312071564303E
:10211000E8000A12CA220A160A12802B0A160A12AC
:10212000C62C0A160A128A1500280A168A11D3012B
:102130006430E8000A12CA220A160A128A151E2AF8
:102140000A168A117708E8007808E9007908EA0099
:102150007A08EB00ED010408EC006D10831B6D1490
:1021600083106B088316BD0083126A088316BC00B7
:10217000831269088316BB00831268088316BA00AD
:102180003330C1009330C0000830BF008730BE003C
:102190000A128312ED240A166C08840083136D184A
:1021A00083177A08DF007908DE007808DD007708F9
:1021B000DC00E901E801DB01DA01D901D8010A12EA
:1021C0009D240A1603308316A0000A1283122127C9
:1021D0000A167C1078187C147C18FC280A126627D2
:1021E0000A160A128D270A167908FE007808FD00E3
:1021F0007D08F8007E08F9007908E9007808E80011
:102200000A129D240A1605308316A0000A128312B2
:1022100021270A167C1078187C147C181D290A12B4
:1022200066270A160A128D270A167908FE00780812
:10223000FD007D08F8007E08F9007908EB007808B9
:10224000EA006908FD006808FC006B088316A1001D
:1022500083126A088316A0008312A7018B1BA7179D
:102260008B137D08031793007C0892000A12031356
:102270004B210A16A71B8B1777088316AA0078082C
:10228000AB007908AC007A08AD00C1002C08C00092
:102290002B08BF002A08BE000A30C500D730C40092
:1022A0002330C3007830C2000A128312AA260A160D
:1022B00077088316AA007808AB007908AC007A0882
:1022C000AD0083142D08BD002C08BC002B08BB00FA
:1022D0002A08BA00C101C0012030BF008430BE000E
:1022E0000A128312ED240A167A08D7007908D6005C
:1022F0007808D5007708D400A7018B1BA7178B138C
:1023000083162108831203179300831603132008F2
:102310008312031792000A1203134B210A16A71BFC
:102320008B177A088316A9007908A8007808A700F7
:102330007708A6002908C1002808C0002708BF00A8
:102340002608BE005430C500E330C4002530C30069
:102350007A30C2000A128312AA260A167708831658
:10236000AA007808AB007908AC007A08AD0029080B
:10237000C1002808C0002708BF002608BE002908A1
:10238000C5002808C4002708C3002608C2000A1296
:102390008312AA260A1677088316AE007808AF00C3
:1023A0007908B0007A08B100C1003008C0002F08D9
:1023B000BF002E08BE00A230C500E730C4003B308D
:1023C000C3006C30C2000A128312AA260A168314B4
:1023D00083162D08BD002C08BC002B08BB002A0862
:1023E000BA007A08C1007908C0007808BF007708F1
:1023F000BE000A128312ED240A1677088316AA007B
:102400007808AB007908AC007A08AD0083142D0879
:10241000BD002C08BC002B08BB002A08BA00C10173
:10242000C001BF018130BE000A128312ED240A16DA
:102430007A08EF007908EE007808ED007708EC00E4
:10244000831457088316BD00831256088316BC00F8
:10245000831255088316BB00831254088316BA00F2
:10246000C101C0014830BF008330BE000A12831290
:10247000ED240A1677088316AA007808AB007908BD
:10248000AC007A08AD00AC30C100C530C0002730C8
:10249000BF007130BE002908C5002808C400270805
:1024A000C3002608C2000A128312AA260A16831045
:1024B0000A308316BD00D730BC002330BB00783013
:1024C000BA007A08C1007908C0007808BF00770810
:1024D000BE000A128312ED240A1683162D08C100CD
:1024E0002C08C0002B08BF002A08BE007A08C500CF
:1024F0007908C4007808C3007708C2000A12831262
:10250000AA260A1677088316AA007808AB0079086D
:10251000AC007A08AD0083102D08BD002C08BC006B
:102520002B08BB002A08BA0083126F088316C1006B
:1025300083126E088316C00083126D088316BF00D5
:1025400083126C088316BE000A128312ED240A1649
:102550007A08DB007908DA007808D9007708D80013
:10256000831057088316BD00831256088316BC00DB
:10257000831255088316BB00831254088316BA00D1
:102580003330C1009330C0000830BF008730BE0038
:102590000A128312ED240A167A08D7007908D600A9
:1025A0007808D5007708D4002130F700F70BD62A39
:1025B00024300C1ED92A99002130F700F70BDE2AAF
:1025C000C7014A30C6004130F5000A128A151523AA
:1025D0000A168A115730F5000A128A1515230A16B1
:1025E0008A115330F5000A128A1515230A168A112A
:1025F0002B30840083130A128A15222B0A168A11A3
:102600002030F5000A128A1515230A168A11D20104
:102610004A3052078400831380080319252B213088
:10262000F700F70B112B4A30520784008313000880
:10263000E80068080C1E1A2B99005208D20A4A3E7C
:10264000840083130008D306082BC7014A30C60054
:10265000103084004908E9004808E8000A128A1589
:102660003A2B0A168A112030F5000A128A15152312
:102670000A168A11D2014A30520784008313800857
:102680000319582B2130F700F70B442B4A3052071F
:10269000840083130008E80068080C1E4D2B990085
:1026A0005208D20A4A3E840083130008D3063B2B0B
:1026B000C7014A30C600893084005F08EB005E081D
:1026C000EA005D08E9005C08E8000230EC000A124C
:1026D0008A15E3230A168A112030F5000A128A159A
:1026E00015230A168A11D2014A3052078400831337
:1026F00080080319912B2130F700F70B7D2B4A300E
:102700005207840083130008E80068080C1E862B1B
:1027100099005208D20A4A3E840083130008D30667
:10272000742BC7014A30C600893084005708EB007B
:102730005608EA005508E9005408E8000230EC00A9
:102740000A128A15E3230A168A112030F5000A12AC
:102750008A1515230A168A11D2014A3052078400BD
:10276000831380080319CA2B2130F700F70BB62B0F
:102770004A305207840083130008E80068080C1EE2
:10278000BF2B99005208D20A4A3E840083130008E6
:10279000D306AD2BC7014A30C600023084005B0867
:1027A000EB005A08EA005908E9005808E80001302F
:1027B000EC000A128A15E3230A168A112030F5006C
:1027C0000A128A1515230A168A11D2014A305207B5
:1027D0008400831380080319032C2130F700F70BC2
:1027E000EF2B4A305207840083130008E800680882
:1027F0000C1EF82B99005208D20A4A3E840083131B
:102800000008D306E62BC7014A30C6008930840091
:102810006308EB006208EA006108E9006008E8006C
:102820000230EC000A128A15E3230A168A112030BE
:10283000F5000A128A1515230A168A11D2014A30A8
:10284000520784008313800803193C2C2130F700C1
:10285000F70B282C4A305207840083130008E80045
:1028600068080C1E312C99005208D20A4A3E840096
:1028700083130008D3061F2CC7014A30C60004305A
:1028800084006708EB006608EA006508E900640850
:10289000E8000130EC000A128A15E3230A168A11B7
:1028A0002030F5000A128A1515230A168A11D20162
:1028B0004A3052078400831380080319752C213095
:1028C000F700F70B612C4A3052078400831300088D
:1028D000E80068080C1E6A2C99005208D20A4A3E89
:1028E000840083130008D306582CC7014A30C60061
:1028F000023084004508EB004408EA004308E90080
:102900004208E8000130EC000A128A15E3230A1697
:102910008A112030F5000A128A1515230A168A1129
:10292000D2014A3052078400831380080319AE2C69
:102930002130F700F70B9A2C4A305207840083139A
:102940000008E80068080C1EA32C99005208D20A5F
:102950004A3E840083130008D306912CC7014A30F5
:10296000C6002A30F5000A128A1515230A168A11A4
:102970005308E8003730E9000A128A15D82C0A16E5
:102980008A110D30F5000A128A1515230A168A11CC
:102990000A30F5000A128A1515230A168A11D20187
:1029A0004A3052078400831380080319E72C213032
:1029B000F700F70BD92C5208D20A4A3E8400831341
:1029C0000008E80068080C1EE32C9900D02C213088
:1029D000F700F70BE92C6400C80A0319C90A972805
:0229E000630092
:0639E0008A010028080026
:04400E00FD2CFF3F47
:00000001FF
;PIC16F887
;CRC=1321 CREATED="14-III-13 19:28"
;CRC=40BD CREATED="15-III-13 01:22"
/Designs/Measuring_instruments/AWS01A/SW/PIC16F887/main.pjt
17,12 → 17,12
0=0000 %S 0 0 796 451 3 0
[Opened Files]
1=main.c
2=common\dbloader.h
3=main.h
4=C:\Program Files\PICC\devices\16F887.h
5=C:\Program Files\PICC\drivers\string.h
6=C:\Program Files\PICC\drivers\stddef.h
7=C:\Program Files\PICC\drivers\ctype.h
2=main.h
3=C:\Program Files (x86)\PICC\devices\16F887.h
4=common\dbloader.h
5=C:\Program Files (x86)\PICC\drivers\string.h
6=C:\Program Files (x86)\PICC\drivers\stddef.h
7=C:\Program Files (x86)\PICC\drivers\ctype.h
8=..\ds1820.c
9=..\1wire.c
10=..\SHT.c
32,7 → 32,7
14=
[Target Data]
OptionString=-p +FM
FileList=D:\MLAB\Designs\Measuring_instruments\AWS01A\SW\PIC16F887\main.c
FileList=Z:\home\kaklik\MLAB\Designs\Measuring_instruments\AWS01A\SW\PIC16F887\main.c
[Units]
Count=1
1=main (main)
/Designs/Measuring_instruments/AWS01A/SW/ds1820.c
1,9 → 1,43
#include "1wire.c"
 
// compute CRC
// *sn - pointer to the byte array
// num - length of array
inline int8 TM_check_CRC(unsigned int8 *sn, unsigned int8 num)
{
// CRC table
const int8 TouchCRC[256]= {
0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,
157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,
35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98,
190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255,
70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7,
219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154,
101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36,
248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185,
140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205,
17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80,
175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238,
50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115,
202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139,
87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22,
233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168,
116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53};
 
int8 CRC;
int8 i;
 
CRC=0;
for(i=0;i<num;i++) CRC=TouchCRC[CRC ^ *(sn+i)];
return(CRC);
}
 
 
float ds1820_read()
{
int8 busy=0, temp1, temp2;
signed int16 temp3;
unsigned int1 busy=0;
int8 SN[10];
unsigned int8 n;
float result;
 
onewire_reset();
15,11 → 49,16
onewire_reset();
onewire_write(0xCC);
onewire_write(0xBE);
temp1 = onewire_read();
temp2 = onewire_read();
temp3 = make16(temp2, temp1);
 
result = (float) temp3 / 16.0; //calculation pro DS18B20 with 0.1 deg C
 
for(n=0;n<9;n++) SN[n]=onewire_read();
if ((SN[8]==TM_check_CRC(SN,8))&&(SN[7]==0x10)) // Check CRC and family code to prevent O's error
{
result=make16(SN[1],SN[0]);
result=result*6+result/4; // 1bit = 0,0625gradC recalculate to 1/100gradC
}
else
{
result=-273.15;
}
return(result);
}