Browse Source

modify_owi

master
gudae 2 months ago
parent
commit
977ad18c80
  1. BIN
      DefaultBuild/gatectrl.obj
  2. BIN
      DefaultBuild/i2c.obj
  3. BIN
      DefaultBuild/multical.abs
  4. 112
      DefaultBuild/multical.map
  5. 531
      DefaultBuild/multical.mot
  6. BIN
      DefaultBuild/owi.obj
  7. BIN
      DefaultBuild/r_main.obj
  8. 116
      multical.temp.mtud
  9. 89
      owi.c
  10. 15
      owi.h

BIN
DefaultBuild/gatectrl.obj

Binary file not shown.

BIN
DefaultBuild/i2c.obj

Binary file not shown.

BIN
DefaultBuild/multical.abs

Binary file not shown.

112
DefaultBuild/multical.map

@ -1,4 +1,4 @@
Renesas Optimizing Linker (W3.07.00 ) 09-Feb-2026 12:22:02
Renesas Optimizing Linker (W3.07.00 ) 26-Feb-2026 11:01:12
*** Options ***
@ -66,7 +66,7 @@ SECTION START END SIZE ALIGN
.text
0000090d 00000ac1 1b5 1
.textf
00000ac2 00002df8 2337 1
00000ac2 00002e6b 23aa 1
.const
00003000 000033d1 3d2 2
.SLIB
@ -86,7 +86,7 @@ SECTION START END SIZE ALIGN
RAMDATA SECTION: 000032fb Byte(s)
ROMDATA SECTION: 00000eb3 Byte(s)
PROGRAM SECTION: 00004da2 Byte(s)
PROGRAM SECTION: 00004e15 Byte(s)
*** Symbol List ***
@ -296,103 +296,109 @@ FILE=DefaultBuild\r_cg_port.obj
_R_PORT_Create
00001f49 59 func ,g *
FILE=DefaultBuild\owi.obj
00001fa2 0000260d 66c
00001fa2 00002680 6df
_GPIO_Clear
00001fa2 b func ,g *
00001fa2 12 func ,g *
_GPIO_Input
00001fad 7 func ,g *
00001fb4 11 func ,g *
_GPIO_Read
00001fb4 9 func ,g *
00001fc5 9 func ,g *
_GPIO_ForceHighKick
00001fce 1a func ,g *
_OWI_Release
00001fe8 11 func ,g *
_OWI_DriveLow
00001ff9 12 func ,g *
_OWI_Init
00001fbd 18 func ,g *
0000200b 18 func ,g *
_OWI_Start
00001fd5 17 func ,g *
00002023 1a func ,g *
_OWI_Stop
00001fec 17 func ,g *
0000203d 14 func ,g *
_OWI_SecureStop
00002003 51 func ,g *
00002051 54 func ,g *
_OWI_WriteBit
00002054 34 func ,g *
000020a5 34 func ,g *
_OWI_WriteByte
00002088 2a func ,g *
000020d9 2a func ,g *
_OWI_ReadBit
000020b2 5e func ,g *
00002103 80 func ,g *
_OWI_ReadByte
00002110 32 func ,g *
00002183 32 func ,g *
_OWI_T_ReadBytesAndPrint
00002142 ff func ,g *
000021b5 ff func ,g *
_OWI_A_CommandMode
00002241 262 func ,g *
000022b4 262 func ,g *
_OWI_disable
000024a3 15 func ,g *
00002516 15 func ,g *
_OWI_T_CommandMode
000024b8 5d func ,g *
0000252b 5d func ,g *
_OWI_CommandMode
00002515 4a func ,g *
00002588 4a func ,g *
_OWI_ReadBytesAndPrint
0000255f af func ,g *
000025d2 af func ,g *
FILE=DefaultBuild\i2c.obj
0000260e 0000278e 181
00002681 00002801 181
_disable
0000260e 26 func ,g *
00002681 26 func ,g *
_I2C_EnablePower
00002634 4 func ,g *
000026a7 4 func ,g *
_I2C_DisablePower
00002638 3 func ,g *
000026ab 3 func ,g *
_I2C_T_Command_Mode_receiveData
0000263b 4d func ,g *
000026ae 4d func ,g *
_I2C_Command_Mode_receiveData
00002688 3e func ,g *
000026fb 3e func ,g *
_I2C_Command_Mode_Send
000026c6 c9 func ,g *
00002739 c9 func ,g *
FILE=DefaultBuild\uart.obj
0000278f 00002964 1d6
00002802 000029d7 1d6
_rs485_recover
0000278f 56 func ,g *
00002802 56 func ,g *
_UART1_WaitTxIdle@1
000027e5 2c func ,l *
00002858 2c func ,l *
_rs485_set_tx
00002811 b func ,g *
00002884 b func ,g *
_rs485_init
0000281c c func ,g *
0000288f c func ,g *
_UART0_WaitTxDone_Us
00002828 2f func ,g *
0000289b 2f func ,g *
_RS485_Send
00002857 1e func ,g *
000028ca 1e func ,g *
_RS485_SendString
00002875 11 func ,g *
000028e8 11 func ,g *
_uart_send_string
00002886 11 func ,g *
000028f9 11 func ,g *
_uart1_send_string
00002897 40 func ,g *
0000290a 40 func ,g *
_uart_send_hex
000028d7 43 func ,g *
0000294a 43 func ,g *
_uart1_send_hex
0000291a 4b func ,g *
0000298d 4b func ,g *
FILE=DefaultBuild\delay.obj
00002965 00002a23 bf
000029d8 00002a96 bf
_delay
00002965 18 func ,g *
000029d8 18 func ,g *
_delay_us
0000297d 82 func ,g *
000029f0 82 func ,g *
_delay_ms
000029ff 25 func ,g *
00002a72 25 func ,g *
FILE=DefaultBuild\dipSwitch.obj
00002a24 00002a34 11
00002a97 00002aa7 11
_DipSwitch_Init
00002a24 8 func ,g *
00002a97 8 func ,g *
_DipSwitch_ReadAddr_0to31
00002a2c 9 func ,g *
00002a9f 9 func ,g *
FILE=DefaultBuild\gatectrl.obj
00002a35 00002df8 3c4
00002aa8 00002e6b 3c4
_Gate_SetByNum
00002a35 372 func ,g *
00002aa8 372 func ,g *
_Cal_Init
00002da7 21 func ,g *
00002e1a 21 func ,g *
_Eol_Init
00002dc8 21 func ,g *
00002e3b 21 func ,g *
_GateCtrl_SelectChannel
00002de9 10 func ,g *
00002e5c 10 func ,g *
SECTION=.const
FILE=DefaultBuild\r_main.obj
@ -696,7 +702,7 @@ FILE=rlink_generates_05
__s.textf
00000ac2 0 none ,g *
__e.textf
00002df9 0 none ,g *
00002e6c 0 none ,g *
__s.const
00003000 0 none ,g *
__e.const

531
DefaultBuild/multical.mot

@ -142,7 +142,7 @@ S11308B8000000000000000000000000000000002C
S11308C8000000000000000000000000000000001C
S11308D8000000000000000000000000000000000C
S11308E800000000000000000000000000000000FC
S11308F80000000064000000000000000000010285
S11308F800000000B80B0000000000000000010226
S10809080101000001E3
S113090DCBF820FE30FCE7FCC20A00FC8E1A003640
S113091D00B530C6DFEF04CC0000A747DFF9362061
@ -186,7 +186,7 @@ S1130B62F6BFE6E7674C0DDD2CA806B17C8012A81F
S1130B72007C8043DE0BC2C3A80803146799A3C098
S1130B82C367FBF8FF4C0ADF0CA80861090014CA0A
S1130B920000E6EF36AFE6E742E4E7DFB1F7E6FC52
S1130BA27D2900A80414C5C2A8021604FFFFB802D6
S1130BA2F02900A80414C5C2A8021604FFFFB80263
S1130BB261C8B515B8041703DFDBDCD9A80012013C
S1130BC261D307A8080314CA0000F6100AD7C3C1E8
S1130BD214894C56DD044C76DF2D8A01318EFCD209
@ -231,7 +231,7 @@ S1130E32090CD09BA814168A0A0CD09BA804440B54
S1130E4200DF0BA81614300B00B9E6EEF0FE7C802E
S1130E52440C8061D8EEE3FE8A0B4C3A61E8EEDA88
S1130E62FEA81614300C00EFE0D113DF04FECAFD15
S1130E72D7FC862800D7320030F1FEECFFD7C5C17B
S1130E72D7FCF92800D7320030F1FEECFFD7C5C108
S1130E82C71613440400DF498B4C78DD044C58DF49
S1130E92408C01318EFCD233006168DD34A8021427
S1130EA28A02318EFCD233006168DD25A802148ADD
@ -248,8 +248,8 @@ S1130F42609800A80216A8041488000E020CF099F6
S1130F52E6EF01F61006D7200A980060C80256315F
S1130F628E340A00CEFB0300600C309803646C30AC
S1130F729804C8050DC8060AC80700880091DF084E
S1130F82F7305802FC7D2900AEF8040200128800F2
S1130F92FED6FE100AD7C1C3EF06F7E6FC7D290090
S1130F82F7305802FCF02900AEF80402001288007F
S1130F92FED6FE100AD7C1C3EF06F7E6FCF029001D
S1130FA2D5F6E7DF1DA80204FFFF16C4C5C5C2615A
S1130FB2C8B3A8020561F8DE045500EF0C17B802A5
S1130FC2C0C35501A80216C2C317B802C0C3653113
@ -266,14 +266,14 @@ S11310620A00CEFB0300600C309805646C309806CD
S1131072C80776C8080DC8090AC80A00F1EEA30019
S1131082E5DEE7F5DFE7FEA6FAF5CCE3F6B802BF44
S1131092CEE3BFD0E7E730D0E3FC841B00F5F6E7EC
S11310A2AEF8040400FC86280030C409B800F7FE38
S11310B2E4FEF1FC112800F7305000FC7D2900FB0E
S11310A2AEF8040400FCF9280030C409B800F7FEC5
S11310B2E4FEF1FC842800F7305000FCF02900FB28
S11310C2F8FFEF40F6C130F401C1322000AEF8045B
S11310D21000FE68FA61681004DD1C882D72AEF8F7
S11310E2040C00FEE8FA6168DD0DAEF8040C00FEA3
S11310F2E3FEF5DEE7EF4FFBF8FFAB040CFEBB614A
S1131102C8618902AB610902DFBADCB8F5DEE7D552
S1131112F8E761E8FC8F2700F730F401FC7D290031
S1131112F8E761E8FC022800F730F401FCF029004A
S1131122882C81982C318E44030061D8EE51FF88BB
S11311322DFEA1FDF5CCE3F6BFCEE3BFD0E7E73049
S1131142D0E3FC841B00102ED7C3C5C1C7A8067107
@ -286,14 +286,14 @@ S11311A2D1A8040314CA0000131008D7734C49DFF2
S11311B208604C57DF035102D7634C49DF08604C87
S11311C252DF035103D7634C4FDF08604C57DF03F0
S11311D25104D7634C4FDF08604C52DF035105D7EB
S11311E25106D7320B30F1FE7FFCE730A086FC6556
S11311E25106D7320B30F1FE7FFCE730A086FCD8E3
S11311F22900D7C1C79800C3C68800D1DD1D91D18B
S1131202DD2591D1DD2D91D1DD3591D1DD3D91DF0A
S11312124688027215FC5F2500EF428802736472ED
S113122217FC3B2600EF36880273647217FCB8245D
S113123200EF2A880273647217FC882600EF1E648A
S11312427388027063FCC62600EF1288027364720C
S113125217FC152500EF06C5C217FE86FF1004D73A
S11312124688027215FCD22500EF4288027364727A
S113122217FCAE2600EF36880273647217FC2B2576
S113123200EF2A880273647217FCFB2600EF1E6417
S11312427388027063FC392700EF12880273647298
S113125217FC882500EF06C5C217FE86FF1004D7C7
S1131262C1C3C5C2A80814C0C18802FE85FF100408
S1131272D777AEF80488F5BEF8679806C3C6C5C228
S1131282C80D00F5E8E7300004C1AEF804680014A4
@ -309,7 +309,7 @@ S1131312708806FE41FCEE3A06C81300AEF80413C8
S11313220014A80812AEF8046600FED3FB616861DB
S1131332F8EE9A0188139800318E442000DC088864
S113134206322A30EEE505C0C18FE3E76140DF12C1
S1131352FCA72D008806323B30FE0DFBFE17FBEE88
S1131352FC1A2E008806323B30FE0DFBFE17FBEE14
S1131362F105D161E8EEEB058806D161E8EEE3050B
S1131372E5DEE7F5DFE7FEB6F7F5CCE3F6BFCEE34D
S1131382BFD0E7E730D0E3FC841B00A808147C80BC
@ -318,16 +318,16 @@ S11313A2123000C1FCDC3300A8080400C114CA00D6
S11313B20DA5CA000AA5CA0000F61412EF161504F8
S11313C201001461D8A3A800442D00A80261F844C6
S11313D2C1C6DE0C15B802C0C3AF0AC96168DFDE3C
S11313E23000C1FC86280030C027B806F6B800F1E8
S11313E23000C1FCF9280030C027B806F6B800F175
S11313F29802AFE0E7B80A300900B808EF30FE728D
S1131402F8F7303200FC7D2900FBF8FFA80604CE71
S1131402F8F7303200FCF02900FBF8FFA80604CEFE
S1131412FFB80661C8618908D5DFE7DF40A80A4240
S1131422E0E7DD0FF6BBE19802AFE0E7B80AF6B8F1
S113143204EF1C8802D1DD17AB043200BBA804619F
S1131442D8A1B804440000AB61F8448813DE0EA8A6
S113145208440000A80661F8443200DEA1FE13F835
S1131462F5DEE7A808440000A80661F844320061EA
S1131472C8EEDF04FC8F2700324630F1FEEAF9DBC6
S1131472C8EEDF04FC022800324630F1FEEAF9DB52
S1131482D4E7EBD2E7FBD8E7AFD6E7B804AFDCE7A3
S1131492B802AFDAE7B800AEF8042600B806B81A04
S11314A2C81C0F305A30B822C8240FA802C1A8029F
@ -350,24 +350,24 @@ S11315A2010415B808AEF8047706123004C5FCDC51
S11315B23300A8080404C514CA000DA5CA000AA56C
S11315C2CA0000F61412EF16150401001461D8A320
S11315D2A800442D00A80261F844C1C6DE0C15B867
S11315E202C0C3AF0AC96168DFDE3004C5FC8628C5
S11315E202C0C3AF0AC96168DFDE3004C5FCF92852
S11315F20030C027B806F6B800F19802AFE0E7B8A9
S11316020A300900B808EF30FE68F6F7303200FC01
S11316127D2900FBF8FFA80604CEFFB80661C86165
S1131612F02900FBF8FFA80604CEFFB80661C861F2
S11316228908D5DFE7DF40A80A42E0E7DD0FF6BB11
S1131632E19802AFE0E7B80AF6B804EF1C8802D1D9
S1131642DD17AB043200BBA80461D8A1B80444007E
S113165200AB61F8448813DE0EA808440000A80613
S113166261F8443200DEA1FE09F6F5DEE7A808447B
S11316720000A80661F844320061C8EED502FC8F6E
S1131682270032B530F1FEE0F7DBD4E7EBD2E7FB1B
S11316720000A80661F844320061C8EED502FC02FB
S1131682280032B530F1FEE0F7DBD4E7EBD2E7FB1A
S1131692D8E7AFD6E7B804AFDCE7B802AFDAE7B809
S11316A200AEF8042600B806B816C8180F30C930C0
S11316B2B81EC8200FA802C1A802C1C7A80AC1C384
S11316C2C5A82A12A822148824EEF3FD88114C43DB
S11316D2DF09E5E8E7FCA72D00EF08CFE8E702FC05
S11316E2C82D00880E73880F72881070880CFC3520
S11316F22A00880CFCE92D00FBF8FFA814B804A802
S11316D2DF09E5E8E7FC1A2E00EF08CFE8E702FC91
S11316E23B2E00880E73880F72881070880CFCA839
S11316F22A00880CFC5C2E00FBF8FFA814B804A88E
S113170208612904B8081601881161C3124C45887E
S113171206DF0632F530EE1302320131EE0D024CD1
S113172245DD04F713EF218806321831EEFD01047A
@ -407,7 +407,7 @@ S113193222A80443DD07880632B831EFEFA802C1BA
S1131942AEF804680414880C728809708FE8E7FE04
S11319520EF9C0AEF804780ABEF8D7EF6FF5DEE7E9
S1131962F5DFE7FEC9F1F5CCE3F6BFCEE3BFD0E77E
S1131972FC8F2700F5F8E7D5DEE761E8FEF4F2D53F
S1131972FC022800F5F8E7D5DEE761E8FEF4F2D5CB
S1131982C6DFDD1FF5C6DFEBCAE332CADFF1FEE0D4
S1131992F8F6BFC8DFBFCAE330CADF02C8DFE7FC1C
S11319A2841C00D5CCE3DD24F5CCE3D5DEE7DF0AE5
@ -417,10 +417,10 @@ S11319D28CEFA4204AFE6300FCD21A00FCD21B0046
S11319E2FCC21C00FC401B00FC401C00AEF8040AB4
S11319F200B800B802C8040F30CE31B806C8080FC8
S1131A028FE3E7318EC1A80812A804148806500F88
S1131A12FCFA3300C0A800FE20F2A800FC862800CD
S1131A12FCFA3300C0A800FE20F2A800FCF928005A
S1131A2230CADF02C8DFE7FC841C0030D0E302CEF8
S1131A32E3E7FC841B00FE22FFEFFE717AFAFC4905
S1131A421F00FC1C2800FC242A00FC2C2A009FE313
S1131A421F00FC8F2800FC972A00FC9F2A009FE3BA
S1131A52E7D7341600CA0000CA0100CA0200CA034A
S1131A6200CA0400CA0500CA0600CA0700CA080060
S1131A72FCBF1A00FC951A00FC491F00FCC21A00A4
@ -480,7 +480,7 @@ S1131DC2CEE349D0E3734C0DA2CEE3AFCEE3BFD052
S1131DD2E7DD0D634C0ADD08AFCEE344FF03DC16F6
S1131DE2AFD0E76168DDCC8FD0E34C78DD044C588A
S1131DF2DFC1E5CCE3D730D0E302CEE3E7FC841BBA
S1131E0200D7D7F1FC112800E5F6E7D775318E31FA
S1131E0200D7D7F1FC842800E5F6E7D775318E3187
S1131E12EDDE13DBD4E7E602D2E71661D8A313BFE3
S1131E22D4E717BFD2E765318E311EDE13DBD8E764
S1131E32E602D6E71661D8A313BFD8E717BFD6E7E1
@ -506,236 +506,243 @@ S1131F620CF40DCD0FF0345600CA000CCA0101CA9C
S1131F7211E0CA16DEF52002CA2004CE20F0CE21DA
S1131F82E6CE23FACE2401CE2508CE260CCE270097
S1131F92CE28FFCE2903CE2A00CE2C1ECE2F00D768
S1131FA25A07FE51FE5F27FF9E27D7E16F27FF9E48
S1131FB227D78D07318E31FD31FED7BFEAE713BF34
S1131FC2ECE73437008A20718A9A2089718B99FE52
S1131FD2D9FFD7FECAFFF7303200FC7D2900FECAC2
S1131FE2FFF7303200FC7D2900D7FEBEFFF730C870
S1131FF200FC7D2900F7302C01FC7D2900FEA0FFA6
S1132002D7C7FE9BFFF6B800F730FA00FC7D290023
S1132012EF1CFE96FFF7303C00FC7D2900FE80FF9A
S1132022F7302800FC7D2900FBF8FF617900A80045
S11320327C80440380DCDBFE71FFF730FA00FC7D18
S11320422900FE5BFFF7303200FC7D2900FE5BFFB6
S1132052C0D7C76168DD05301900EF03304B00B803
S113206200FE47FFFBF8FF30640061290014F6F715
S113207261D8B1231215FC7D2900FE23FFF7A800C5
S1132082FC7D2900C0D7C1C7300700EF18607388F0
S113209203318ED3EF03311E93DFFB31FD31FEFE9C
S11320A2B0FFA800B1B8003175E3FEFEFE1004D7FC
S11320B2C730F401B800EF06F7E6FC7D2900FEF113
S11320C2FE6168DF0DA8001201B3C0C361D303F13E
S11320D2EF01E13105E2A8000161C319D5E3E7DFAD
S11320E20B30DE31FC97280051FFC2D730EC31FCB3
S11320F2862800EFF3F7303200FC7D2900FEB2FEA1
S1132102B800F7301E00FC7D29008800C2D72004E5
S1132112F3300700EF1BFE97FF72C4C5FBF8FF64A0
S11321227362318ED3EF020193DFFC606E0273B5EA
S113213215B800639802A8003175DB88021004D731
S1132142C120A87C80448280DC05308100B8A8F7D5
S1132152EF10FEB9FF77C2C3AEF80426000314677A
S113216299A3C0C3A8A87C8014137C8045DCE3AE89
S1132172F8041E00B800B80AC80C0F30FA31B81AB5
S1132182C81C0F8826318EC1A81C12A80C14880EF4
S1132192500FFCFA3300C0C2C3AEF8040E00FCF3C5
S11321A23400AEF8040E00D5E3E7DF07FC972800FD
S11321B2E6EF77FC862800EFF7AEF8042600031456
S11321C2899801A5899800F7301027FC652900AE8B
S11321D2F8041E00B802B806C8080F300032B81658
S11321E2C8180F8800318EC18803318EC1A81A1213
S11321F2A80A14880C500FFCFA33001004A8021227
S1132202AEF8040E00FCF33400AEF8040E00D5E37D
S1132212E7DF06FC972800EF04FC862800F730105D
S113222227FC652900A804040200B804A8A87C803D
S113223214A804127C804561D8EE7DFF10AAD7C38E
S1132242C120C6341800320A32AEF8042E00FCDC77
S11322523300F6B806F730581BFC7D2900FBF8FF63
S1132262F6EEF000FE9AFDF6EF13A804312D0704F2
S11322722E006109001489FE0CFEA800A1B800FB1F
S1132282F8FF7C80440480DCE1FE5EFDF730F4015B
S1132292FC7D2900F7EF0BAEF80414000314CA0006
S11322A2FFA3137C80440D80DCEDF6EF56F6B800F4
S11322B2F730F401FC7D2900FE46FD5151FEC6FDB6
S11322C2EF12FE49FE77C2C3AEF80414000314678A
S11322D299A3C0C3A8007C80440D80DCE5FE0AFDFE
S11322E2F612EF0DAEF804140003148981DF1DA366
S11322F2137C80440D80DCECA80244020061F8EEF9
S11323029C01A1B8027C80440380DCA1FBF8FF1786
S1132312044600BB610906B810C8120F302232B855
S11323222AC82C0F8816318EC18817318EC1A82E67
S113233212A814148816500FFCFA3300121004FB6E
S1132342F8FFA806031261090014CA002CA313B8EB
S113235206A804A1B8047C8044068061D8EE04FF78
S113236288C84C0361E8EEE200A8C6616861F8EE31
S1132372D900F6EE9900FE88FC88C96101FE06FDCB
S1132382F6EF0DA8C66109001489FEF9FCA800A1A4
S1132392B800FBF8FF7C80440380DCE7FE4BFCF7CB
S11323A230F401FC7D2900F7EF0BAEF804140003AE
S11323B214CA00FFA3137C80440D80DCEDFE41FCB3
S11323C288C9610181FEBEFCF6EF13FE40FD73FB7A
S11323D2F8FF17041400610900146399ABA1B80053
S11323E27C80440D80DCE4FE00FCFBF8FFF612EF77
S11323F20C1704140003148981DF20A3137C804486
S11324020D80DCEDA80244020061F8EE9000A1B850
S1132412027C8044038061D8EE5BFF1704460061AE
S11324220906B80CC80E0F302B32B826C8280F88FC
S113243216318EC18817318EC1A82A12A8101488A9
S113244212500FFCFA33001004EF22170446006105
S11324520906B808C80A0F303432B822C8240FA8B3
S11324622212A80814880A500FFCFA3300FBF8FF62
S11324726109060704460014CA000DA5CA000AA58C
S1132482CA000017044600D5E3E7DF06FC972800DC
S1132492EF04FC862800F7301027FC65290010CAD7
S11324A2D7D5E3E7DF08303932FC972800D7303E2E
S11324B232FC862800D7C3C12004639800F6B80210
S11324C2F730581BFC7D2900F7306400FEECFAFE5D
S11324D22FFB88006101FEADFBEF0EA804031489F3
S11324E2FEA3FBFBF8FF6179028806318E6C80142F
S11324F2A802127C8045DCE3FEEFFAD5E3E7DF0AAB
S1132502304332FC9728001008D7304832FC862822
S113251200EFF4C3C1C7639800FEE5FA88006101C5
S1132522FE63FBF713EF0CA802031489FE57FBA802
S113253200A112B8008804318E6C8014137C80458B
S1132542DCE5FEA5FAD5E3E7DF0A304D32FC972835
S1132552001006D7305232FC862800EFF4C1C7C3FC
S1132562A8040161C318D5E3E7DF0A305732FC97A8
S113257228001006D7306E32FC862800EFF4A80437
S11325827C80445982DC05305802B804FE72FA8811
S113259200610181FEEFFAF7EF0BFE71FB73A800F5
S11325A2334828C9A3C0C3A8047C8014137C804583
S11325B2DCE8F713B80213EF270480CB144928C9C7
S11325C27731CE1249853299A567318E31CD31CE1C
S11325D21249963299A802A112B802A80004020074
S11325E2B800A8047C8014137C8045A800DCCA04CB
S11325F280CB14CA000DA5CA000AA5CA0000308007
S1132602CBD5E3E761F8EE65FFEE6CFF34020032EE
S1132612F4E7306450FC1C1D006168DD14D5E3E767
S1132622DF0830A832FC972800D730BA32FC86285B
S113263200D7CD0702D7F407D7C1C3FCC21C00FEE2
S1132642F0FFF7301027FC6529008800318E14A8AA
S11326520212880161015064FC1C1D0061688FE351
S1132662E7DD16D1DF0A30CC32FC9728001004D7FC
S113267230DE32FC862800EFF4D1DF0530F032EF91
S1132682E830F532EFEDC71663980062318E14C755
S1132692C2880061015064FC1C1D0061688FE3E77D
S11326A2DD15D1DF0930FA32FC972800C0D7300C8F
S11326B233FC862800C0D7D1DF05301E33EFE93062
S11326C22333EFEDC1C7C18805D1DD6E345802F75B
S11326D23034D0FCEC3300F5EFE78805318E1488F2
S11326E20061013234D050E8FC5F1D006168DF11E3
S11326F2F61612C7C4C0C3D5EFE7DD14F6B802EF6D
S113270265D5E3E7DF05302833EF22303D33EF268A
S1132712150401001661D8A3A800442D001561F820
S113272244C1C6DCCED5E3E7DF09305233FC972837
S113273200EF07306333FC8628001006D7048CD2DE
S113274214A802124934D07731CE1249743399A5B0
S113275267FBF8FF318E31CD31CE12498533996151
S11327627902AB040200B8008805318E12A8024334
S1132772A800DCC9048CD214CA000DA5CA000AA59B
S1132782CA0000308CD2D5E3E7DDA2EFA9717BFA4F
S1132792F1FE7B00FC661B00F730C800FC7D2900BB
S11327A2FCD21A00F730C800FC7D2900FC401B0053
S11327B2F730C800FC7D2900F6BFD4E7BFD2E7BFDB
S11327C2D8E7BFD6E7BFDCE7BFDAE7F5CCE3F5CE5F
S11327D2E3BFD0E7E730D0E3FC841B00F5F8E771F0
S11327E27AFAD72004F61412EF16150401001461C4
S11327F2D8A3A800442D00A80261F844C1C6DE0C87
S113280215B802C0C3AF14C96168DFDE1004D7D1A2
S1132812DD046A0420D75A04DFD751DF5F24FF9E08
S113282224F1FEEAFFD7C3C113EF16F7300A00FC06
S11328327D2900A80004F6FFB800A802DC03B1B8A1
S113284202D5F6E7DF0C440000A80061F8440A0050
S1132852DED91004D7C1C36168DD15A8006168DD43
S11328620FF5F6E7E1FEA7FFC2C3A802FC9C1B001A
S11328721004D714F7EF01A31305168BD1DFF81553
S1132882FED2FFD714F7EF01A31305168BD1DFF89D
S113289215FEC1FFD7C1C7FBF8FF6168DD34F6EF4F
S11328A202ABA1BB6109021489D1DFF5FE34FFF545
S11328B2F7E7A800440008DC0530FF07B80014A8B5
S11328C202123040D7FCDC3300C2C33040D7FC9C38
S11328D21C001004D7C7705C0F7760314A318E44F4
S11328E20A00DE05323000EF0834410004F6FF121C
S11328F2150360980067318E440A00DE0532300009
S1132902EF0834410004F6FF121503609801320205
S113291200AEF8FE3FFFC0D7705C0F7760314A31DA
S11329228E440A00DE05323000EF0834410004F61A
S1132932FF121503609F40DF67318E440A00DE05F3
S1132942323000EF0834410004F6FF121503609F91
S113295241DFFE8EFEF5F7E73202003040DFFC9CD9
S11329621C00D7C104FFFF161361C8B114A80003E9
S1132972C5C217B800DFEDDCEBC0D7200EB80613D2
S1132982B808A808440000A80661F8449700A806FD
S1132992DE0D326400CEFB01C3C4326400EF0B329D
S11329A26A00CEFB01C3C4326A0016A808CEFB0239
S11329B20512170432001461D8A3153600003464DA
S11329C200CEFB0B001413B80C15B80AF6B804EFCA
S11329D21100A80414A802040100121561D8A1B8B8
S11329E20413B802A80416A802B800A80C12A80A74
S11329F2141743A80061F845DCD7100ED72004143D
S1132A02F6EF12F6EF03A800A1B800A800442003D1
S1132A12DCF4A802A1B802A80212154361C3E410AF
S1132A2204D7513E6F28FF9E28D78D08311A5C1FA8
S1132A327C1FD7C3C19175318E12654C1461C8EEE7
S1132A426003131249BE33311C9EFC79963361CB69
S1132A528800D1DD056A0F08EF035A0FF78802D107
S1132A62DD056A0610EF035A06EF8803D1DD066A14
S1132A720F10EE2D035A0FEFEE27038800D1DD0568
S1132A826A0F04EF035A0FFB8802D1DD056A0620A0
S1132A92EF035A06DF8803D1DD066A0F20EE020334
S1132AA25A0FDFEEFC028800D1DD056A0F02EF0344
S1132AB25A0FFD8802D1DD056A0640EF035A06BFAC
S1132AC28803D1DD066A0001EED7025A00FEEED178
S1132AD2028800D1DD056A0F01EF035A0FFE880256
S1132AE2D1DD056A0680EF035A067F8803D1DD062D
S1132AF26A0F40EEAC025A0FBFEEA6028800D1DD87
S1132B02056A0C01EF035A0CFE8802D1DD056A0442
S1132B1210EF035A04EF8803D1DD066A0301EE8144
S1132B22025A03FEEE7B028800D1DD056A0C20EF17
S1132B32035A0CDF8802D1DD056A0408EF035A0444
S1132B42F78803D1DD066A0304EE56025A03FBEE4C
S1132B5250028800D1DD056A0002EF035A00FD88A5
S1132B6202D1DD056A0404EF035A04FB8803D1DDB4
S1132B72066A0008EE2B025A00F7EE25028800D1FD
S1132B82DD056A0C40EF035A0CBF8802D1DD056AE9
S1132B920402EF035A04FD8803D1DD066A0440EE01
S1132BA200025A04BFEEFA018800D1DD056A0C80E6
S1132BB2EF035A0C7F8802D1DD056A0501EF035A3F
S1132BC205FE8803D1DD066A0702EED5015A07FD28
S1132BD2EECF018800D1DD056A0004EF035A00FB41
S1132BE28802D1DD056A0502EF035A05FD8803D187
S1132BF2DD066A0A10EEAA015A0AEFEEA401880061
S1132C02D1DD056A0A08EF035A0AF78802D1DD0505
S1132C126A0504EF035A05FB8803D1DD066A0A201C
S1132C22EE7F015A0ADFEE79018800D1DD056A0AD6
S1132C3204EF035A0AFB8802D1DD056A0601EF0399
S1132C425A06FE8803D1DD066A0A40EE54015A0A86
S1132C52BFEE4E018800D1DD056A0A02EF035A0A6B
S1132C62FD8802D1DD056A0602EF035A06FD8803D8
S1132C72D1DD066A0A80EE29015A0A7FEE23018811
S1132C8200D1DD056A0A01EF035A0AFE8802D1DD8A
S1132C92056A0704EF035A07FB8803D1DD066A05B8
S1132CA280EEFE005A057FEEF8008800D1DD056A49
S1132CB20980EF035A097F8802D1DD056A0708EF0C
S1132CC2035A07F78803D1DD066A0540EED3005A9A
S1132CD205BFEECD008800D1DD056A0940EF035A35
S1132CE209BF8802D1DD056A0720EF035A07DF888E
S1132CF203D1DD066A0520EEA8005A05DFEEA20024
S1132D028800D1DD056A0920EF035A09DF8802D160
S1132D12DD056A0710EF035A07EF8803D1DD056A60
S1132D220510EF7E5A05EFEF798800D1DD056A09B7
S1132D3210EF035A09EF8802D1DD056A0740EF0359
S1132D425A07BF8803D1DD056A0101EF555A01FE16
S1132D52EF508800D1DD056A0908EF035A09F788A4
S1132D6202D1DD056A0780EF035A077F8803D1DDAC
S1132D72056A0108EF2C5A01F7EF278800D1DD0517
S1132D826A0904EF035A09FB8802D1DD056A0D01C1
S1132D92EF035A0DFE8803D1DD056A0110EF035AD1
S1132DA201EF1004D7C75A047F6A0F80E1EF0C8841
S1132DB200320001F0FE7BFC8800819800318E44D1
S1132DC21500DCEBC0D7C76A04806A0F80E1EF0C00
S1132DD28800320001F0FE5AFC8800819800318E8E
S1132DE2441500DCEBC0D773D1DD0B318E441500E2
S10A2DF2DE04639FFAE7D73A
S1131FA234570089718A995A07FE51FE5F27FF9EB2
S1131FB227D734570089718A996A0701E16F27FF8D
S1131FC29E27D78D07318E31FD31FED7FEE3FF34D4
S1131FD2370089718A99F7302800FCF029003437D8
S1131FE20089718B99D734570089718A996A0701DC
S1131FF2E16F27FF9E27D734570089718A995A07C0
S1132002FE51FE5F27FF9E27D7BFEAE713BFECE727
S11320123437008A20718A9A2089718B99FE92FF43
S1132022D7FE7CFFF7303200FCF02900FE83FFFE6E
S11320329AFFF730B80BFCF02900D7FE74FFF73093
S11320427017FCF02900F7302823FCF02900D7C7C9
S1132052FE4DFFF6B800F7307017FCF02900EF1CB4
S1132062FE4FFFF7305802FCF02900FE32FFF73032
S1132072EE02FCF02900FBF8FF617900A8007C80E5
S1132082440380DCDBFE2AFFFE41FFF7304817FCE5
S1132092F02900FE0AFFF7303200FCF02900FE119D
S11320A2FFC0D7C76168DD0530EE02EF0330CA080E
S11320B2B800FE31FFFBF8FF30B80B61290014F6BB
S11320C2F761D8B1231215FCF02900FE29FFF7A805
S11320D200FCF02900C0D7C1C7300700EF186073B5
S11320E28803318ED3EF03311E93DFFB31FD31FEC2
S11320F2FEB0FFA800B1B8003175E3FEB4FE1004CF
S1132102D7C730F401B800EF06F7E6FCF02900FE69
S1132112B1FE6168DF0DA8001201B3C0C361D3032D
S1132122F1EF01E13105E2A8000161C319D5E3E74A
S1132132DF0B30DE31FC0A290051FFC2D730EC310B
S1132142FCF92800EFF3AFECE71231FD1413311E52
S113215212AFEAE7311E05FCF02900FE65FEB80065
S1132162AFEAE71431FE12AFECE7010312150136B0
S11321720000340500CEFB0B00FCF029008800C2ED
S1132182D72004F3300700EF1BFE75FF72C4C5FBB2
S1132192F8FF647362318ED3EF020193DFFC606E49
S11321A20273B515B800639802A8003175DB880282
S11321B21004D7C120A87C80448280DC05308100D1
S11321C2B8A8F7EF10FEB9FF77C2C3AEF804260031
S11321D203146799A3C0C3A8A87C8014137C804508
S11321E2DCE3AEF8041E00B800B80AC80C0F30FADB
S11321F231B81AC81C0F8826318EC1A81C12A80C2B
S113220214880E500FFCFA3300C0C2C3AEF8040E99
S113221200FCF33400AEF8040E00D5E3E7DF07FC5C
S11322220A2900E6EF77FCF92800EFF7AEF8042656
S1132232000314899801A5899800F7301027FCD867
S11322422900AEF8041E00B802B806C8080F300010
S113225232B816C8180F8800318EC18803318EC176
S1132262A81A12A80A14880C500FFCFA330010049E
S1132272A80212AEF8040E00FCF33400AEF8040E09
S113228200D5E3E7DF06FC0A2900EF04FCF9280085
S1132292F7301027FCD82900A804040200B804A8C7
S11322A2A87C8014A804127C804561D8EE7DFF10BE
S11322B2AAD7C3C120C6341800320A32AEF8042E9B
S11322C200FCDC3300F6B806F730581BFCF029009A
S11322D2FBF8FFF6EEF000FE75FDF6EF13A80431ED
S11322E22D07042E006109001489FEEAFDA800A14D
S11322F2B800FBF8FF7C80440480DCE1FE3CFDF77F
S113230230F401FCF02900F7EF0BAEF804140003DB
S113231214CA00FFA3137C80440D80DCEDF6EF5653
S1132322F6B800F730F401FCF02900FE21FD51510A
S1132332FEA4FDEF12FE49FE77C2C3AEF8041400F8
S113234203146799A3C0C3A8007C80440D80DCE514
S1132352FEE8FCF612EF0DAEF804140003148981B2
S1132362DF1DA3137C80440D80DCECA80244020030
S113237261F8EE9C01A1B8027C80440380DCA1FBDD
S1132382F8FF17044600BB610906B810C8120F30E3
S11323922232B82AC82C0F8816318EC18817318E82
S11323A2C1A82E12A814148816500FFCFA33001276
S11323B21004FBF8FFA806031261090014CA002CDA
S11323C2A313B806A804A1B8047C8044068061D88B
S11323D2EE04FF88C84C0361E8EEE200A8C6616817
S11323E261F8EED900F6EE9900FE63FC88C961013A
S11323F2FEE4FCF6EF0DA8C66109001489FED7FCC1
S1132402A800A1B800FBF8FF7C80440380DCE7FE4F
S113241229FCF730F401FCF02900F7EF0BAEF804C5
S113242214000314CA00FFA3137C80440D80DCED66
S1132432FE1CFC88C9610181FE9CFCF6EF13FE4080
S1132442FD73FBF8FF17041400610900146399ABD0
S1132452A1B8007C80440D80DCE4FEDEFBFBF8FFC7
S1132462F612EF0C1704140003148981DF20A3135E
S11324727C80440D80DCEDA80244020061F8EE90F9
S113248200A1B8027C8044038061D8EE5BFF17048C
S11324924600610906B80CC80E0F302B32B826C8A4
S11324A2280F8816318EC18817318EC1A82A12A826
S11324B210148812500FFCFA33001004EF22170490
S11324C24600610906B808C80A0F303432B822C877
S11324D2240FA82212A80814880A500FFCFA330009
S11324E2FBF8FF6109060704460014CA000DA5CAD9
S11324F2000AA5CA000017044600D5E3E7DF06FC7C
S11325020A2900EF04FCF92800F7301027FCD82927
S11325120010CAD7D5E3E7DF08303932FC0A2900B4
S1132522D7303E32FCF92800D7C3C1200463980097
S1132532F6B802F730581BFCF02900F730B80BFE4E
S1132542C7FAFE0AFB88006101FE8BFBEF0EA804AA
S1132552031489FE81FBFBF8FF6179028806318E40
S11325626C8014A802127C8045DCE3FECDFAD5E32C
S1132572E7DF0A304332FC0A29001008D730483218
S1132582FCF92800EFF4C3C1C7639800FEC0FA88BF
S1132592006101FE41FBF713EF0CA802031489FE4C
S11325A235FBA800A112B8008804318E6C80141384
S11325B27C8045DCE5FE83FAD5E3E7DF0A304D3261
S11325C2FC0A29001006D7305232FCF92800EFF435
S11325D2C1C7C3A8040161C318D5E3E7DF0A3057B2
S11325E232FC0A29001006D7306E32FCF92800EFBB
S11325F2F4A8047C80445982DC05305802B804FEF5
S11326024DFA8800610181FECDFAF7EF0BFE71FBF2
S113261273A800334828C9A3C0C3A8047C80141338
S11326227C8045DCE8F713B80213EF270480CB144F
S11326324928C97731CE1249853299A567318E313D
S1132642CD31CE1249963299A802A112B802A8003D
S1132652040200B800A8047C8014137C8045A800FE
S1132662DCCA0480CB14CA000DA5CA000AA5CA009C
S1132672003080CBD5E3E761F8EE65FFEE6CFF3402
S1132682020032F4E7306450FC1C1D006168DD1462
S1132692D5E3E7DF0830A832FC0A2900D730BA3282
S11326A2FCF92800D7CD0702D7F407D7C1C3FCC26F
S11326B21C00FEF0FFF7301027FCD82900880031F7
S11326C28E14A80212880161015064FC1C1D006171
S11326D2688FE3E7DD16D1DF0A30CC32FC0A290029
S11326E21004D730DE32FCF92800EFF4D1DF0530D4
S11326F2F032EFE830F532EFEDC71663980062313D
S11327028E14C7C2880061015064FC1C1D006168FC
S11327128FE3E7DD15D1DF0930FA32FC0A2900C064
S1132722D7300C33FCF92800C0D7D1DF05301E3373
S1132732EFE9302333EFEDC1C7C18805D1DD6E3433
S11327425802F73034D0FCEC3300F5EFE78805315A
S11327528E14880061013234D050E8FC5F1D0061A0
S113276268DF11F61612C7C4C0C3D5EFE7DD14F64D
S1132772B802EF65D5E3E7DF05302833EF22303DB9
S113278233EF26150401001661D8A3A800442D00D6
S11327921561F844C1C6DCCED5E3E7DF0930523314
S11327A2FC0A2900EF07306333FCF928001006D72E
S11327B2048CD214A802124934D07731CE1249744F
S11327C23399A567FBF8FF318E31CD31CE1249859D
S11327D23399617902AB040200B8008805318E1284
S11327E2A80243A800DCC9048CD214CA000DA5CAED
S11327F2000AA5CA0000308CD2D5E3E7DDA2EFA916
S1132802717BFAF1FE7B00FC661B00F730C800FC0A
S1132812F02900FCD21A00F730C800FCF02900FCB1
S1132822401B00F730C800FCF02900F6BFD4E7BF14
S1132832D2E7BFD8E7BFD6E7BFDCE7BFDAE7F5CC1C
S1132842E3F5CEE3BFD0E7E730D0E3FC841B00F529
S1132852F8E7717AFAD72004F61412EF1615040178
S1132862001461D8A3A800442D00A80261F844C151
S1132872C6DE0C15B802C0C3AF14C96168DFDE102E
S113288204D7D1DD046A0420D75A04DFD751DF5FAD
S113289224FF9E24F1FEEAFFD7C3C113EF16F730DB
S11328A20A00FCF02900A80004F6FFB800A802DC24
S11328B203B1B802D5F6E7DF0C440000A80061F8C2
S11328C2440A00DED91004D7C1C36168DD15A8002B
S11328D26168DD0FF5F6E7E1FEA7FFC2C3A802FCBB
S11328E29C1B001004D714F7EF01A31305168BD118
S11328F2DFF815FED2FFD714F7EF01A31305168BE9
S1132902D1DFF815FEC1FFD7C1C7FBF8FF6168DD4F
S113291234F6EF02ABA1BB6109021489D1DFF5FEE3
S113292234FFF5F7E7A800440008DC0530FF07B8D8
S11329320014A802123040D7FCDC3300C2C330407A
S1132942D7FC9C1C001004D7C7705C0F7760314A17
S1132952318E440A00DE05323000EF0834410004AF
S1132962F6FF12150360980067318E440A00DE05F3
S1132972323000EF0834410004F6FF121503609868
S113298201320200AEF8FE3FFFC0D7705C0F7760E1
S1132992314A318E440A00DE05323000EF083441F8
S11329A20004F6FF121503609F40DF67318E440A6C
S11329B200DE05323000EF0834410004F6FF121540
S11329C203609F41DFFE8EFEF5F7E73202003040DE
S11329D2DFFC9C1C00D7C104FFFF161361C8B114AD
S11329E2A80003C5C217B800DFEDDCEBC0D7200E88
S11329F2B80613B808A808440000A80661F844976A
S1132A0200A806DE0D326400CEFB01C3C4326400AA
S1132A12EF0B326A00CEFB01C3C4326A0016A80867
S1132A22CEFB020512170432001461D8A315360036
S1132A3200346400CEFB0B001413B80C15B80AF66C
S1132A42B804EF1100A80414A802040100121561CD
S1132A52D8A1B80413B802A80416A802B800A80C96
S1132A6212A80A141743A80061F845DCD7100ED740
S1132A72200414F6EF12F6EF03A800A1B800A80090
S1132A82442003DCF4A802A1B802A802121543618F
S1132A92C3E41004D7513E6F28FF9E28D78D083116
S1132AA21A5C1F7C1FD7C3C19175318E12654C14F9
S1132AB261C8EE6003131249BE33311C9EFC799641
S1132AC23361CB8800D1DD056A0F08EF035A0FF793
S1132AD28802D1DD056A0610EF035A06EF8803D196
S1132AE2DD066A0F10EE2D035A0FEFEE270388005E
S1132AF2D1DD056A0F04EF035A0FFB8802D1DD050D
S1132B026A0620EF035A06DF8803D1DD066A0F2026
S1132B12EE02035A0FDFEEFC028800D1DD056A0FD4
S1132B2202EF035A0FFD8802D1DD056A0640EF0366
S1132B325A06BF8803D1DD066A0001EED7025A00A5
S1132B42FEEED1028800D1DD056A0F01EF035A0FB0
S1132B52FE8802D1DD056A0680EF035A067F8803E8
S1132B62D1DD066A0F40EEAC025A0FBFEEA6028810
S1132B7200D1DD056A0C01EF035A0CFE8802D1DD97
S1132B82056A0410EF035A04EF8803D1DD066A03D1
S1132B9201EE81025A03FEEE7B028800D1DD056A52
S1132BA20C20EF035A0CDF8802D1DD056A0408EF1A
S1132BB2035A04F78803D1DD066A0304EE56025A67
S1132BC203FBEE50028800D1DD056A0002EF035ACE
S1132BD200FD8802D1DD056A0404EF035A04FB8870
S1132BE203D1DD066A0008EE2B025A00F7EE250235
S1132BF28800D1DD056A0C40EF035A0CBF8802D16C
S1132C02DD056A0402EF035A04FD8803D1DD066A76
S1132C120440EE00025A04BFEEFA018800D1DD0539
S1132C226A0C80EF035A0C7F8802D1DD056A050124
S1132C32EF035A05FE8803D1DD066A0702EED501C9
S1132C425A07FDEECF018800D1DD056A0004EF03C7
S1132C525A00FB8802D1DD056A0502EF035A05FD1D
S1132C628803D1DD066A0A10EEAA015A0AEFEEA41D
S1132C72018800D1DD056A0A08EF035A0AF78802BF
S1132C82D1DD056A0504EF035A05FB8803D1DD068D
S1132C926A0A20EE7F015A0ADFEE79018800D1DD4B
S1132CA2056A0A04EF035A0AFB8802D1DD056A06A3
S1132CB201EF035A06FE8803D1DD066A0A40EE5488
S1132CC2015A0ABFEE4E018800D1DD056A0A02EFFD
S1132CD2035A0AFD8802D1DD056A0602EF035A0689
S1132CE2FD8803D1DD066A0A80EE29015A0A7FEEC5
S1132CF223018800D1DD056A0A01EF035A0AFE881E
S1132D0202D1DD056A0704EF035A07FB8803D1DD0C
S1132D12066A0580EEFE005A057FEEF8008800D1AF
S1132D22DD056A0980EF035A097F8802D1DD056A4D
S1132D320708EF035A07F78803D1DD066A0540EE58
S1132D42D3005A05BFEECD008800D1DD056A0940E3
S1132D52EF035A09BF8802D1DD056A0720EF035A3F
S1132D6207DF8803D1DD066A0520EEA8005A05DFD5
S1132D72EEA2008800D1DD056A0920EF035A09DFBB
S1132D828802D1DD056A0710EF035A07EF8803D1E1
S1132D92DD056A0510EF7E5A05EFEF798800D1DD73
S1132DA2056A0910EF035A09EF8802D1DD056A07A3
S1132DB240EF035A07BF8803D1DD056A0101EF55CD
S1132DC25A01FEEF508800D1DD056A0908EF035A63
S1132DD209F78802D1DD056A0780EF035A077F8865
S1132DE203D1DD056A0108EF2C5A01F7EF278800A9
S1132DF2D1DD056A0904EF035A09FB8802D1DD0516
S1132E026A0D01EF035A0DFE8803D1DD056A011034
S1132E12EF035A01EF1004D7C75A047F6A0F80E107
S1132E22EF0C8800320001F0FE7BFC8800819800E0
S1132E32318E441500DCEBC0D7C76A04806A0F8068
S1132E42E1EF0C8800320001F0FE5AFC8800819800
S1132E5200318E441500DCEBC0D773D1DD0B318E0B
S10D2E62441500DE04639FFAE7D76D
S11330003C656E643E0D0A000D0A00556E6B6E6FD2
S1133010776E20636D640D0A004572723A616464D0
S1133020725F72616E67650D0A004572723A61647F
@ -793,9 +800,9 @@ S11333500A004932432052582054696D656F7574D0
S11333600D0A004932432052582054696D656F7527
S1133370740D0A003031323334353637383941422E
S113338043444546003031323334353637383941D9
S1133390424344454600522A7D2AA82AD32AFE2ABB
S11333A0292B542B7F2BAA2BD52B002C2B2C562CC2
S11333B0812CAC2CD72C022D2B2D542D7D2D0000CF
S1133390424344454600C52AF02A1B2B462B712B79
S11333A09C2BC72BF22B1D2C482C732C9E2CC92C28
S11333B0F42C1F2D4A2D752D9E2DC72DF02D0000A8
S11333C000000000000000000000000000000000F9
S10533D00000F7
S11333D2243000440A00F66110D73305350316433E

BIN
DefaultBuild/owi.obj

Binary file not shown.

BIN
DefaultBuild/r_main.obj

Binary file not shown.

116
multical.temp.mtud

File diff suppressed because one or more lines are too long

89
owi.c

@ -14,17 +14,21 @@ static uint32_t bit_period_us = OWI_BIT_PERIOD_US;
* ========================================================= */
void GPIO_Clear(void)
{
/* latch low (P70만) */
/* open-drain ON 보장 */
OWI_PORT_POM |= (uint8_t)OWI_PIN_MASK;
/* latch low */
OWI_PORT_P &= (uint8_t)~OWI_PIN_MASK;
/* output mode (P70만) */
/* output */
OWI_PORT_PM &= (uint8_t)~OWI_PIN_MASK;
}
void GPIO_Input(void)
{
/* input mode (Hi-Z) */
OWI_PORT_PM |= (uint8_t)OWI_PIN_MASK;
OWI_PORT_POM |= OWI_PIN_MASK; // ★ 반드시
OWI_PORT_P |= OWI_PIN_MASK; // latch HIGH
OWI_PORT_PM |= OWI_PIN_MASK;
}
int GPIO_Read(void)
@ -32,6 +36,45 @@ int GPIO_Read(void)
return (OWI_PORT_P & (uint8_t)OWI_PIN_MASK) ? 1 : 0;
}
void GPIO_ForceHighKick(void)
{
/* 반드시 release 상태 */
GPIO_Input();
/* 내부 Pull-up ON (잠깐) */
OWI_PORT_PU |= (uint8_t)OWI_PIN_MASK;
delay_us(OWI_STRONG_HIGH_US);
/* 다시 OFF (원하면 계속 ON으로 둬도 됨) */
OWI_PORT_PU &= (uint8_t)~OWI_PIN_MASK;
}
void OWI_Release(void)
{
/* open-drain ON */
OWI_PORT_POM |= (uint8_t)OWI_PIN_MASK;
/* latch high (release 상태에서 깔끔) */
OWI_PORT_P |= (uint8_t)OWI_PIN_MASK;
/* input = Hi-Z */
OWI_PORT_PM |= (uint8_t)OWI_PIN_MASK;
}
void OWI_DriveLow(void)
{
/* open-drain ON */
OWI_PORT_POM |= (uint8_t)OWI_PIN_MASK;
/* latch low */
OWI_PORT_P &= (uint8_t)~OWI_PIN_MASK;
/* output */
OWI_PORT_PM &= (uint8_t)~OWI_PIN_MASK;
}
/* =========================================================
* OWI Init
* ========================================================= */
@ -58,8 +101,11 @@ void OWI_Start(void)
{
GPIO_Clear();
delay_us(TSTART_HOLD);
GPIO_Input();
delay_us(TBIT / 2u);
GPIO_ForceHighKick(); // ✅ 여기만 허용
delay_us(TBIT);
}
void OWI_Stop(void)
@ -67,7 +113,7 @@ void OWI_Stop(void)
GPIO_Input();
delay_us(TSTOP_LOW);
delay_us(TIDLE);
GPIO_Clear();
//GPIO_Clear();
}
void OWI_SecureStop(void)
@ -78,14 +124,28 @@ void OWI_SecureStop(void)
delay_us(SECURE_HIGH);
for (i = 0; i < (int)SECURE_TOGGLE_COUNT; i++) {
/* HIGH 구간: release + strong kick */
GPIO_Input();
delay_us(SECURE_TOGGLE_HIGH);
delay_us(SECURE_TOGGLE_HIGH);
//GPIO_ForceHighKick();
// if (SECURE_TOGGLE_HIGH > OWI_STRONG_HIGH_US) {
// delay_us(SECURE_TOGGLE_HIGH - OWI_STRONG_HIGH_US);
// }
/* LOW 구간 */
GPIO_Clear();
delay_us(SECURE_TOGGLE_LOW);
}
/* 마지막 HIGH */
GPIO_Input();
delay_us(SECURE_HIGH);
GPIO_ForceHighKick();
if (SECURE_HIGH > OWI_STRONG_HIGH_US) {
delay_us(SECURE_HIGH - OWI_STRONG_HIGH_US);
}
/* 이어서 기존 시퀀스 유지 */
GPIO_Clear();
delay_us(TSTART_HOLD);
GPIO_Input();
@ -99,11 +159,12 @@ void OWI_WriteBit(int bit)
uint32_t t_low = bit ? (uint32_t)TLOW_1 : (uint32_t)TLOW_0;
uint32_t t_high = (uint32_t)TBIT - t_low;
/* 기존 동작 순서 유지 */
GPIO_Input(); /* Release (High by pull-up) */
/* HIGH 구간: release만 (kick 금지) */
OWI_Release();
delay_us(t_high);
GPIO_Clear(); /* Drive Low */
/* LOW 구간 */
OWI_DriveLow();
delay_us(t_low);
}
@ -130,9 +191,9 @@ uint8_t OWI_ReadBit(void)
return 0xFF;
}
delay_us(50);
delay_us((bit_period_us * 1u) / 2u);
bit = (uint8_t)GPIO_Read();
delay_us(30);
delay_us((bit_period_us * 2u) / 5u); // 0.4T
return bit;
}
@ -359,5 +420,3 @@ void OWI_ReadBytesAndPrint(int length, uint8_t id)
HOST_PRINT(out); /* ✅ 딱 1번만 출력 */
}

15
owi.h

@ -20,18 +20,19 @@
/* =========================================================
* Timing ( )
* ========================================================= */
#define OWI_BIT_PERIOD_US 100u
#define OWI_BIT_PERIOD_US 3000u
#define TBIT OWI_BIT_PERIOD_US
#define TLOW_0 (TBIT * 0.75) /* 75us (double calc) */
#define TLOW_1 (TBIT * 0.25) /* 25us */
#define TLOW_0 ((TBIT * 3u) / 4u) /* 75us (double calc) */
#define TLOW_1 ((TBIT * 1u) / 4u) /* 25us */
#define TSTOP_LOW (TBIT * 2) /* 200us */
#define TIDLE (TBIT * 3) /* 300us */
#define TSTART_HOLD 50u
#define SECURE_HIGH 250u
#define SECURE_HIGH (2u * TBIT)
#define SECURE_TOGGLE_COUNT 3u
#define SECURE_TOGGLE_LOW 40u
#define SECURE_TOGGLE_HIGH 60u
#define SECURE_TOGGLE_LOW (TBIT / 4u)
#define SECURE_TOGGLE_HIGH (TBIT / 5u)
#define OWI_STRONG_HIGH_US 40u /* 10~80us 범위에서 튜닝 */
/* =========================================================
* External dependencies
* ========================================================= */
@ -66,5 +67,7 @@ void OWI_A_CommandMode(const uint8_t *tx_data, uint8_t tx_len, uint8_t id);
void OWI_disable(void);
/* strong high kick (push assist) */
void GPIO_ForceHighKick(void);
#endif /* OWI_H */

Loading…
Cancel
Save