diff --git a/branches/sim/VCProj/bsr_trunk.sdf b/branches/sim/VCProj/bsr_trunk.sdf
index 6b44376..6a5a94f 100644
Binary files a/branches/sim/VCProj/bsr_trunk.sdf and b/branches/sim/VCProj/bsr_trunk.sdf differ
diff --git a/branches/sim/VCProj/bsr_trunk.suo b/branches/sim/VCProj/bsr_trunk.suo
index 0167a4c..fd40a02 100644
Binary files a/branches/sim/VCProj/bsr_trunk.suo and b/branches/sim/VCProj/bsr_trunk.suo differ
diff --git a/branches/sim/VCProj/bsr_trunk.vcxproj b/branches/sim/VCProj/bsr_trunk.vcxproj
index fc08704..506aae7 100644
--- a/branches/sim/VCProj/bsr_trunk.vcxproj
+++ b/branches/sim/VCProj/bsr_trunk.vcxproj
@@ -80,6 +80,7 @@
+
@@ -113,6 +114,7 @@
+
diff --git a/branches/sim/VCProj/bsr_trunk.vcxproj.filters b/branches/sim/VCProj/bsr_trunk.vcxproj.filters
index 0e99d42..af77d25 100644
--- a/branches/sim/VCProj/bsr_trunk.vcxproj.filters
+++ b/branches/sim/VCProj/bsr_trunk.vcxproj.filters
@@ -96,6 +96,9 @@
ソース ファイル
+
+ ソース ファイル
+
@@ -197,6 +200,9 @@
ヘッダー ファイル
+
+ ヘッダー ファイル
+
diff --git a/branches/sim/accero.c b/branches/sim/accero.c
index bc4f624..96ea6dc 100644
--- a/branches/sim/accero.c
+++ b/branches/sim/accero.c
@@ -84,7 +84,7 @@ task_status_immed tski_cbk_accero( )
if( iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, &vreg_ctr[VREG_C_ACC_XL] )
!= ERR_SUCCESS )
{
- err_count += 1;
+ err_count ++;
if( err_count < 8 )
{
// gC
diff --git a/branches/sim/adc.c b/branches/sim/adc.c
index 9edf864..ce78004 100644
--- a/branches/sim/adc.c
+++ b/branches/sim/adc.c
@@ -117,9 +117,9 @@ void tsk_adc( )
if( vol_polling < 5 )
{
renge_task_immed_add( tski_vol_update );
- vol_polling = 200 / SYS_INTERVAL_TICK + 5; // 5/sec
+ vol_polling = (u8)(200 / SYS_INTERVAL_TICK) + 5; // 5/sec
}
- vol_polling -= 1;
+ vol_polling --;
ADCEN = 1;
@@ -281,12 +281,20 @@ static u8 getmean3( u8 * hist )
{
if( *hist > *( hist + 2 ) )
{
- return( ( *( hist + 1 ) > *( hist + 2 ) ) ? *( hist + 1 ) : *( hist + 2 ) );
+ if( *( hist + 1 ) > *( hist + 2 ) )
+ {
+ return( *( hist + 1 ) );
+ }
+ else
+ {
+ return( *( hist + 2 ) );
+ }
}
else
{
return( *hist );
}
+
}else{
if( *hist > *( hist + 2 ) )
{
@@ -294,7 +302,14 @@ static u8 getmean3( u8 * hist )
}
else
{
- return( ( *( hist + 1 ) < *( hist + 2 ) ) ? *( hist + 1 ) : *( hist + 2 ) );
+ if( *( hist + 1 ) < *( hist + 2 ) )
+ {
+ return( *( hist + 1 ) );
+ }
+ else
+ {
+ return( *( hist + 2 ) );
+ }
}
}
}
@@ -341,13 +356,14 @@ case ( ADC_SEL_AMB_BRIT ): //
case ( ADC_SEL_BATT_TEMP ):
EI();
- raw_adc_temperature = adc_data;
-#ifdef _DEBUG_BT_TEMP_
- if( vreg_ctr[ VREG_C_COMMAND3 ] == 't' )
- {
- raw_adc_temperature = vreg_ctr[ VREG_C_DBG01 ];
- }
-#endif
+ if( vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] == 0xFF )
+ {
+ raw_adc_temperature = adc_data;
+ }
+ else
+ {
+ raw_adc_temperature = vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ];
+ }
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_ERR ) == 0 ) &&
(( system_status.pwr_state == ON ) ||
@@ -374,7 +390,11 @@ case ( ADC_SEL_AMB_BRIT ): //
{
ADCEN = 0; // ~߂Ă܂
adc_updated = true;
- index = ( index == 2 ) ? 0 : ( index + 1 ); // mCY̔zCfbNX
+
+ if( ++index > 2 ) // mCY̔zCfbNX
+ {
+ index = 0;
+ }
}
ADIF = 0; // ȂƁAÕ`l̃f[^̊ŒɊ荞މ\
}
@@ -454,7 +474,7 @@ static void adc_filter( u8 new_val, filter_work *work )
if( abs( new_val - *( work -> value_used )) > 2 )
{
// 傫ꂽ
- work -> large_diff_count += 1;
+ work -> large_diff_count ++;
if( work -> large_diff_count > 16 )
{
*( work -> value_used ) = new_val;
@@ -468,11 +488,11 @@ static void adc_filter( u8 new_val, filter_work *work )
// ߏ̒lłAԂłςĂ炻Ɋ
if( *( work -> value_used ) < new_val )
{
- work -> diffs += 1;
+ work -> diffs ++;
}
else if( *( work -> value_used ) > new_val )
{
- work -> diffs -= 1;
+ work -> diffs --;
}
if( --( work -> kikan ) == 0 )
@@ -493,82 +513,3 @@ static void adc_filter( u8 new_val, filter_work *work )
}
}
-
-
-
-#if 0
-// getmeangp //
-__interrupt void int_adc( )
-{
- static u8 hist_3D[3];
- static u8 hist_snd_vol[3];
- static u8 hist_bt_temp[3];
- static u8 index;
-
- volatile u8 adc_data;
-
- adc_data = ADCRH;
-
- switch ( ADS )
- {
-/*
-case ( ADC_SEL_AMB_BRIT ): // 邳
- vreg_ctr[ VREG_C_AMBIENT_BRIGHTNESS ] = adc_data;
- break;
-*/
-
- case ( ADC_SEL_3D ):
- hist_3D[index] = adc_data;
- EI();
- adc_raw_dep = getmean3( hist_3D );
- break;
-
- case ( ADC_SEL_VOL ):
- hist_snd_vol[index] = adc_data;
- EI();
- if( system_status.model == MODEL_TS_BOARD )
- {
- adc_raw_vol = getmean3( hist_snd_vol );
- }
- else
- {
- adc_raw_vol = ( 255 - getmean3( hist_snd_vol ));
- }
- break;
-
- case ( ADC_SEL_BATT_TEMP ):
- hist_bt_temp[index] = adc_data;
- EI();
- raw_adc_temperature = getmean3( hist_bt_temp );
- if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_ERR ) == 0 ) &&
- (( system_status.pwr_state == ON ) ||
- ( system_status.pwr_state == SLEEP )
- )
- )
- {
- renge_task_immed_add( tski_BT_temp_update );
- }
- break;
-/* Ă܂
- case ( ADC_SEL_BATT_DET ):
- break;
-*/
- }
-
-// Ƃ܂Ƃȏ肻
- if( ADS < ADC_SEL_BATT_DET )
- {
- ADS += 1; // ̃`l
- ADIF = 0; // ȂƁAÕ`l̃f[^̊ŒɊ荞މ\
- }
- else
- {
- ADCEN = 0; // ~߂Ă܂
- adc_updated = true;
- index = ( index == 2 ) ? 0 : ( index + 1 ); // mCY̔zCfbNX
- }
-}
-
-
-
-#endif
diff --git a/branches/sim/bsr.hex b/branches/sim/bsr.hex
index 7e7eb28..84ecd9b 100644
--- a/branches/sim/bsr.hex
+++ b/branches/sim/bsr.hex
@@ -1,249 +1,261 @@
-:02000000AE0C44
+:02000000730D7E
:02000200FFFFFE
-:04001000B649B849EC
-:02001C00924B05
-:02002400DF4BB0
-:02002A002E4C5A
-:08003400574DF94C524D864E68
-:02004A00BA49B1
-:02005A00F54966
-:020062000A4E44
+:0400100044494649D0
+:02001C003F4B58
+:020024008C4B03
+:02002A00D74BB2
+:08003400FF4CA24CFB4C314EC5
+:02004A00484923
+:02005A008349D8
+:02006200B54D9A
:0400C0007EFBFF853F
:0A00C4001B339499E033F240BFAA09
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
:1000D800C7C1FBF8FFCEABACC736F00071F4C66100
-:1000E800D8710022F98EA89C018C015C10D1DD0A20
-:1000F8007110CEFB710022F9EF0B8C015C80D1618D
-:10010800E8710022F98F22F931030EF6B1BBF661CE
-:100118004900DD05618900EFF5FDE001FD3201FDD3
-:100128008A01FD6D02EFAEC0C6D7C7360000674C26
+:1000E800D8710014F98EA89C018C015C10D1DD0A2E
+:1000F8007110BCFB710014F9EF0B8C015C80D161AD
+:10010800E8710014F98F14F931030EF6B1BBF661EA
+:100118004900DD05618900EFF5FDDE01FD3201FDD5
+:100128008A01FD6B02EFAEC0C6D7C7360000674C28
:1001380009DE3F318E04F60FC1317B9EFDC4118963
:100148007267318E04F64F14896142DF03F6EF01BE
:10015800E660610667318E124900207267318E04AD
:10016800F64F14896142DF03F6EF01E66061068706
-:10017800EFBC40F84F3A61E88666D161E8FDF106C8
-:10018800C6D751105B0C319E609F24F94024F901B9
-:10019800DF06CF0EF905EF04CF0EF9078F22F95CC1
-:1001A800E39F22F951035B04318EE7240000DD1040
-:1001B80023DD0823DF0E712022F9D7713022F9D709
-:1001C800714022F9D7717BFACEA010CEA180E5F359
-:1001D80000CEA408F5AAFFD78F22F9310508CD0073
-:1001E80003CD0307EF03CD0306CE23F88F22F931A1
-:1001F8000308CD0408F690BFB401CF1105F8F52126
-:10020800FFCE22E9CE24F3CE25F2CE26FCCE275F00
-:10021800CE2EFCCF120511CF350002CF370019CFF3
-:10022800530006CBEEFEFFCE3831CE3970CF3805FD
-:100238000A308700BF1801BF1A01BF1C01BF1E0189
-:10024800D7C7C1C1FBF8FFCEABAC8C02D1DD1261C0
-:100258006902305C03BBF6614900DDEE618900EF9D
-:10026800F51004C6D7FDC52FFD1339FDC904717AF1
-:10027800FAFDC523F520F98F22F93105135003FD46
-:10028800E72B625C01D161E8CF20F902CFD7FB648C
-:10029800FDA530FD4145710223712BE7FD1639FD9F
-:1002A800B83961EDEFF6D7D7C7F616FDC904717BEB
-:1002B800FA31222108712221717AFAEF0B717AFA48
-:1002C800A7F647DFE9E2EF01F2C6D7C7C1C1FBF8DD
-:1002D800FF17A1C1E0C18C0A70C18C0270FDFD023C
-:1002E8001006D2DF05F545FBEF04CF45FB028C0174
-:1002F800721004C6D7C7C1FBF8FFFDB002D2DD03F8
-:10030800E2EF618B70FD1D04D2DD077123215202DB
-:10031800EF528C0870FD3204FD7D048B6C0170FD7A
-:100328003204300400BF2401301740BF1C013004E0
-:1003380000BF22018C0A91DF04F6BF2A01710BE28B
-:10034800CE44FF3182E202EFFAAC0C148E4499617C
-:10035800790C61690A8C0AD1DFDAFDA604710BE217
-:10036800712321F2C0C6D7C7C1FBF8FFFDB002D286
-:10037800DD03E2EF25710AE68B70FD1D04D2DD076F
-:100388007123215202EF138C0870FD32048C0A701D
-:10039800FD3204FDA604712321F2C0C6D7C7C1FBF4
-:1003A800F8FFFDB002D2DD03E2EF67710AE6710BD8
-:1003B800E28B70FD1D04D2DD077123215202EF523A
-:1003C800710BE231122139C7343EFBAC0C165204D2
-:1003D8008B99A5A792DFF9C63184BD02EFFA717A2D
-:1003E800BDCEB144CBB43EFB8C0A318EBEB8CEBB79
-:1003F80048714BE1714BE5710ABD8C089E44EF11C1
-:10040800710BE68C089E448C0A9F44FBAC0CBF42DF
-:10041800FBF2C0C6D7C716FD550417FD3204D2DD5E
-:1004280006FDA604E2EF01F2C6D7C716710AE67107
-:100438000BE2669E443182E202EFFAF6420401DDE5
-:1004480009AF0401BF0C01E2EF01F2C6D7AF2801E2
-:10045800085CFB08BF2801FDAF02AF28015CFBBFA9
-:100468002801300400BF2A01301780BF1C01300466
-:1004780000BF2201D7AF2401086C0408BF2401AFD4
-:1004880028016C0F086C0B08BF2801FDAF02AF2ACA
-:1004980001085CFB08BF2A01FDAF02ED55043004DA
-:1004A80000BF2401F6BF2A01300B0BBF2801FDAFA6
-:1004B80002300B0FBF2801FDAF02300F0FBF28011C
-:1004C800D731342101D7712221710BBD0000717B16
-:1004D800BD713A25713A236A0E03713205713B25C5
-:1004E800713203713B23500AFD49027120F000FD6F
-:1004F800AF02F6BF26015024BF1401CB44001430CC
-:100508000F0FBF2801711321710BE2710AE6FD5527
-:1005180004CE44FF3182E202EFFAFDA604AF0401E3
-:10052800BF0C01712321713221D731242102EFFA46
-:10053800FD7D04713A25713A235A0EFC7133057119
-:100548003B25713303713B237128F000713321D7A8
-:10055800C7880616FDB002D2DD03E2EF38710AE65D
-:1005680050A4FD1D04D2DD077123215202EF261786
-:10057800FD32046770FD3204FD7D0450A4FD320491
-:100588005020FD3204D946FBFD3204A046FBFDA6EF
-:1005980004712321F2C6D7C72008FBF8FFFDEF0836
-:1005A8005014C15008FD2108C0CC07048C074C1416
-:1005B800DE0C8C07318EFD9009615907EFEECC07F0
-:1005C800048C074C1461C8ED8D06CC06008C064CD3
-:1005D8000461C8ED6C063026F9BC02F6BBCEABACA4
-:1005E80031B2D109C73641057184C6DEF3F1C73689
-:1005F80041057184C661DC9C05713BD1AC02148F46
-:1006080040059971505005617902617900F0E16106
-:100618004900DD09C73641057184C6DEC3F1C73616
-:1006280041057184C661DC0E059C055040C18C07EC
-:10063800318E31AD128C06318E318D03BDD831FF2C
-:10064800BDDADADAADD8FD5C0CC0D2DD0C5008C1D9
-:100658005014FD2108C0FD190B8C05D1DF06615926
-:1006680006EDD5058C07318EFD9409D2DD0C5008B6
-:10067800C15014FD2108C0FD190B8C05D1DF06619E
-:100688005907EDC90571605005CC0400CC05008CF4
-:10069800054C09DE2B8C05318E04F61FC1317B9E7B
-:1006A800FDC41189728C05318E04F64F148961429C
-:1006B800DF03F6EF01E6600E049C04615905EFCFF5
-:1006C80041001140F81F3A61E86159048C04D1DFF8
-:1006D80008FD1A0BFD2C0CEF0C5008C15014FD211D
-:1006E80008C0FD190B1008C6D7C72004FBF8FF7116
-:1006F8005B21CC0100F6BC02AC02440900DE3EAC32
-:100708000204F60F144100118972AC020C501489CE
-:100718006142DF03F6EF01E6600E019C01AC0212B4
-:1007280049005072AC0204F67F14896142DF03F677
-:10073800EF01E6600E019C01617902EFBB40F67F94
-:10074800FF61F86159018C01D161F8EDEF07CC0127
-:1007580000717AFAFDC904711300711B207103033B
-:10076800710205E0C15003FDD62BC05013FD4902AC
-:10077800500FC1E0FDD62BC0CEABAC6159018C0146
-:1007880091DD068C014C03DF03E6EF01F66061FBA7
-:100798007151018C014C0861F8CC01003132070518
-:1007A800A05EFCEF03F55EFC405EFC11DC0DF55E1F
-:1007B800FCF0C15003FDD62BC0EF12E6BC02F66177
-:1007C8004902DDB400000000617902EFF1CE37087C
-:1007D800CBE4FFFFCBE6FFF7CED4FFCF370008F519
-:1007E800120561FDF5ABFFFDEF08D25008C15014AA
-:1007F800FD2108C0D2FD190B1004C6D73184BD02F3
-:10080800EFFA717BBDCBE4FFFFCBE6FFFFCBD4FF54
-:10081800FF717ABED7717BBED7C7C1200CFBF8FF2A
-:100828008C0C318E31ADC1317B9DD4C0BC068DD4CA
-:100838009C088C149C0B8C14318E040C00128C0BAD
-:10084800318EBDD813FDEB0E61C8EDEA08CEABAC16
-:10085800CC05068C0B318EFD8C09D2DD158C0B3145
-:100868008EFD90096169058C05D1DFE7FD1D08E261
-:10087800EF71CC0A008C0A4C04DE54F6BC02302618
-:10088800F9BBAC06148C089EFD118972AB146299F1
-:10089800AC06A1BC06617900617902F0E161490208
-:1008A800DFE05040C18C0B318E31AD128C0A318E95
-:1008B800318D03BDD831FFBDDADADAADD8FD5C0C75
-:1008C800C0D2DD06FD1D08E2EF1961590AEFA68CBA
-:1008D8000B318EFD9409D2DD03E2EF0761590BED70
-:1008E8003E08F2100EC6D7C7717B9D717BFAFD04D6
-:1008F800083026F9FD3F0AFDCA09C6D7FDEF08FDF5
-:10090800190BFD1D08F5ABFFF2D7C73114070671A7
-:1009180010DBFBEF047118DBFB8FDBFB7F16FD762A
-:10092800D1DD5F8FDBFB9F16FD4020F903DF2566D5
-:100938005C10D1DD1F7122208FDBFB5C10D1DD0B39
-:100948005080C15011FD0035C0EF095040C1501111
-:10095800FD0035C04020F903DD064020F904DF2200
-:10096800665C02D1DD1C8FDBFB5C02D1DD0B5040E5
-:10097800C15010FD0035C0EF095020C15010FD00D6
-:0409880035C0C6D7D9
-:10098C005208EF065203EF025206FEE600FE1B0071
-:10099C00DC16089F03088F0408089F040862FE24D5
-:1009AC0000089F0408EEBF00EEBA00C1C514410E4A
-:1009BC0011D9D0FF118FD1FF312E45C4C0D7F231E0
-:1009CC00A2C401E2D79DE261DD4C09DF12717BFA12
-:1009DC00C18F06089F69FDC0CF060800EE270031C5
-:1009EC00F2FA04CF0608004C00DF05D50008DD162E
-:1009FC0061DD717BFAD50608DD0ACDE31F61CD619F
-:100A0C00CDEE160061CDFED40061FFFE9A00FCF81D
-:100A1C00FF0EFEB20061CDFED5004C09DF0EC18F7A
-:100A2C0006086F69FD9F0608C0EE0400CF0608009B
-:100A3C00F8E3D75200EF025202FE3700CF68FD00F8
-:100A4C00CF060800BF0408C716629F0008410011BA
-:100A5C008F22229B4100118F23229F0108C6510037
-:100A6C00FE62FFEF025205CF060800C1510CFE0AD0
-:100A7C0000C0D7C1511DFE0200C0D761DD717BFAE9
-:100A8C0070CEC0A59EC47CFF9EC4609EC461CDD7B1
-:100A9C0061DD717BFAC18EC45C1BFED6FFCF0608EC
-:100AAC0001FED7FFC061CDD731F2FA1AC1AEE4BF57
-:100ABC005AFDAEE6BF5CFDAED4BF5EFD30FFFFBE9F
-:100ACC00E4BEE6BED4C0D731F2FA11C1AF5AFDBEB6
-:100ADC00E4AF5CFDBEE6AF5EFDBED4C0D7C1BF6067
-:100AEC00FD13BF62FD15BF64FD17BF66FDC0D7AF18
-:100AFC0060FDDB62FDEB64FDFB66FDD7534B3052B2
-:100B0C005430324E323030475631323000FFC15003
-:100B1C00FEFEAB0061DD717BFACF060800FE0A0019
-:100B2C00FEA4FF61CDF8E3EECF00C7FB0408BF5A6B
-:100B3C00FD8FC0009C05C5C337040600BF5CFD35A6
-:100B4C00367E0B300000522BFE6600C2C4C6302C21
-:100B5C000BB800300000B8022004AF5CFDB80030C8
-:100B6C000F00B802AF5AFD61FF520AFE3AFFECF8D3
-:100B7C00FF0E717BFAC1C7FB04088C05C65C80FEB6
-:100B8C000200C0D761DD717BFA70CFC0FFA59FC09A
-:100B9C00007CFF9FC000609FC00061CDD7618BFEC1
-:100BAC00E2FF717BBE410011FB000017CEFC00611F
-:100BBC00CB089EFDF31161C999A58392DFF7D7FE8F
-:100BCC00B1FED568FDDF23C1CF0308035109FEF444
-:100BDC00FDC0D2DF37FE3800A20408CF030807514E
-:100BEC0009FEE1FDD2B20408DF22C7FB0408318301
-:100BFC0002C6D7C6510AFECCFD624C1FDF06CF6879
-:100C0C00FD01EF04CF68FD00C0EE5BFEC0EE55FEAB
-:100C1C00C7C1FB04088B31196C0161589BC0C6D746
-:100C2C00717BFAFE4DFEAF0408040600C114369029
-:100C3C000B300000522DF3FE77FF8FC000FE2BFE11
-:100C4C0061CF5C807C8073C0041900CEFC0F61CB3B
-:100C5C00C55404EF03C55417FE18FEC7360008BB75
-:100C6C00629C0288089C03D1DD334C41DE2F70F16D
-:100C7C00312DB161090033081C000851FF612A4174
-:100C8C000E118FD0FF613B118FD1FF6138DC0E8BC1
-:100C9C005C03DF0964C6C4FE2BFDEECAFDC6C4EEC0
-:020CAC00C3FD86
-:100CAE0061CF5100718C7109FECBF800FEFCCD01B5
-:100CBE0000F6BF00F953C0F693935820FEDFF941BA
-:100CCE000036964E3424FDEF05118B99A7A51744D7
-:100CDE00CC4EDFF53602F93024FDEF04CC0000A730
-:100CEE0047DFF9410036CC4E345AFDEF05118B9992
-:100CFE00A7A51744CC4EDFF5365AFD305AFDEF044A
-:100D0E00CC0000A747DFF9FCD80000EFFE61DD71D3
-:100D1E007BFABEF0ADD8BEF200AEF661CDD7C361A0
-:100D2E00DD717BFABEF0ADD8BEF200DBF6FFADDCB6
-:100D3E00BEF000AEF6BDD8AEF40312ADDABEF200D0
-:100D4E00AEF661CD03BDDAC2D7C3F33174D90883D1
-:100D5E00C1F626D8BDD8C031750683C312F623C29C
-:100D6E00FD790D93DF0312F623C2D7440000DD2672
-:100D7E0061DD717BFACFE80080BEF6F6BEF4BEF2FE
-:100D8E00ADD8BEF0CFE800818FE8003103FAAEF0A7
-:100D9E00F5E80061CDD7B1D7C3F33174D90883C15B
-:100DAE00F626D8BDD8C0317505C312F623C2FDC7CD
-:100DBE000D93DF0312F623C2D7440000DD2761DD59
-:100DCE00717BFACFE80080BEF6F6BEF4BEF2ADD867
-:100DDE00BEF0CFE800818FE8003103FAAFE000F5F6
-:100DEE00E80061CDD7ADD8D7C3F33174DB0F83C123
-:100DFE00F626D8BDD861317026DABDDAC031750D50
-:100E0E0083C312F626DCBDDC61317023C2FD2F0ECA
-:100E1E0093DF0CF626D8BDD861317026DABDDAC262
-:100E2E00D7C161686BDC6BDDC0DD2F61DD717BFAD4
-:100E3E00CFE80080BEF4ADDCBEF6ADD8BEF0ADDAC4
-:100E4E00BEF2CFE800818FE8003103FAAEF0BDD8D4
-:100E5E00AEF2BDDAF5E80061CDD7F6BDD8BDDAD772
-:100E6E008292DD2B61DD717BFACFE80080BEF0F659
-:100E7E00BEF2BEF46208BEF6CFE800818FE8003104
-:100E8E0003FAAFE0006072AEF0F5E80061CDD76016
-:100E9E0072F6B1D706DABDDAADDC06D8BDD861D8A8
-:100EAE00A6DAD7D1DD17C1C3DAD89DD8ADDA311C99
-:100EBE0061EEB4D8DFF8BDDA13BDD8C2C0D7D1DD2C
-:100ECE001BC1C3DADA9DDAADD8311E33311E337150
-:100EDE00F9B4DADFF4BDD813BDDAC2C0D746D8DD17
-:100EEE000771FF7177D971C0D75BDB9DDB605BDA71
-:100EFE009DDAADDC5BD9085BD808BDD8D7C3C7F384
-:100F0E00728EFDC162314C4100368C4E1161A07261
-:070F1E00C09EFD62C6C2D7B0
-:0A0FF60031353A31363A3139000046
-:0A20000031353A31363A313900002B
+:10017800EFBC40F84F3A61E88666D161E8FDEB06CE
+:10018800C6D751105B0C319E609F16F94016F901D5
+:10019800DF05CD3005EF03CD30078F14F95CE39F01
+:1001A80014F951035B04318EE7240000DD1023DDD0
+:1001B8000823DF0E712014F9D7713014F9D7714074
+:1001C80014F9D7717BFACEA010CEA180E5F300CE4A
+:1001D800A408F5AAFFD78F14F9310508CD0003CD7F
+:1001E8000307EF03CD0306CE23F88F14F931030874
+:1001F800CD0408F690BFB401CF1105F8F521FFCE64
+:1002080022E9CE24F3CE25F2CE26FCCE275FCE2ED1
+:10021800FCCF120511CF350002CF370019CF53009C
+:1002280006CBEEFEFFCE3831CE3970CF38050A3016
+:100238008700BF1801BF1A01BF1C01BF1E01D7C725
+:10024800C1C1FBF8FFCEABAC8C02D1DD12616902F3
+:10025800305C03BBF6614900DDEE618900EFF51003
+:1002680004C6D7FD902FFDAA38FDC304717AFAFDA4
+:10027800AD23F512F98F14F93105135003FD7C2BCA
+:10028800625C01D161E8CF12F902CFC5FB64FD7051
+:1002980030FDF74471025F712BE7FDAD38FD4C3935
+:1002A80061EDEFF6D7D7C7F616FDC304717BFA31B7
+:1002B800225D0871225D717AFAEF0B717AFAA7F65E
+:1002C80047DFE9E2EF01F2C6D7C7C1C1FBF8FF1764
+:1002D800A1C1E0C18C0A70C18C0270FDF902100640
+:1002E800D2DF04F437EF03CD37028C01721004C655
+:1002F800D7C7C1FBF8FFFDAE02D2DD03E2EF618B89
+:1003080070FD1704D2DD0771235D5202EF528C088D
+:1003180070FD2C04FD77048B6C0170FD2C043004F7
+:1003280000BF2401301740BF1C01300400BF220168
+:100338008C0A91DF04F6BF2A01710BE2CE44FF312B
+:1003480082E202EFFAAC0C148E449961790C61696F
+:100358000A8C0AD1DFDAFDA004710BE271235DF289
+:10036800C0C6D7C7C1FBF8FFFDAE02D2DD03E2EF7E
+:1003780025710AE68B70FD1704D2DD0771235D52E3
+:1003880002EF138C0870FD2C048C0A70FD2C04FD00
+:10039800A00471235DF2C0C6D7C7C1FBF8FFFDAE4C
+:1003A80002D2DD03E2EF65710AE6710BE28B70FDA4
+:1003B8001704D2DD0771235D5202EF50710BE23151
+:1003C800125D39C73430FBAC0C1652048B99A5A7C3
+:1003D80092DFF9C63184BD02EFFA717ABDCEB1441D
+:1003E800CBB430FB8C0A318EBEB8CEBB48714BE122
+:1003F800714BE5710ABD8C089E44EF0F710BE68CBA
+:10040800089E448C0A9D36AC0CBD34F2C0C6D7C7D2
+:1004180016FD4F0417FD2C04D2DD06FDA004E2EF03
+:1004280001F2C6D7C716710AE6710BE2669E44311F
+:1004380082E202EFFAF6420401DD09AF0401BF0CC3
+:1004480001E2EF01F2C6D7AF2801085CFB08BF281C
+:1004580001FDAD02AF28015CFBBF2801300400BFDD
+:100468002A01301780BF1C01300400BF2201D7AF1A
+:100478002401086C0408BF2401AF28016C0F086C24
+:100488000B08BF2801FDAD02AF2A01085CFB08BFBD
+:100498002A01FDAD02ED4F04300400BF2401F6BF70
+:1004A8002A01300B0BBF2801FDAD02300B0FBF280E
+:1004B80001FDAD02300F0FBF2801D731345D01D7E0
+:1004C80071225D710BBD0000717BBD713A25713AD7
+:1004D800236A0E03713205713B25713203713B2388
+:1004E800500AFD47027120F000FDAD02F6BF26015B
+:1004F8005024BF1401CB440014300F0FBF280171E2
+:10050800135D710BE2710AE6FD4F04CE44FF3182A0
+:10051800E202EFFAFDA004AF0401BF0C0171235DF4
+:1005280071325DD731245D02EFFAFD7704713A2507
+:10053800713A235A0EFC713305713B2571330371EF
+:100548003B237128F00071335DD7C7880616FDAECE
+:1005580002D2DD03E2EF38710AE650A4FD1704D297
+:10056800DD0771235D5202EF2617FD2C046770FD2D
+:100578002C04FD770450A4FD2C045020FD2C04D934
+:1005880034FBFD2C04A034FBFDA00471235DF2C6EE
+:10059800D7C72008FBF8FFFDE9085014C15008FD33
+:1005A8001B08C0CC07048C074C14DE0C8C07318E5A
+:1005B800FD550A615907EFEECC07048C074C14610E
+:1005C800C8ED8706CC06008C064C0461C8ED6606AB
+:1005D8003018F9BC02F6BBCEABAC31B2D109C73684
+:1005E80041057184C6DEF3F1C73641057184C661E1
+:1005F800DC9C05713BD1AC02148F400599715050B9
+:1006080005617902617900F0E1614900DD09C736C9
+:1006180041057184C6DEC3F1C73641057184C661E0
+:10062800DC0E059C055040C18C07318E31AD128C13
+:1006380006318E318D03BDD831FFBDDADADAADD897
+:10064800FD210DC0D2DD0C5008C15014FD1B08C09F
+:10065800FDDE0B8C05D1DF06615906EDCF058C0751
+:10066800318EFD590AD2DD0C5008C15014FD1B080B
+:10067800C0FDDE0B8C05D1DF06615907EDC305719E
+:10068800605005CC0400CC05008C054C09DE2B8C91
+:1006980005318E04F61FC1317B9EFDC41189728C11
+:1006A80005318E04F64F14896142DF03F6EF01E647
+:1006B800600E049C04615905EFCF41001140F81FFA
+:1006C8003A61E86159048C04D1DF08FDDF0BFDF1C4
+:1006D8000CEF0C5008C15014FD1B08C0FDDE0B10B8
+:1006E80008C6D7C72004FBF8FF715B21CC0100F6D0
+:1006F800BC02AC02440900DE3EAC0204F60F144111
+:1007080000118972AC020C5014896142DF03F6EFC4
+:1007180001E6600E019C01AC021249005072AC0265
+:1007280004F67F14896142DF03F6EF01E6600E01EB
+:100738009C01617902EFBB40F67FFF61F8615901C6
+:100748008C01D161F8EDE907CC0100717AFAFDC39B
+:1007580004711300711B20710303710205E0C1507D
+:1007680003FD6B2BC05013FD4702500FC1E0FD6B1A
+:100778002BC0CEABAC6159018C0191DD068C014CCC
+:1007880003DF03E6EF01F66061FB7151018C014C58
+:100798000861F8CC010031320705A042FCEF03F5EF
+:1007A80042FC4042FC11DC0DF542FCF0C15003FD57
+:1007B8006B2BC0EF12E6BC02F6614902DDB4000003
+:1007C8000000617902EFF1CE3708CBE4FFFFCBE6FA
+:1007D800FFF7CED4FFCF370008F5120561FDF5AB62
+:1007E800FFFDE908D25008C15014FD1B08C0D2FD16
+:1007F800DE0B1004C6D73184BD02EFFA717BBDCB86
+:10080800E4FFFFCBE6FFFFCBD4FFFF717ABED771C1
+:100818007BBED7C7C1200CFBF8FF8C0C318E31ADE5
+:10082800C1317B9DD4C0BC068DD49C088C149C0B14
+:100838008C14318E040C00128C0B318EBDD813FD34
+:10084800B00F61C8EDE408CEABACCC05068C0B311B
+:100858008EFD510AD2DD158C0B318EFD550A61696A
+:10086800058C05D1DFE7FD1708E2EF71CC0A008C93
+:100878000A4C04DE54F6BC023018F9BBAC06148CE2
+:10088800089EFD118972AB146299AC06A1BC066181
+:100898007900617902F0E1614902DFE05040C18CE2
+:1008A8000B318E31AD128C0A318E318D03BDD831AA
+:1008B800FFBDDADADAADD8FD210DC0D2DD06FD17AD
+:1008C80008E2EF1961590AEFA68C0B318EFD590A1F
+:1008D800D2DD03E2EF0761590BED3808F2100EC6BE
+:1008E800D7C7717B9D717BFAFDFE073018F9FD04AF
+:1008F8000BFD8F0AC6D7FDE908FDDE0BFD1708F5CD
+:10090800ABFFF2D7C7316460067110C9FBEF047101
+:1009180018C9FB8FC9FB7FE8FC76D1DD5C8FC9FB6A
+:100928009FE8FC4012F903DF22665C10D1DD1C8FC2
+:10093800C9FB5C10D1DD0B5080C15011FDB534C02E
+:10094800EF095040C15011FDB534C04012F903DD24
+:10095800064012F904DF22665C02D1DD1C8FC9FB58
+:100968005C02D1DD0B5040C15010FDB534C0EF0919
+:100978005020C15010FDB534C0C6D7C78F0CFC76C7
+:100988008F0DFC77665C80D1DD10675C80D1DF0558
+:10099800711360EF0B711260EF067104077111603B
+:1009A800665C40D1DD10675C40D1DF05712360EFE4
+:1009B8000B712260EF06711405712160665C01D12C
+:1009C800DD10675C01D1DF05713360EF0B713260B8
+:1009D800EF06713407713160665C02D1DD10675C27
+:1009E80002D1DF05714360EF1D714260EF184015B9
+:1009F800F901DF08710402714160EF0AC73610057A
+:100A080071C4C6714160665C04D1DD10675C04D1B5
+:100A1800DF05715360EF0B715260EF067144077187
+:100A28005160665C08D1DD10675C08D1DF05716232
+:100A380060EF0B716360EF06711407716160665CAB
+:090A480010D161E8715AD1C6D742
+:100A51005208EF065203EF025206FEE600FE1B00AB
+:100A6100DC16089F03088F0408089F040862FE240F
+:100A710000089F0408EEBF00EEBA00C1C514410E84
+:100A810011D9D0FF118FD1FF312E45C4C0D7F2311A
+:100A9100A2C401E2D79DE261DD4C09DF12717BFA4C
+:100AA100C18F06089F33FDC0CF060800EE27003135
+:100AB100F2FA04CF0608004C00DF05D50008DD1668
+:100AC10061DD717BFAD50608DD0ACDE31F61CD61D9
+:100AD100CDEE160061CDFED40061FFFE9A00FCF858
+:100AE100FF0EFEB20061CDFED5004C09DF0EC18FB5
+:100AF10006086F33FD9F0608C0EE0400CF0608000C
+:100B0100F8E3D75200EF025202FE3700CF32FD0068
+:100B1100CF060800BF0408C716629F0008410011F4
+:100B21008F22229B4100118F23229F0108C6510071
+:100B3100FE62FFEF025205CF060800C1510CFE0A0A
+:100B410000C0D7C1511DFE0200C0D761DD717BFA23
+:100B510070CEC0A59EC47CFF9EC4609EC461CDD7EB
+:100B610061DD717BFAC18EC45C1BFED6FFCF060826
+:100B710001FED7FFC061CDD731F2FA1AC1AEE4BF91
+:100B810024FDAEE6BF26FDAED4BF28FD30FFFFBE7B
+:100B9100E4BEE6BED4C0D731F2FA11C1AF24FDBE26
+:100BA100E4AF26FDBEE6AF28FDBED4C0D7C1BF2A43
+:100BB100FD13BF2CFD15BF2EFD17BF30FDC0D7AFF4
+:100BC1002AFDDB2CFDEB2EFDFB30FDD7534B3052C4
+:100BD1005430324E323030475631323000FFC1503E
+:100BE100FEFEAB0061DD717BFACF060800FE0A0054
+:100BF100FEA4FF61CDF8E3EECF00C7FB0408BF24DC
+:100C0100FD8FC0009C05C5C337040600BF26FD3516
+:100C110036430C300000522BFE6600C2C4C630F1D0
+:100C21000BB800300000B8022004AF26FDB8003038
+:100C31000F00B802AF24FD61FF520AFE3AFFECF843
+:100C4100FF0E717BFAC1C7FB04088C05C65C80FEF0
+:100C51000200C0D761DD717BFA70CFC0FFA59FC0D4
+:100C6100007CFF9FC000609FC00061CDD7618BFEFB
+:100C7100E2FF717BBE410011FB000017CEFC006159
+:100C8100CB089EFDF31161C999A58392DFF7D7FEC9
+:100C9100B1FED532FDDF23C1CF0308035109FEF4B4
+:100CA100FDC0D2DF37FE3800A20408CF0308075188
+:100CB10009FEE1FDD2B20408DF22C7FB040831833B
+:100CC10002C6D7C6510AFECCFD624C1FDF06CF32E9
+:100CD100FD01EF04CF32FD00C0EE5BFEC0EE55FE1C
+:100CE100C7C1FB04088B31196C0161589BC0C6D781
+:100CF100717BFAFE4DFEAF0408040600C11436559F
+:100D01000C300000522DF3FE77FF8FC000FE2BFE4A
+:100D110061CF5C807C8073C0041900CEFC0F61CB75
+:100D2100C55404EF03C55417FE18FEC7360008BBAF
+:100D3100629C0288089C03D1DD334C41DE2F70F1A7
+:100D4100312DB161090033081C000851FF612A41AE
+:100D51000E118FD0FF613B118FD1FF6138DC0E8BFB
+:100D61005C03DF0964C6C4FE2BFDEECAFDC6C4EEFA
+:020D7100C3FDC0
+:100D730061CF5100718C7109FECBF800FEFCCB01F1
+:100D830000F6BF00F953C0F693935820FEDFF941F4
+:100D93000036424E34F2FCEF05118B99A7A5174498
+:100DA300744EDFF53602F930F2FCEF04CC0000A7F5
+:100DB30047DFF9410036744E3420FEEF05118B995D
+:100DC300A7A517447A4EDFF53626FE305CFEEF0406
+:100DD300CC0000A747DFF9FCD80000EFFE61DD710E
+:100DE3007BFABEF0ADD8BEF200AEF661CDD7C361DB
+:100DF300DD717BFABEF0ADD8BEF200DBF6FFADDCF1
+:100E0300BEF000AEF6BDD8AEF40312ADDABEF2000A
+:100E1300AEF661CD03BDDAC2D7C3F33174D908830B
+:100E2300C1F626D8BDD8C031750683C312F623C2D6
+:100E3300FD3E0E93DF0312F623C2D7440000DD26E6
+:100E430061DD717BFACFE80080BEF6F6BEF4BEF238
+:100E5300ADD8BEF0CFE800818FE8003103FAAEF0E1
+:100E6300F5E80061CDD7B1D7C3F33174D90883C195
+:100E7300F626D8BDD8C0317505C312F623C2FD8C42
+:100E83000E93DF0312F623C2D7440000DD2761DD92
+:100E9300717BFACFE80080BEF6F6BEF4BEF2ADD8A1
+:100EA300BEF0CFE800818FE8003103FAAFE000F530
+:100EB300E80061CDD7ADD8D7C3F33174DB0F83C15D
+:100EC300F626D8BDD861317026DABDDAC031750D8A
+:100ED30083C312F626DCBDDC61317023C2FDF40E40
+:100EE30093DF0CF626D8BDD861317026DABDDAC29D
+:100EF300D7C161686BDC6BDDC0DD2F61DD717BFA0F
+:100F0300CFE80080BEF4ADDCBEF6ADD8BEF0ADDAFE
+:100F1300BEF2CFE800818FE8003103FAAEF0BDD80E
+:100F2300AEF2BDDAF5E80061CDD7F6BDD8BDDAD7AC
+:100F33008292DD2B61DD717BFACFE80080BEF0F693
+:100F4300BEF2BEF46208BEF6CFE800818FE800313E
+:100F530003FAAFE0006072AEF0F5E80061CDD76050
+:100F630072F6B1D706DABDDAADDC06D8BDD861D8E2
+:100F7300A6DAD7D1DD17C1C3DAD89DD8ADDA311CD3
+:100F830061EEB4D8DFF8BDDA13BDD8C2C0D7D1DD66
+:100F93001BC1C3DADA9DDAADD8311E33311E33718A
+:100FA300F9B4DADFF4BDD813BDDAC2C0D746D8DD51
+:100FB3000771FF7177D971C0D75BDB9DDB605BDAAB
+:100FC3009DDAADDC5BD9085BD808BDD8D7C3C7F3BE
+:100FD300728EFDC162314C410036384E1161A072F0
+:070FE300C09EFD62C6C2D7EB
+:0A0FF60031353A34363A3534000044
+:0A20000031353A34363A3534000029
:10200A00AEF0B430B740BA30BB50BBB0BC50BD1014
:10201A00BD60BDB0BFE0C2B0C420C7B0CAE0CE1038
:10202A0001F0141014200630639049006E00777096
@@ -285,718 +297,714 @@
:10226A004E011926344453626E777D80807D776EE5
:10227A00625344342619100A08080808080808088E
:02228A000A1038
-:10228C00D520F9DD0D8F25FDB025FDD1DF51CF25F2
-:10229C00FD1EFD4E23FDEC223142200D31042009A0
-:1022AC0031020705713304EF03713204FD2723312A
-:1022BC00322003E6EF01F66061FB714102D504F9AF
-:1022CC00DD06B004F9714202314402067140DBFBB9
-:1022DC00EF047148DBFB4020F90161E8FD4126D792
-:1022EC004002F94BDC144002F9B9DE0E400FF9281C
-:1022FC00DE04A00FF9D7714320D74002F93EDC066B
-:10230C004002F9BDDC0E4010F928DE04A010F9D70C
-:10231C00714220D7F50FF9F510F9D73112050E409F
-:10232C0011F902DE04A011F9D7713320D731320430
-:10233C000A40D7FB3CDE04713320D7713220F511F3
-:10234C00F9D7C72004FBF8FF710407E66130609CE5
-:10235C00038F12F94E03DD5D8C039F12F98C03D1B0
-:10236C00DD137130DBFB5002C15011FD0035C0CFC5
-:10237C0004F932EF407138DBFBE0C15011FD003540
-:10238C00C0F504F917A1C15002FDBE2BC0D2DF0F5E
-:10239C008C01318E318D080E02081C00BF06F9AF7E
-:1023AC0006F944009BDC05D5D7FBDF095020C15052
-:1023BC0011FD0035C01004C6D7C78F24FD76FD096A
-:1023CC0024D523F9DD05710320EF30FDF22B664F88
-:1023DC0024FD61F83154201A715320FDC904664C58
-:1023EC0007DD0381DF098F22F9310303FD9924FDF9
-:1023FC00AD24710220308D25FD6E39C6D7C77162B0
-:10240C00017172015005FD49025008FDE837629FC9
-:10241C0002F95009FDE8376276716301711822F9EF
-:10242C004002F9F1DC05E523F9EF244002F904DE62
-:10243C001BCF23F9025008C1506CFDD302C092DFB0
-:10244C000ED545FBDF09711022F9EF03F523F94096
-:10245C0023F901DF05710A22EF06710B22710302C9
-:10246C00CF24FD075700674C08DE117309D2216198
-:10247C004EDC06679F24FDEF0387EFEA4024FD073F
-:10248C00DF09D523F961F8CF23F903C6D7500AFD2C
-:10249C004902304000C15006FDA12BC05096ED49B9
-:1024AC0002C72006FBF8FFD523F961E8ED8925303A
-:1024BC004A57C1503EFDA12BC0D2DD077100DAFB9B
-:1024CC00ED89257108DAFB17A1C15004C1500CC16C
-:1024DC00506CFDFD021006EB0CF9AA48318D12AAC6
-:1024EC0048318E616B08616A08C1500EFDA12BC08A
-:1024FC00F690C1500CFDA12BC0CC00008B4C04DE1F
-:10250C002731242102EFFA711221EB0CF98B5010B8
-:10251C00D605C15010C18BD6044000C1506CFDA52E
-:10252C00031006615900EFD450A5FD4902EB0CF9DC
-:10253C00AA48318D12AA48318E616B08616A08C1B4
-:10254C00500EFDA12BC050A5FD49025004C1506C8A
-:10255C00FDD302C0629C05EB0CF98A4B4E0561C39E
-:10256C00048A4A4E0517A1C15004C1500CC1506CCD
-:10257C00FDA5031006F6C1503EFDA12BC01006C6EA
-:10258C00D7C78F13F94F02F961F8ED3E264015F9C4
-:10259C0028DE06A015F9ED3E26F515F98F02F99FF8
-:1025AC0013F98F02F95070D6123073512304800046
-:1025BC001231FF318E039F14F99FD6FBF68F14F95D
-:1025CC007C804C95DC1D8F14F9318F241400EB0C9E
-:1025DC00F9BDD8AA44FD1B0D1231FF318E03318F8A
-:1025EC0016EF1B8F14F9318F241400EB0CF9BDD8A6
-:1025FC00AA46FD1B0D1231FF318E03318F16EB0CE9
-:10260C00F98A427217F3031644000171FE61C83651
-:10261C00FF001701DE02F61617BF6CFCC7500CFD4D
-:10262C00A12BC0D2DF088F02F99F13F9EF047100C0
-:10263C00DAFBF2C6D7C72006FBF8FF4023F901DF0F
-:10264C000BCFD7FB63CFD9FBC8ED97274023F902FB
-:10265C00DF3A17040400C15004FDBE2BC0D2DD06C6
-:10266C00CFD7FB63EF0A8C049FD7FB8C059FD8FB5D
-:10267C0017040400C15002FDBE2BC0D2DF078C042E
-:10268C009FD9FBEF04CFD9FBC8ED972717040400A3
-:10269C00C15004FDBE2BC0D2DD107100DAFB7103FA
-:1026AC0020F5D7FB710221ED6C278C04318E318D16
-:1026BC00080E05081C00BF06F9EB0CF98A4072AF36
-:1026CC0006F9FD6E0EBF06F99C04D1DF08CC04019F
-:1026DC00CC0500EF058F06F99C0517040200C150CC
-:1026EC0002FDBE2BC0D2DF788C029FD9FB8C02314D
-:1026FC008E318D080E03081C00BF06F94401A5DCC1
-:10270C0009CC0164F6BF16F9EF56AF06F92216F99B
-:10271C004401A0DC09CC011EF6BF16F9EF42AF064E
-:10272C00F944819DDC0BCC010A30F401BF16F9EFA2
-:10273C002FAF06F944019BDC0BCC010530F401BF33
-:10274C0016F9EF1CAF06F9440191DC0BCC010030FB
-:10275C00F401BF16F9EF0971022130F401BF16F92B
-:10276C003132040D31342009CFD7FB64F5D8FBEF9F
-:10277C001A8C044E01DE0C8C049FD7FB8C059FD861
-:10278C00FBEF088C019FD7FBF5D8FB8F22F9313575
-:10279C0004CFD7FB64FD282C8F18F94FD7FBDD2B0A
-:1027AC0040D7FB0BDE064018F90BDE1640D7FB06B4
-:1027BC00DE064018F906DE0AD5D7FBDF0ED518F970
-:1027CC00DD095020C15011FD0035C08FD7FB9F187B
-:1027DC00F9FD652C1006C6D7C7D90EF9C15002FDFC
-:1027EC00D62BC04024F90161F8712010055012FD60
-:1027FC0049028F0EF96C0870C15002FDD62BC050E7
-:10280C0003FD49028F0EF96C1870C15002FDD62BD6
-:10281C00C05016FD49025003FDE72B625C01D1DD6F
-:10282C00107170DBFB5002C15013FD0035C0F2EF8C
-:10283C0001E2C6D7C75004FDE72B625C03D1DD4033
-:10284C005014FDD92834DBFB895C9F998A0C7CFFE2
-:10285C0050FF5C14D1DD228A0C7CFF5C147234DFD7
-:10286C00FB89616A997162075600316207058666B9
-:10287C00D1DFF7716307716B2734EEFB895CEB9941
-:10288C00712810055002FDE72BD2DD374024F901E9
-:10289C00DF05500AFD49028F0EF96C1070C1500211
-:1028AC00FDD62BC0E0FD4902D90EF9C15002FDD670
-:1028BC002BC05033FD4902F0C15002FDD62BC07124
-:1028CC0078DBFBE0C15013FD0035C0C6D7C7C12073
-:1028DC0004FBF8FFCC02005004FDE72B629C038C38
-:1028EC00045C20D1DD0E8C036C019C038C026C20EB
-:1028FC009C02EF138C045C10D1DD0C8C035CFE9CF1
-:10290C00038C026C109C028C045C08D1DD0E8C03D1
-:10291C006C029C038C026C089C02EF138C045C040C
-:10292C00D1DD0C8C035CFD9C038C026C049C028C32
-:10293C0003D1DD05501AFD49028C0370C15004FD12
-:10294C00D62BC08FDBFB5C9F728C03318E316D14E8
-:10295C008C03318E314D616D08616C5C606162621B
-:10296C009FDBFB8FE7FB7CFF50FF5E02D1DD278FE7
-:10297C00E7FB7CFF5E027234DFFB89616A9971624E
-:10298C0007CC0100316207086159018C01D1DFF4D9
-:10299C00716307716B27F21006C6D7D9CFFBC150F4
-:1029AC0006FDD62BC0D9D0FBC15007FDD62BC0D706
-:1029BC00FDA729F2D7C7711300711B207103037196
-:1029CC000205E0C15003FDD62BC05013FD4902F0A7
-:1029DC00C15005FDD62BC0500FC1E0FDD62BC05009
-:1029EC000AFD49027103055008FD4902501FC1E060
-:1029FC00FDD62BC05012FD49025003FDE72B625C43
-:102A0C0001D1DF03E2EF26F0FDE72B629F08F936D8
-:102A1C0009F9C75008FDBE2BC05003C1FDD62BC011
-:102A2C00710203711A20FD762BF503F9F2C6D7500B
-:102A3C0003FDE72B625C01D1DD155014FDD928FD97
-:102A4C0040285014FD4902E0C15003FDD62BC07143
-:102A5C001300711B207103035014FD4902F0C1E0F7
-:102A6C00FDD62BC0F0C15003FDD62BC0D7C7200418
-:102A7C00FBF8FFCC02008F03F99C035010C150A44B
-:102A8C00FDD302C0629F03F9D545FBDD04F2ED5383
-:102A9C002B8C037F03F95C08D1DD108F03F95C08E4
-:102AAC00D1DF05CC0210EF03CC02208C037F03F99D
-:102ABC005C04D1DD168F03F95C04D1DF088C026C49
-:102ACC00049C02EF068C026C089C028FDAFB5CF310
-:102ADC00728F03F95C0C6162629FDAFB8FE6FB7C00
-:102AEC00FF50FF5E029C02D1DD1F34DEFB896E02BB
-:102AFC0099716207CC0100316207086159018C01A0
-:102B0C00D1DFF4716307716B278F03F95C40D1DD62
-:102B1C00095002C15012FD0035C08F03F95C01D180
-:102B2C00DD08E0C15012FD0035C0717AFA8F03F94F
-:102B3C005C41D1DD113403F9895CBE99D903F9C12B
-:102B4C005010FD5805C0F21004C6D7FDE427F2D78B
-:102B5C00FD4028F2D7C78FEEFB7617FDD928664FBC
-:102B6C00EEFBDFF2F5EEFBF2C6D75064FD490240F6
-:102B7C00D7FB0BDE03E6EF01F66061FB711120F170
-:102B8C0071142061DC70C15012FD5805C0FDB436C3
-:102B9C00CF3DFC03D7C7C1C1FBF8FFAC0ABB17C1C3
-:102BAC005002C18C0270C1506CFDA50310061004BC
-:102BBC00C6D7C7C1FBF8FFAC08C15002C18B70C1AE
-:102BCC00506CFDFD021006C0C6D7C788061667708C
-:102BDC00C1C75084FD6F031004C6D7C716C75084F5
-:102BEC00FDD302C0C6D7C74024FD04DE045600EF57
-:102BFC000256014024F901DF048686EF0A4024F9CD
-:102C0C0002DF045104610666318F12504CD63351E9
-:102C1C004CD6610A040A20BF0CF9C6D740D7FB5129
-:102C2C00DC05CF2EFC0FD740D7FB33DC05CF2EFCB9
-:102C3C000BD740D7FB0BDC05CF2EFC07D740D7FBBF
-:102C4C000661D831320405CF2EFC03D7D5D7FBDD76
-:102C5C0004E52EFCD7F52EFCD7D520F9DF047163E3
-:102C6C0020D740D7FB0BDE03E6EF01F66061FB716A
-:102C7C00712071142071772061C831622017716244
-:102C8C0020717420711120F171742061DC70C150BD
-:102C9C0012FD5805C0D77100010571785005713AC5
-:102CAC00D5713BD1713ADD713BD98F10055CFC9F1E
-:102CBC001005CF54054AE5420571104205710042DA
-:102CCC0005714850057130500571205005CF5305E2
-:102CDC0005CF52050A7130510571205105713BD554
-:102CEC00717050058F11055CFC9F1105D7717850E0
-:102CFC000571080105D77140F00071783002713A06
-:102D0C00E6713BE2713BEA713BEE8F10055CFC9F78
-:102D1C001005CF34024AE552FF711A52710A5271F2
-:102D2C004830027130300271203002CF330205CFAF
-:102D3C0032020A71303102713BE6717030028F1130
-:102D4C00055CFC9F110571603002D77178300271FF
-:102D5C0048F000D7C788061666614FDD0967614EDB
-:102D6C00DE0396EF01866672C6D7C7161714AA043F
-:102D7C0012A943DD29AA0412A923FDCC4EC3AC022F
-:102D8C00FDCC4E13C2BDD813FDEB0EDE0C1714AAEE
-:102D9C000212AA0403BA04EF051714A9BA04AC046E
-:102DAC001231FF319E03317F087208C6D77100F2D1
-:102DBC0000304400BFB601300188BF900130098457
-:102DCC00BF9E01BF9C01BF9A01BF9801BF9601BF76
-:102DDC009401BF9201F53CFF30FE00BFBE01F6BF6F
-:102DEC00BC01BFB80150EEBFBA01A1BFB201C918F6
-:102DFC00FE00F6BE6EBE64BE6A7123047153078F6B
-:102E0C0022F9310507F5F5FBCB6CFF0071532171ED
-:102E1C004221D730EF00BFB401F6BFBA017108F2FE
-:102E2C0000712304715307714321D78FACFBB0ACF5
-:102E3C00FBD1DF7331D4D106715BD1E5AEFBD5AEDE
-:102E4C00FBDD347140DAFBD9ADFBF1E73402002332
-:102E5C00DD0625DD0325DF05F6BE66EF06D9F4FB9E
-:102E6C00F1BE66A0ADFB40ADFB20DF06F5ADFBB0BF
-:102E7C00AEFBCFACFB19D7CFACFB1E7148DAFBD540
-:102E8C00F6FBDF04F6BE66D7D9F4FBF14266FFDD34
-:102E9C0016D9F4FBF112AE6643DE05A266FFEF0312
-:102EAC00B266FFCFACFB03D7C7161714F6B9AA044A
-:102EBC0012F6231231FF31AE03316FBA02C6D7C7F7
-:102ECC00C1FBF8FF8C085080D612AB1413B9AB14AD
-:102EDC00AA0412A92312D949FBF133BDD813FD570B
-:102EEC000DBA02C0C6D731642101D74020F902DFE8
-:102EFC0010F6BE64BE6EBE6ABFB6FBBFBCFBBFC2E3
-:102F0C00FB3154211530B2FBFDB42E30B8FBFDB4AF
-:102F1C002E30BEFBFDB42EEDA62F3174210F717334
-:102F2C00217108FAFBF5B0FBF5AFFBEF6DD5AFFBEC
-:102F3C00DF658F48FB9FAFFB40B0FB1FDC1A7100B5
-:102F4C00FAFB404AFBFFDD22A0B1FB8F4AFB4FB1DD
-:102F5C00FBDE17F5B0FBEF12D9B0FBF1A1605C1FE3
-:102F6C009FB0FB7108FAFBF5B1FBE9B0FB094CFB18
-:102F7C0070C130B2FBFDCB2EC0E9B0FB096CFB700D
-:102F8C00C130B8FBFDCB2EC0E9B0FB098CFB70C186
-:102F9C0030BEFBFDCB2EC0B0AFFB30B2FBFD762DAF
-:102FAC00F313BE6E30B8FBFD762DF313BE6A30BE44
-:102FBC00FBFD762DF313BE64D7C736F00071F4DC3D
-:102FCC00297170F000CE9D08CE9EC0CE9F80F594E6
-:102FDC00FFF593FFF592FFE597FFE596FFE595FF6B
-:102FEC00E598FFCE9C7F7100CEFB711BE3712BE348
-:102FFC00711AE7712BE7717A9D710A9E31929E02CC
-:10300C00EFFA710B9E710322711322712322C6D722
-:10301C00C73102221E710222710A9E31929E02EF6A
-:10302C00FA34FCFB3692FF52078B99A5A792DFF975
-:10303C00710B9EC6D7C78806163112221571122243
-:10304C00C734C4FB3092FF1652078B99A5A792DFA9
-:10305C00F9C666736718C4FBC6D7C771032231144F
-:10306C00221E711322710A9E31929E02EFFA349243
-:10307C00FF36C4FB52078B99A5A792DFF9710B9E03
-:10308C0031242213712322717B9E8F04FC9E9A8F14
-:10309C0005FC9E9B717A9EC6D7CFCFFB5CCFD0FB35
-:1030AC005FCFF0FB5DCF24FC36CF25FCC9E523FCBC
-:1030BC00D7C7CFCCFB11CFCDFB36CFF4FBFFF5F54B
-:1030CC00FBF5F6FBF5F7FBF5F8FB5600664C64DEFA
-:1030DC0008723848FB0086EFF3C6D7C78806161768
-:1030EC00F1E73402002361E3ED2B342361F8EDCDDD
-:1030FC0031B12361E3EDD43124030061F8EDE33108
-:10310C00B1240D0061D8ED2B34240B0061F8ED04D3
-:10311C00322361F8ED4B322361F8ED18322361F85C
-:10312C00EDF13324060061F8EDB432B124030061F3
-:10313C00D8EDD53224000061F8EDE2322361F8EDD0
-:10314C002B34252361E3ED0A332361F8ED1B332384
-:10315C0061F8ED2C332361F8ED1B332361F8ED3D61
-:10316C00332361F8ED4E332361F8ED5D332361F8C1
-:10317C00ED7F332361F8ED8B332361F8ED97332327
-:10318C0061F8EDA033252361E3ED2B342561F8EDD7
-:10319C00A9332361F8EDB63324030061F8EDC23393
-:1031AC00240A0061F8EDCE3324090061F8ED0534F2
-:1031BC0024090061F8EDEB332361F8EDD933ED2EE2
-:1031CC0034679FCEFBED3B3430BC29FD6E39667302
-:1031DC006718CCFBED3B3440D1FB6ADF1440D2FBCB
-:1031EC0068DF0E674C6CDF09305242FD6E39713A64
-:1031FC00D5679FD3FBED3B3467D1DD0630F33DFD46
-:10320C006E3934ECFB89616F99ED3B34675C02D10C
-:10321C00DD0830572BFD6E39EF0C675C01D1DD06F4
-:10322C00305C2BFD6E39675C3CD1DD1030612BFDC1
-:10323C006E39675C3C7266736218CCFBED3B34678D
-:10324C00D1DD625C01D1DD05300800EF01F6609F35
-:10325C002BFC675C02D1DD03E6EF01F6342BFC8915
-:10326C00616899675C04D1DD04E6A1EF01F6342BAB
-:10327C00FC89616899675C08D1DD05302000EF019D
-:10328C00F6342BFC89616899675C10D1DD05301030
-:10329C0000EF01F6342BFC89616899675C20D161E1
-:1032AC00E871602BFCED3B34D51AF9DF09679FF50B
-:1032BC00FBA01AF9EF10401AF905DE0AE91AF967B2
-:1032CC001853FDA01AF9ED3B34675C0F72667362FC
-:1032DC0018CCFBED3B34401AF964DE1F401AF9019F
-:1032EC00DF0667D161F85701E91AF9671848FBA0A6
-:1032FC001AF9401AF90561C8717221ED3B34675C0B
-:10330C007F70C117F1243000FD4130C0ED3B3467B4
-:10331C005C3F70C117F1243000FD4130C0ED3B34EF
-:10332C00675C0770C117F1243000FD4130C0ED3BE4
-:10333C0034675C1F70C117F1243000FD4130C0EDC3
-:10334C003B346770C117F1243000FD4130C0ED3BB8
-:10335C0034CEABAC710A9E31929E02EFFAD592FF3D
-:10336C00DF05710B9EEFED679E99710B9E9F03FC21
-:10337C00ED3B34712222675C7F9F04FCED3B347182
-:10338C002222675C3F9F05FCED3B34675C3F9F0648
-:10339C00FCED3B34675C1F9F07FCED3B34306C3B12
-:1033AC00FD6E39679F0CFCED3B3430273BFD6E39CD
-:1033BC00679F0DFCEF7930493BFD6E39679F10FC20
-:1033CC00EF6D675C01D161E8FD4145EF624026FC81
-:1033DC00C8DE5CE926FC671876FAA026FCEF50677D
-:1033EC009F26FCEF4A67318E247200DF06300409F9
-:1033FC00FD6E39679FEFFBEF36675C01D1DD03E6AD
-:10340C00EF01F66061FB711102675C02D1DD03E62E
-:10341C00EF01F66061FB712102679F23FCEF100046
-:10342C00EF0D664C5ADE07736718CCFBEF0100C634
-:10343C00D7C716664C30DC094C37DE05FD1C30EF67
-:10344C0073664C02DF1F8FCEFB5C03728F2DFC5C0E
-:10345C0003318E316D08616A08128F2DFC5C80314E
-:10346C002A6162EF5E664C3DDF0AAE90BF28FCF924
-:10347C0028FCEF4F664C3EDF05F929FCEF45664C06
-:10348C004FDF05FD6445EF3B664C61DF09E926FC27
-:10349C000976FA72EF2D664C7FDF05FD633EEF2354
-:1034AC00664C4EDF0F31742305301000EF01F60827
-:1034BC007208EF0F664C5ADC0452FFEF0666730974
-:1034CC00CCFB72C6D7C788061617F124100024054A
-:1034DC0000DC07244C00DD17EF18717BFA17F104A0
-:1034EC00CCFB1489617F99717AFA713222EF03A0B7
-:1034FC0026FCC6D7C7C1C1FBF8FF4020F903DD0687
-:10350C004020F904DF2F8C027309D4FB5E0AD1DF53
-:10351C00248C02318E04CCFB14896E0A99716207DB
-:10352C00CC0100316207086159018C01D1DFF471C3
-:10353C006307716B271004C6D7CF2DFC03F52BFC4A
-:10354C00F52FFCF531FCD7C788061617F1E73402C6
-:10355C000025DD3E23DD1825DD1D23DD0523DD2CB7
-:10356C00EF3C716222679F30FCCF3DFC03EF2F676D
-:10357C005C839F2DFCEF27675C039F2FFC675C032C
-:10358C004C0261F8711224FD5947EF12679F31FC10
-:10359C00EF0C6791DF08E0C15012FD0035C0C6D7B3
-:1035AC00C71617F1E7240000DD2A23DD1E240300D3
-:1035BC00DD0724FB00DD24EF2531020705308000F8
-:1035CC00EF01F6086F2EFC7208EF198F2BFCF52B10
-:1035DC00FC72EF107152235235EF09F2EF0666734D
-:1035EC00092AFC72C6D7C71617F1E7240000DD388C
-:1035FC00241000DD1C23DD1C23DD30240E00DD181F
-:10360C00241100DD1B240F00DD12243000DD15EF2A
-:10361C001EE2EF1D5202EF195204EF155206EF1184
-:10362C005205EF0D5207EF09F2EF065203EF02526B
-:10363C00FFC6D7C7314422417143228F3CFC9FD433
-:10364C00FB8F3BFC9FF3FB362EFDC7D93BFCFD19D2
-:10365C0038618A70618AFD5E38C0D940FCF1312F27
-:10366C00609F3FFC8F3AFC4F3FFCDD0D7152228F67
-:10367C003FFC9F3AFCCF3DFC03403DFC05DE0A308D
-:10368C00C136FD6E39CF3DFC6BB03DFC7150F00086
-:10369C00CE300BCF170006CE3106FDAF02717A305B
-:1036AC00710BE3710BE7C6D78F3FFC9F3AFC8F3F42
-:1036BC00FC9FD5FBD74020F903DF064020F904DF3F
-:1036CC0002F2D73154220E7153227173228F3FFCB8
-:1036DC009F41FCEF3931642223716322717222D530
-:1036EC0030FCDF05F542FCEF0B8F30FC5002D6A10D
-:1036FC00609F42FC8F42FC9F41FCEF123174220808
-:10370C008F42FC9F41FCEF068F3FFC9F41FC8F4199
-:10371C00FC9FD5FBD941FCFD3637E941FC09DA2188
-:10372C0070C15013FD5805C0F2D7C7C1C1FBF8FFDB
-:10373C008C02D1DF05F530FCEF1A8C024C05DE064D
-:10374C00CF30FC02EF0E8C02318E1231FE03311F92
-:10375C00609F30FC8F43FC4F30FCDD2ACC011F8F67
-:10376C0030FC9F43FCCC00008B4C08DE148B73099F
-:10377C001A224F30FCDC058B9C01EF05615900EFE0
-:10378C00E78C019F3EFC1004C6D7C7168B728C01C8
-:10379C00614ADE248B728C02614ADE188C01728CB9
-:1037AC0002614ADE068C01318EEF048C02318E08E8
-:1037BC007208EF268B72EF228B728C02614ADE0448
-:1037CC008B72EF168C01728C026142DE068C013119
-:1037DC008EEF048C02318E087208C6D7C716710A98
-:1037EC00E7710BE37150F000CE300BCF170006667B
-:1037FC009E31FDAF02717A30710BE33182E302EF3F
-:10380C00FA8D1F7158F000710BE772C6D7C7C1C192
-:10381C00FBF8FF8F24FC4E02DC03F2EF318C024FDD
-:10382C0025FCDC0452FFEF268C022F24FC70613146
-:10383C00318D128F25FC2F24FC70613133BDD813D0
-:10384C00FD790DBB440001DC03F690BB8B721004B8
-:10385C00C6D7C7C1FBF8FFAC0814A91489708B61DB
-:10386C0028706131FDCC4E1344030071FEDC23AC97
-:10387C0008148A04819A04AC08148A044C11DC10D4
-:10388C00A9148B99AC0814CA0200AC0814CA031012
-:10389C00EF72AC0814CA0400AC0814A914894DDEEC
-:1038AC000AAC08148A02819A02EF12AC0814A9140B
-:1038BC00894D61D308AC08148A02919A02AC0814A1
-:1038CC008A03919A03D1DF3CAC08148A024C10DFB6
-:1038DC0010A91489318EA112AC0814A9146299EFA5
-:1038EC0017AC08148A024CF0DF0EA91489318EB182
-:1038FC0012AC0814A9146299AC0814CA0200AC08E2
-:10390C0014CA0310C0C6D7ED5939717BFAC7D54616
-:10391C00FC61F831042330710423712123710323DA
-:10392C00D546FCDD06B046FCCEABAC717AFA56003F
-:10393C00664C0ADD1272F3311C7934FDCEFC006149
-:10394C00CAFDB83986EFE9717AFAF2C6D7C75600C4
-:10395C00664C0ADE0BF0317E12F67848FC86EFF0EE
-:10396C00C6D7C7C1C1FBF8FFCC01008C014C0ADEE5
-:10397C0036717BFA8C01F0317E0448FC14A9616825
-:10398C00DF09AC02B9717AFAF2EF1D8C01F0317ECD
-:10399C00127948FC614902DF06717AFAE2EF09718B
-:1039AC007AFA615901EFC4E21004C6D7C72004FBB0
-:1039BC00F8FFF64248FC61F8ED9D3A717BFA9C03E6
-:1039CC008C034C0ADE3C8C03F0317E0448FC14A9B9
-:1039DC006168DF05717AFAEF29717AFA8C0372F358
-:1039EC00311C7948FCCEFC0061CA629C02D1DF0A12
-:1039FC008C03F0317E12E67848FC717BFA61590336
-:103A0C00EFBECC0200CC01018C02F0317E0448FCEC
-:103A1C0014A96168DD7B8C02F0317E127948FCE7D9
-:103A2C0043DF688C014C0ADE628C01F0317E127926
-:103A3C0048FCE743DD50717BFA8C01F0317E044881
-:103A4C00FC14A96168DF1B616901717BFA8C01F0C0
-:103A5C00317E12F67848FC717AFA8C024E01DCE762
-:103A6C00EF2F8C01F0317E0448FC14A9128C02F06B
-:103A7C00317E337848FC8C01F0317E12E67848FCBC
-:103A8C00615902717AFA615901EF98615902ED148A
-:103A9C003A00F21004C6D7C72006FBF8FF3411FC1D
-:103AAC00C55006C150A8C15030FDFD021006D2DD34
-:103ABC001DA05CFC405CFC08DE03E2EF5A340CFCFD
-:103ACC00895CFC99FD6C3B7110DAFBF2EF49F55CFB
-:103ADC00FC8F0CFC5C01D1DD264020F903DF20506B
-:103AEC0010C180FD0035C0C736100571D4C6DE0F7D
-:103AFC0017C15006C150A8C15030FDFD0210064040
-:103B0C0020F901DD114020F905DD0B8F0CFC5C0266
-:103B1C00D161E8FD5742F21006C6D7D90DFCC15051
-:103B2C0030FDD302C0629F10FC7130DDFB8FE5FBD2
-:103B3C005C08D1DF06716307716B27F2D7D910FCD3
-:103B4C00C1D90FFCC15030FD6F0310047130DDFB87
-:103B5C008FE5FB5C08D1DF06716307716B27F2D729
-:103B6C00C7200AFBF8FF500FC15030FDD302C040F4
-:103B7C0045FB02DF077110DAFBF2EF5F7118DAFB1D
-:103B8C00CC07004023F901DF05CC0802EF03CC0879
-:103B9C0010CC09808F0CFC5C03D1DF08717AD5CC7A
-:103BAC000607EF06717BD5CC062F17040600C15013
-:103BBC0004C150A0C15030FDA5031006C736100536
-:103BCC0071D4C6DE154020F903DF0F17C15006C1B2
-:103BDC0050A8C15030FDFD021006F2100AC6D7C71E
-:103BEC004020F902DF04F6BF60FCB048FDD548FD6B
-:103BFC0061E8ED5F3DCF48FD048F20F9318FE7235D
-:103C0C00DD0B24020024030061C8ED5F3D8F22F917
-:103C1C00312346301B004260FCDF0AE0C15010FD2E
-:103C2C000035C0EF203077014260FCDF185002C134
-:103C3C005010FD0035C0F64266FCDF098FF0FB50DA
-:103C4C0010D6BF66FCF64266FCDD40B266FCE6426E
-:103C5C0066FCDF37710221EF32301B004260FCDF63
-:103C6C0016F64268FCDF1BE0C15010FD0035C03079
-:103C7C00E803BF68FCEF0B3077014260FC61F87120
-:103C8C000221F64268FC61E8B268FC313407097124
-:103C9C003323F6BF60FCEF1731342306F6BF60FC0C
-:103CAC00EF0DA260FCF64260FCDF04B1BF60FC8F3C
-:103CBC0023F9318FE7240000DD0623DD0D23DF120D
-:103CCC0036100571C4714123EF0B7104027141234D
-:103CDC00EF037142233142231D4062FC0661D8A0E0
-:103CEC0062FC4062FC05DF11A062FC5004C1501064
-:103CFC00FD0035C0EF03F562FC3144231D4064FC2C
-:103D0C000661D8A064FC4064FC05DF11A064FC5083
-:103D1C0008C15010FD0035C0EF03F564FCD565FCFF
-:103D2C00DD05B065FCEF2C3142071B4063FC0661DE
-:103D3C00D8A063FC4063FC05DF0FA063FC5010C1EE
-:103D4C00FD0035C0EF03F563FC4063FC0661F8CF62
-:103D5C0065FC25C6D7C736100571D4DE0730A33AEB
-:103D6C00FD6E39D24020F903DF1D31220706307970
-:103D7C002AFD6E393154230C7153235080C15012DB
-:103D8C00FD0035C0FD983DFDC53DC6D78F2DFC5CB3
-:103D9C0001D1DD24D56BFCDD04B06BFCD7CF6BFC03
-:103DAC00098F3EFC4F6AFCDD0F8F3EFC9F6AFC5076
-:103DBC0040C15012FD0035C0D74020F903DD04F698
-:103DCC00BD1AD7D5F8FBDF08F6461ADD19B61AD797
-:103DDC00D9F4FBF1461ADD0ED9F4FB12AD1A43DE11
-:103DEC0003A61AD7B61AD7C78FECFB76F5ECFB5C9B
-:103DFC0010D161E8716223665C0FD1DD57665C01FE
-:103E0C00D1DD05F520F9EF4C665C02D1DD11E0C186
-:103E1C005003FDD62BC0711300711B207103036678
-:103E2C005C04D1DD11711300711B20D52DFC61F8E0
-:103E3C00710303FD4535665C08D161E871030350DD
-:103E4C0005FD49027102035003C1FDD62BC0711A46
-:103E5C0020FD762BF2C6D7C7200AFBF8FF401AF9D3
-:103E6C000ADC0452FFEF618F22F931150530040092
-:103E7C00EF0F8F22F9314505300500EF04D923F9F6
-:103E8C00F1609B8F08F99C018F24FD9C028F09F92E
-:103E9C009C038F0AF99C048F6CFC9C058F02F99C87
-:103EAC0006714420E661301271042061DC31196125
-:103EBC0062629C07CC08018F24F99C09A01AF9D9DD
-:103ECC001AF9F1B107148972100AC6D7C78F20F9F5
-:103EDC00318FE724000061F8EDAA4023DD1B23613C
-:103EEC00F8EDB23F2361F8ED2E402361F8ED7940F7
-:103EFC002361F8ED4C41EDA740D521F9DF2CF642BA
-:103F0C0060FCDD05F54AFDEF03A04AFD404AFD6566
-:103F1C00DC0ACF20F905710223EDCA41AF60FC44E5
-:103F2C000A0061D8EDCA41E521F9713223F54AFD49
-:103F3C00F5EFFBFDC904715320FDC5234023F903A4
-:103F4C00DF09710223F520F9EDCA41FD412640D964
-:103F5C00FB9BDE09710223F520F9EDCA41714A275A
-:103F6C007140110571301105713A22715A2271504C
-:103F7C001105FDC129D2DD09710223F520F9EDCA25
-:103F8C004171103500CF37001D714012054021F9E9
-:103F9C0001DF05F5F5FBEF04CFF5FB03CF20F902AC
-:103FAC00FDA729EDCA41FDA22CFD022D714A9DFDF4
-:103FBC004535FDBD30F537FF712BE0F521F9710268
-:103FCC0023CBE43FEFCBE6F6F0FDC904713BD47193
-:103FDC0012027123028F22F93105285004FDE72BC0
-:103FEC00625C03318E315D34DBFB89616899500270
-:103FFC00FDE72BD2DD067170DBFBEF047178DBFB88
-:10400C00FDC523FDB92D710822F9CF20F9038FCE00
-:10401C00FB5C02D1DD095080C15010FD0035C0EDB4
-:10402C00CA41FDCC4131642331A06EFCD56EFCDD60
-:10403C000831A4E00A31020C06712BE0FD4242313A
-:10404C00A4E01731040C13712BE05027C15005FD6F
-:10405C00D62BC0CF20F904710223FD37428F22F9F1
-:10406C0031250731040703F520F9EDCA41FDCC4198
-:10407C0031020C14F0C15005FDD62BC05005FD4982
-:10408C0002FD4242CF20F903FD37428F22F9312540
-:10409C000731040703F520F9EDCA41F520F9CFF5F6
-:1040AC00FB03F5F6FBF5F8FB715221F6426CFF6150
-:1040BC00E8EDCA41F6BF66FC710321F50CFCFD6C02
-:1040CC003BFD1F2EFDF92CFD572D714B9D711302DD
-:1040DC00712302F5DCFBF5DDFBF5DEFBF5DFFB31D7
-:1040EC00242102EFFACE3708CBE4BFFFCBE6FFF179
-:1040FC00CED4FFCF37000971481205F6BEE0BEE200
-:10410C00BED0716A27FD3B2A714307714B2771485A
-:10411C00100571481105713810057138110571338E
-:10412C0002713B22715302715B2271581005715858
-:10413C001105FD3205CF20F905713223F6BF60FC65
-:10414C00F521F931020729FDC523AF60FC440A00B3
-:10415C0061C8E520F9D523F961E8FD32058F22F914
-:10416C0031255B502EFD4902E521F9E520F9EF4E92
-:10417C00D504F9DF49FD3205FD4E2371730171320F
-:10418C000471430271032071522031949E02EFFAA4
-:10419C00712AE7CEA409F5F3003104070261FDE5AD
-:1041AC00F300CEA40831040709713323E520F9F597
-:1041BC004AFD712BE78F22F9312503F520F9C6D77B
-:1041CC00D56FFCDF1A310200155003FDE72B625C42
-:1041DC0001D1DF07F520F9710223D7E56FFCD74039
-:1041EC006FFCF0DF0831040041F56FFCD7406FFC29
-:1041FC00C8DF0BF520F9710223CF6FFCF0D7310229
-:10420C00000A406FFCFFDD22A06FFCD7F0C1500408
-:10421C00FDD62BC08FDBFB5C9F9FDBFB7110ECFB97
-:10422C0030F33DFD6E39CF6FFCF0D731042106F52C
-:10423C0020F9710223D7716323F56EFC717207FDAF
-:10424C00AF02717307D7FD9F05F2D7C7200CFBF89F
-:10425C00FF8F12FCF0F911FCF303FDCC4E13BC04E0
-:10426C008F14FCF0F913FCF303FDCC4E13BC028F3E
-:10427C0016FCF0F915FCF303FDCC4E13BBAC04BDDE
-:10428C00D8F6BDDAAC04311EBDDCF6BDDEFD2C0D5E
-:10429C00ADD8BDDCADDABDDEAC02BDD8F6BDDAAC56
-:1042AC0002311EDADCC3DADEC3BDDCF6BDDEFD2C6A
-:1042BC000DC0BDDEC0BDDCADDEFDA20EADD8BDDCDB
-:1042CC00ADDABDDEABBDD8F6BDDAAB311EDADCC380
-:1042DC00DADEC3BDDCF6BDDEFD2C0DC0BDDEC0BD1F
-:1042EC00DCADDEFDA20EDADAADD8FD5746C3C58FC4
-:1042FC000EFD5C3FF0317E048EFC14C2C0B9A00EE2
-:10430C00FDF6BC08BC0A9C078C074C2EDD3E8F0EBC
-:10431C00FD0E0770F161DC605C3FF0317E12798E2E
-:10432C00FCBDD8F6BDDA8C0773092422318FBDDCB5
-:10433C0070BDDEFD2C0DAC08BDDCAC0AFDA20EADD3
-:10434C00DABC0AADD8BC08615907EFBCAC08BDD8C3
-:10435C00AC0ABDDAC9DC0004F6FDF60DC9DCFFFFC2
-:10436C00F6FDF70EADD8BF88FCAF82FC4288FCDDB1
-:10437C0012AF84FCBF86FCAF82FCBF84FCAF88FC10
-:10438C00BF82FCAF84FC4286FCDC50AF82FC4284D2
-:10439C00FCDE48AF4CFD4282FCDE404050FD16DC9A
-:1043AC001F4050FDA0DE168F8AFC4F50FDDE0EAF75
-:1043BC0082FC228CFC44691061C8FD3044F550FD30
-:1043CC00AF82FC445146DC0BAF82FC241027BF4E5D
-:1043DC00FDEF1930F82ABF4EFDEF114050FDFFDD07
-:1043EC0003E6EF01F63450FD89610899AF86FC4273
-:1043FC0084FCDC1BAF84FC4282FCDE13AF82FC42EB
-:10440C004EFDDE0BF58AFCAF82FCBF8CFCEF11403D
-:10441C008AFCFFDD03E6EF01F6348AFC896108991A
-:10442C00100CC6D7717BFAC7710A9E31929E02EFAF
-:10443C00FA8E949F7AFC8E969F7BFC8E979F7CFCC9
-:10444C008E989F7DFC8E939F7EFC8E929F7FFC713D
-:10445C000B9E717AFA8F7DFCFD0B0F76FDD5451303
-:10446C00BF80FCD517FCDF0AD518FCDF05D519FC7D
-:10447C00DD2CF6B14280FCDF17665C0391DF03E6AE
-:10448C00EF01F6046D01313D120103B1BF80FC96C2
-:10449C0017FDF84613FD0F4531742302EF635206E6
-:1044AC009292697AFC6872FCDFF6AF80FCBF78FCF4
-:1044BC00F970FCF3311C7926F944FEFFDD43D97009
-:1044CC00FCF1010426F914A944FFFFDF04E6B9EF5F
-:1044DC000CD970FCF1010426F914A9A1B9A017FCA0
-:1044EC00D517FCDF1CA018FCD518FCDF14A019FC98
-:1044FC00D519FCDF0CCF17FCFFCF18FCFFCF19FC34
-:10450C00FFC6D7C716D970FCF10744A800DC0571AB
-:10451C007223EF1FF647DD1BA070FC4070FCA8DC7B
-:10452C0005717223EF0DF970FCF3311CF67826F946
-:10453C00B7EFE1C6D7C756A89666F0317E12F6B132
-:10454C007826F966D1DFF1F517FCF518FCF519FCA6
-:10455C00F570FC717323C6D7C72004FBF8FFD51A7E
-:10456C00F9DF188F70FC9F0FFD717BFA5206929247
-:10457C006972FC6810FDDFF6717AFA401AF906DEF2
-:10458C0010E91AF90910FD9C03A01AF98C0372EFBB
-:10459C0034F90FFDF3311C7926F9BB310224058B5C
-:1045AC009C03EF128C019C03D50FFDDF06CF0FFD92
-:1045BC00A7EF03B00FFD718071072461DC61FB7103
-:1045CC0001248C03721004C6D7C72008FBF8FF8F98
-:1045DC007DFCFD0B0F9C078F7CFCFD0B0F9C068F4D
-:1045EC007BFCFD0B0F9C058F7AFCFD0B0F9C048F45
-:1045FC007EFC9C038F7FFC9C028C06318E01127911
-:10460C005222BB8C075C03D1DF098C064C0361C8BA
-:10461C006179008C05318EB1610900BB313D12010D
-:10462C0003BB8B0E04708C011C00BB8F1CFC4E0357
-:10463C00DC0E8C034F1CFCDC0B8C024F1DFCDC04D1
-:10464C00AB12EF03ABB1121008C6D7C7C3C1200819
-:10465C00FBF8FFF661490A61F8614908DF07F73496
-:10466C000000EDF446E6BC04F6BC06AC0ABC02AC99
-:10467C0008BBAC06614902AC0461F8614900DE2854
-:10468C00AC04BDD8AC06BDDAE1FDB10EADDABC06AA
-:10469C00ADD8BC04ABBDD8AC02BDDAE1FDCC0EADDF
-:1046AC00DABC02ADD8BBEFCAAC06BC02AC04BBACE6
-:1046BC0008BDD8AC0ABDDAAC04BDDCAC06FD2F0ECF
-:1046CC00AC04BDDCAC06FDA20EE1FDCC0EADDABC3B
-:1046DC0006ADD8BC04AC06614902AC0461F8614972
-:1046EC0000DCC5AC0214AB12100CC6D7C7168F7504
-:1046FC00FCFD0B0F77614EDF22AF78FC4280FCDEB5
-:10470C0009AF80FC2278FC12EF41F64280FCDF08F6
-:10471C004278FCDD03E7EF33F7EF3017F1B11267A6
-:10472C00318E43DF1B665C0391DF03E6EF01F60479
-:10473C006D01313D1201032278FC0280FC12EF0B5B
-:10474C0067614EDE0532A900EF01F7C6D7717BFA1F
-:10475C003112240CF64218FDDD06B218FDEDF847B7
-:10476C00711324717AFA4020F904DF08715307F5AC
-:10477C0052FDEF78D9F7FBF1E7240000DD0F23DDC4
-:10478C001C23DD1123DD6223DD2E23DD4371530752
-:10479C00F552FDEF57715207F552FDEF4FD552FD13
-:1047AC00DF08715207E552FDEF06715307F552FD14
-:1047BC0030FA00BF18FDEF34D552FDDF0E715207F1
-:1047CC00E552FD30FA00BF18FDEF21F5F7FBEF1CA9
-:1047DC00D552FDDF0E715307E552FD30FA00BF18BC
-:1047EC00FDEF09CFF7FB02EF03FDF947D7D92FFCFB
-:1047FC00F1E7240000DD0923DD2723DD0A23EF2167
-:10480C00715307F552FDD7D552FDDF08715207E5FC
-:10481C0052FDEF06715307F552FD302D02BF18FD06
-:10482C00D7715207E552FDD731422101D77163216F
-:10483C00D9F5FBF1E7240000DD1223DD1923DD118E
-:10484C0023DD2623DD3423DD3923DD3FFDC048EF96
-:10485C003DFDE348EF38D9F4FBC1AE6CFD602DC0D3
-:10486C00F313BE6C712304EF25F0C1AE6CFD602D0B
-:10487C00C0F313BE6C712304EF14F6BE6C712204EA
-:10488C00EF0CCB6CFF00712304EF03FD604940205B
-:10489C00F905DD064020F901DF067123047163215F
-:1048AC003164210FF6BE64BE6A3124040390EF011B
-:1048BC00F6BE6ED7CF58FD47F51AFDAE6C317DBFF5
-:1048CC0020FDFD3549D2DF0ED9F4FBC1AE6CFD6085
-:1048DC002DC0F313BE6CD7FD3549D2DD0FCF58FD7B
-:1048EC0047F51AFDAE6C317DBF20FDD7E91AFD09E5
-:1048FC006C225080D6BF1CFD2220FDBDD830470055
-:10490C00FD570DBF1EFD301CFDFD762DF313BE6C47
-:10491C00B058FDD558FDDF10CF58FD47A01AFD400B
-:10492C001AFD1F61C8F51AFDD740D7FB0BDC0571CA
-:10493C002304F2D740D7FB0661D831322011F0C1E5
-:10494C00AE6CFD602DC0F313BE6C712204EF03FD41
-:10495C006049E2D7716221F0C1AE6CFD602DC0F3ED
-:10496C0013BE6CA022FD4022FD40DC3DF522FDD99A
-:10497C0023FDF1313F0454FD14D923FDF1BDD85072
-:10498C0008FDA60D087208E6D2DD040192DFFC8951
-:10499C006158D1DD05712204EF03712304A023FDBE
-:0A49AC004023FD2061C8F523FDD76C
-:1049B60061FC61FCC1C3C5C7520C929269D4FEC1A9
-:1049C600DFF88EFD708EFCC1717AFA4020F903DFA4
-:1049D6000630792AFD6E39C09EFC609EFD34D4FEF9
-:1049E6005206C0B9A5A592DFF9C6C4C2C061FC6172
-:1049F600DF520C929269D4FEC1DFF88EFD708EFCF8
-:104A0600C1717AFAC736410571A4C6DC51F526FD97
-:104A16007148500571605005313422367162077154
-:104A260033228FDCFB5FE4FBD1DF1B8FDDFB5FE511
-:104A3600FBD1DF128FDEFB5FE6FBD1DF098FDFFBE9
-:104A46005FE7FBD1DD0C31620702EFFA7163077194
-:104A56006B27710324FD6630F51AF9ED7E4BC736D8
-:104A660041057184C6DE0DF526FD71485005FD66CB
-:104A760030ED7E4BC73641057194C6DE0FD526FD57
-:104A8600DD0A4026FD0261E8716050058F26FD3182
-:104A96008FE7240000DD0823DD1323DD31EF597194
-:104AA60040500571505005E526FDED7E4B8F4005C3
-:104AB6009F1BF9715050058F1BF99F1EF9D91BF9E1
-:104AC600FD3D34629F1DF9CF26FD02ED7E4BC736B4
-:104AD60041057194C6DE1DC736410571C4C6DE06A2
-:104AE600CF26FD03EF127148500571605005F5267B
-:104AF600FDED7E4BCF26FD044026FD03DF138F1D03
-:104B0600F99F4005D91DF9C1D91BF9FDD134C0EF74
-:104B1600218F4005768F1BF901DC05D51BF9DF06D1
-:104B260071605005EF52C7D91BF9FDE730C07150CF
-:104B36005005D91EF9F1242900DD2D240400DD28B5
-:104B4600242200DD23241100DD0C240100DD1924BC
-:104B56001E00DD14EF0C401BF960DF0CCF1BF96162
-:104B6600EF06F51AF9A01BF94026FD03DF0AD91B4B
-:104B7600F9FD3D34629F1DF9C09EFC609EFD34D454
-:104B8600FE5206C0B9A5A592DFF961FCC1C7717ACC
-:104B9600FA714AE5717BBD51405F0401D1DD06F62D
-:104BA60016A747DFF2300400BF2401F6BF2A013002
-:104BB6000B0BBF28010000000000000000510FBFD2
-:104BC60028010000000000000000500FBF280171FE
-:104BD6000AE6712321C6C061FCC1C5717AFAD544C3
-:104BE600FBDD0EEB42FB899E44A242FBB044FBEF89
-:104BF60033710AE6300400BF2401F6BF2A01300BE8
-:104C06000BBF28010000000000000000510FBF2864
-:104C1600010000000000000000500FBF28017113C2
-:104C260021712321C4C061FC61EF520C929269D4B8
-:104C3600FEC1DFF88EFD708EFCC12006FBF8FF7109
-:104C4600503002CEABACCC0100F6BC0231B2E20F62
-:104C5600617902F6614902DFF371603002EF7E8E00
-:104C6600519B713BE28B5C02D1DD1D8B5C08D1DF71
-:104C76000971503002CC0100EFCF8C0570FDAC35C8
-:104C8600629E50CC0102EFC18B5C03D1DF408E5097
-:104C96009C04715030028C01D1DF0E8C0470FDF241
-:104CA60035629C05CC0101EF318C014C02DF0671A7
-:104CB600603002EF28CF34025A716030028C0470E3
-:104CC600C18C0570FD5335C0CF34024AEF0F8B5CA3
-:104CD60001D1DD0671603002EF03ED4F4C1006C0C6
-:104CE6009EFC609EFD34D4FE5206C0B9A5A592DF97
-:104CF600F961FCC1C3C5C7520C929269D4FEC1DFEB
-:104D0600F88EFD708EFCC1710A9E31929E02EFFAFA
-:104D16008F06FC4F96FFDF198F07FC4F97FFDF11B9
-:104D26008F08FC4F98FFDF095004C15011FD003574
-:104D3600C0710B9EC09EFC609EFD34D4FE5206C020
-:104D4600B9A5A592DFF9C6C4C2C061FCA046FC6144
-:104D5600FCC1C3C5C7520C929269D4FEC1DFF88E5E
-:104D6600FD708EFCC1C1FBF8FF8D1F9C018E313199
-:104D76008EE7240600DD0823DD0F23DD25EF4571D0
-:104D86007AFA8C019F3CFCEF3B717AFA4023F901D9
-:104D9600DF078C019F3BFCEF2B51FF2E019F3BFC55
-:104DA600EF22717AFA8C019F02F98FDAFB5C01D14E
-:104DB600DF124020F903DD064020F904DF06308DBE
-:104DC60025FD6E394031FF09DE05A031FFEF19716F
-:104DD60058F0007142224044FC02DF03F6EF05D989
-:104DE60044FCF1A1609F44FC710BE3C0C09EFC60D3
-:104DF6009EFD34D4FE5206C0B9A5A592DFF9C6C4FD
-:104E0600C2C061FC61FF520C929269D4FEC1DFF808
-:104E16008EFD708EFCC1717AFA8F0CFC5C03D1DDBD
-:104E2600194020F903DD064020F904DF0D36100590
-:104E360071D4DE0630A33AFD6E39C09EFC609EFD3D
-:104E460034D4FE5206C0B9A5A592DFF961FC61FC17
-:104E560061FC61FC61FC61FC61FC61FC61FC61FC64
-:104E660061FC61FC61FC61FC61FC61FC61FC61FC54
-:104E760061FC61FC61FC61FC61FC61FC61FC61FC44
-:064E860061FC61FC61FC0F
-:0A4E8C0000060C12181E242A30360E
-:104E9600FF000000D4FB0000000040FC0000000002
-:104EA600EB3B3F368C223448372EF22E5947613D74
-:104EB6001209D83E01000000983AF82AFF000000C7
-:064EC6005555555547004B
-:084ECC00317503F7332312D7FF
-:024FF400013684
-:0A4FF60031353A31363A3139000006
+:10228C00D512F9DD0D8FF2FCB0F2FCD1DF4DCFF29F
+:10229C00FC1EFD4623FDE82231325C0D31045C0945
+:1022AC0031126005713304EF03713204FD1F2331C9
+:1022BC00225C05714202EF03714302D428DD05B4A0
+:1022CC0028714202314402067140C9FBEF04714887
+:1022DC00C9FB4012F90161E8FD1426D74A264BDCF4
+:1022EC00134A26B9DE0E4004F928DE04A004F9D7FF
+:1022FC0071335CD74A263EDC054A26BDDC0E400510
+:10230C00F928DE04A005F9D771325CD7F504F9F58C
+:10231C0005F9D73122600E4006F902DE04A006F959
+:10232C00D771235CD73132040A40C5FB3CDE047103
+:10233C00235CD771225CF506F9D7C7C1FBF8FF7196
+:10234C00445C711760DE5771146071415C3114602C
+:10235C00127130C9FB5002C15011FDB534C0CD28EB
+:10236C0032EF3B7138C9FBE0C15011FDB534C0F4FC
+:10237C002817C15002FD532BC0D2DF0D8B318E318B
+:10238C008D080E01081C00BD2AAD2A44009BDC05FB
+:10239C00D5C5FBDF095020C15011FDB534C0C0C6F6
+:1023AC00D7C78D2076FDEF23D515F9DD0571035CBC
+:1023BC00EF2FFD872B664B2061F831545C1A71535B
+:1023CC005CFDC304664C07DD0381DF098F14F93112
+:1023DC000303FD7824FD8C2471025C306825FD021A
+:1023EC0039C6D7C77162017172015005FD470250A1
+:1023FC0008FD7F37629D265009FD7F376276716339
+:10240C0001711814F94A26F1DC05E515F9EF224A99
+:10241C002604DE1ACF15F9025008C1506CFDD1020A
+:10242C00C092DF0DD437DF09711014F9EF03F515E5
+:10243C00F94015F901DF05710A22EF06710B2271C3
+:10244C000302CD20075700674C08DE107309D22118
+:10245C00614EDC05679D20EF0387EFEB4A2007DF19
+:10246C0009D515F961F8CF15F903C6D7500AFD4700
+:10247C0002304000C15006FD362BC05096ED47028D
+:10248C00C72006FBF8FFD515F961E8ED6425304A45
+:10249C0057C1503EFD362BC0D2DD077100C8FBED95
+:1024AC0064257108C8FB17A1C15004C1500CC15060
+:1024BC006CFDF9021006EA2EAA48318D12AA483199
+:1024CC008E616B08616A08C1500EFD362BC0F69008
+:1024DC00C1500CFD362BC0CC00008B4C04DE2631D9
+:1024EC00245D02EFFA71125DEA2E8B5010D605C1F5
+:1024FC005010C18BD6044000C1506CFDA1031006D6
+:10250C00615900EFD550A5FD4702EA2EAA48318D3E
+:10251C0012AA48318E616B08616A08C1500EFD36F3
+:10252C002BC050A5FD47025004C1506CFDD102C018
+:10253C00629C05EA2E8A4B4E0561C3048A4A4E05FD
+:10254C0017A1C15004C1500CC1506CFDA103100661
+:10255C00F6C1503EFD362BC01006C6D7C78F07F903
+:10256C004B2661F8ED11264009F928DE06A009F981
+:10257C00ED1126F509F98D269F07F98D265070D699
+:10258C0012307351230480001231FF318E039F08E7
+:10259C00F99FC4FBF68F08F97C804C95DC1C8F08E6
+:1025AC00F9318F241400EA2EBDD8AA44FDE00D1297
+:1025BC0031FF318E03318F16EF1A8F08F9318F24CA
+:1025CC001400EA2EBDD8AA46FDE00D1231FF318E63
+:1025DC0003318F16EA2E8A427217F3031644000158
+:1025EC0071FE61C836FF001701DE02F61617BD4EEC
+:1025FC00C7500CFD362BC0D2DF078D269F07F9EF95
+:10260C00047100C8FBF2C6D7C72008FBF8FF4015C1
+:10261C00F901DD064015F902DF3217040600FD2E24
+:10262C002CD2DF0A8C069C058C079C04EF06CC058B
+:10263C0063CC040017040600FD4B2CD2DF078C067C
+:10264C009FC7FBEF04CFC7FBC8ED43271704060059
+:10265C00FD2E2CD2DD107100C8FB71035CCC050083
+:10266C0071025DED1C278C06318E318D080E07082A
+:10267C001C00BD2AEA2E8A4072AD2AFD330FBD2AFA
+:10268C008D2B9C06D1DF08CC0601CC0700EF048D06
+:10269C002A9C0717040200FD4B2CD2DF738C029F7F
+:1026AC00C7FB8C02318E318D080E03081C00BD2A2D
+:1026BC004401A5DC09CC0164F6BF0AF9EF52AD2A3E
+:1026CC00220AF94401A0DC09CC011EF6BF0AF9EF7D
+:1026DC003FAD2A44819DDC0BCC010A30F401BF0ACA
+:1026EC00F9EF2DAD2A44019BDC0BCC010530F40134
+:1026FC00BF0AF9EF1BAD2A440191DC0BCC01003071
+:10270C00F401BF0AF9EF0971025D30F401BF0AF957
+:10271C003132040C31245C08CC0564CC0400EF1776
+:10272C008C064E01DE0A8C069C058C079C04EF0778
+:10273C008C019C05CC04008F14F9313503CC056455
+:10274C008C059FC5FB8C049FC6FBFDBB2B8F0CF926
+:10275C004E05DD2B40C5FB0BDE06400CF90BDE16DF
+:10276C0040C5FB06DE06400CF906DE0AD5C5FBDFCC
+:10277C000ED50CF9DD095020C15011FDB534C08FB8
+:10278C00C5FB9F0CF9FDF82B1008C6D7C7D830C174
+:10279C005002FD6B2BC04016F90161F87120100539
+:1027AC005012FD47028D306C0870C15002FD6B2B2E
+:1027BC00C05003FD47028D306C1870C15002FD6B88
+:1027CC002BC05016FD47025003FD7C2B625C01D1DF
+:1027DC00DD107170C9FB5002C15013FDB534C0F24D
+:1027EC00EF01E2C6D7C75004FD7C2B625C03D1DD40
+:1027FC00405014FD882834C9FB895C9F998A0C7C55
+:10280C00FF50FF5C14D1DD228A0C7CFF5C14723407
+:10281C00CDFB89616A9971620756003162070586A2
+:10282C0066D1DFF7716307716B2734DCFB895CEBD6
+:10283C0099712810055002FD7C2BD2DD354016F91C
+:10284C0001DF05500AFD47028D306C1070C150023B
+:10285C00FD6B2BC0E0FD4702D830C15002FD6B2B45
+:10286C00C05033FD4702F0C15002FD6B2BC0717894
+:10287C00C9FBE0C15013FDB534C0C6D7C7C1200495
+:10288C00FBF8FFCC02005004FD7C2B629C038C04F3
+:10289C005C20D1DD0E8C036C019C038C026C209CA3
+:1028AC0002EF138C045C10D1DD0C8C035CFE9C03DA
+:1028BC008C026C109C028C045C08D1DD0E8C036CB9
+:1028CC00029C038C026C089C02EF138C045C04D1F8
+:1028DC00DD0C8C035CFD9C038C026C049C028C0351
+:1028EC00D1DD05501AFD47028C0370C15004FD6BFD
+:1028FC002BC08FC9FB5C9F728C03318E316D148C95
+:10290C0003318E314D616D08616C5C606162629F58
+:10291C00C9FB8FD5FB7CFF50FF5E02D1DD278FD525
+:10292C00FB7CFF5E027234CDFB89616A9971620790
+:10293C00CC0100316207086159018C01D1DFF471BF
+:10294C006307716B27F21006C6D7D9BDFBC15006C1
+:10295C00FD6B2BC0D9BEFBC15007FD6B2BC0D7FD47
+:10296C005629F2D7C7711300711B20710303710232
+:10297C0005E0C15003FD6B2BC05013FD4702F0C1A5
+:10298C005005FD6B2BC0500FC1E0FD6B2BC0500AE6
+:10299C00FD47027103055008FD4702501FC1E0FDC1
+:1029AC006B2BC05012FD47025003FD7C2B625C0167
+:1029BC00D1DF03E2EF24F0FD7C2B629D2C3602F973
+:1029CC00C75008FD532BC05003C1FD6B2BC07102C7
+:1029DC0003711A20FD132BF427F2C6D75003FD7C8C
+:1029EC002B625C01D1DD155014FD8828FDF12750B8
+:1029FC0014FD4702E0C15003FD6B2BC07113007135
+:102A0C001B207103035014FD4702F0C1E0FD6B2B3A
+:102A1C00C0F0C15003FD6B2BC0D7C72004FBF8FFDF
+:102A2C00CC02008D279C035010C150A4FDD102C0D4
+:102A3C00629D27D437DD04F2EDF02A8C037B275CF2
+:102A4C0008D1DD0F8D275C08D1DF05CC0210EF0318
+:102A5C00CC02208C037B275C04D1DD158D275C0414
+:102A6C00D1DF088C026C049C02EF068C026C089C73
+:102A7C00028FC8FB5CF3728D275C0C6162629FC88D
+:102A8C00FB8FD4FB7CFF50FF5E029C02D1DD1F3418
+:102A9C00CCFB896E0299716207CC01003162070888
+:102AAC006159018C01D1DFF4716307716B278D279C
+:102ABC005C40D1DD095002C15012FDB534C08D27E8
+:102ACC005C01D1DD08E0C15012FDB534C0717AFA59
+:102ADC008D275C41D1DD0C5A27BED827C15010FD83
+:102AEC005205C0F21004C6D7FD9827F2D7FDF12786
+:102AFC00F2D7C78FDCFB7617FD8828664FDCFBDF2F
+:102B0C00F2F5DCFBF2C6D75064FD4702FD632C6284
+:102B1C0061FB71115CF171145C61DC70C15012FDD0
+:102B2C005205C0FD5B36CD3D03D7C7C1C1FBF8FFD5
+:102B3C00AC0ABB17C15002C18C0270C1506CFDA114
+:102B4C000310061004C6D7C7C1FBF8FFAC08C15070
+:102B5C0002C18B70C1506CFDF9021006C0C6D7C7FC
+:102B6C008806166770C1C75084FD6B031004C6D766
+:102B7C00C716C75084FDD102C0C6D7C74A2004DE91
+:102B8C00045600EF0256014016F901DF048686EF69
+:102B9C000A4016F902DF045104610666318F1250A7
+:102BAC004CD633514CD6610A040A20BD2EC6D740F0
+:102BBC00C5FB51DC05CF1CFC0FD740C5FB33DC0536
+:102BCC00CF1CFC0BD740C5FB0BDC05CF1CFC07D77F
+:102BDC0040C5FB0661D831320405CF1CFC03D7D5A8
+:102BEC00C5FBDD04E51CFCD7F51CFCD7D512F9DFC1
+:102BFC000471635CD7FD632C6261FB71715C7114B1
+:102C0C005C71775C61C831625C1771625C71745C79
+:102C1C0071115CF171745C61DC70C15012FD520574
+:102C2C00C0D7C7164010FCFFDD0C8F10FC9B17148F
+:102C3C00CA0100F2EF07C75004FD532BC0C6D7C71B
+:102C4C00164011FCFFDD078F11FC9BF2EF07C750FC
+:102C5C0002FD532BC0C6D740C5FB0BDE02E2D7F2F8
+:102C6C00D77100010571785005713AD5713BD1715E
+:102C7C003ADD713BD98F10055CFC9F1005CF5405D4
+:102C8C004AE5420571104205710042057148500534
+:102C9C007130500571205005CF530505CF52050AF0
+:102CAC007130510571205105713BD5717050058FF4
+:102CBC0011055CFC9F1105D7717850057108010551
+:102CCC00D77140F00071783002713AE6713BE271D5
+:102CDC003BEA713BEE8F10055CFC9F1005CF340274
+:102CEC004AE552FF711A52710A5271483002713022
+:102CFC00300271203002CF330205CF32020A71301C
+:102D0C003102713BE6717030028F11055CFC9F1132
+:102D1C000571603002D7717830027148F000D7C766
+:102D2C0088061666614FDD0967614EDE0396EF017A
+:102D3C00866672C6D7C7161714AA0412A943DD29D2
+:102D4C00AA0412A923FD7A4EC3AC02FD7A4E13C21B
+:102D5C00BDD813FDB00FDE0C1714AA0212AA04037F
+:102D6C00BA04EF051714A9BA04AC041231FF319E52
+:102D7C0003317F087208C6D77100F200304400BFDF
+:102D8C00B601300188BF9001300984BF9E01BF9C01
+:102D9C0001BF9A01BF9801BF9601BF9401BF920178
+:102DAC00F53CFF30FE00BFBE01F6BFBC01BFB80151
+:102DBC0050EEBFBA01A1BFB201C918FE00F6BE6E3B
+:102DCC00BE64BE6A7123047153078F14F931050771
+:102DDC00F5E3FBCB6CFF0071535D71425DD730EFB7
+:102DEC0000BFB401F6BFBA017108F200712304717F
+:102DFC00530771435DD78F9AFBB09AFBD1DF7331C8
+:102E0C00D4D106715BD1E59CFBD59CFBDD347140C4
+:102E1C00C8FBD99BFBF1E734020023DD0625DD035B
+:102E2C0025DF05F6BE66EF06D9E2FBF1BE66A09B78
+:102E3C00FB409BFB20DF06F59BFBB09CFBCF9AFB7A
+:102E4C0019D7CF9AFB1E7148C8FBD5E4FBDF04F6FB
+:102E5C00BE66D7D9E2FBF14266FFDD16D9E2FBF183
+:102E6C0012AE6643DE05A266FFEF03B266FFCF9A91
+:102E7C00FB03D7C7161714F6B9AA0412F62312319E
+:102E8C00FF31AE03316FBA02C6D7C7C1FBF8FF8C56
+:102E9C00085080D612AB1413B9AB14AA0412A92390
+:102EAC0012D937FBF133BDD813FD1C0EBA02C0C6C4
+:102EBC00D731645D01D74012F902DF10F6BE64BE53
+:102ECC006EBE6ABFA4FBBFAAFBBFB0FB31545D153D
+:102EDC0030A0FBFD7F2E30A6FBFD7F2E30ACFBFD22
+:102EEC007F2EED712F31745D0F71735D7108E8FBEE
+:102EFC00F59EFBF59DFBEF6DD59DFBDF658F36FBDE
+:102F0C009F9DFB409EFB1FDC1A7100E8FB4038FBC9
+:102F1C00FFDD22A09FFB8F38FB4F9FFBDE17F59E3A
+:102F2C00FBEF12D99EFBF1A1605C1F9F9EFB710809
+:102F3C00E8FBF59FFBE99EFB093AFB70C130A0FB57
+:102F4C00FD962EC0E99EFB095AFB70C130A6FBFD15
+:102F5C00962EC0E99EFB097AFB70C130ACFBFD9646
+:102F6C002EC0B09DFB30A0FBFD412DF313BE6E3087
+:102F7C00A6FBFD412DF313BE6A30ACFBFD412DF3D6
+:102F8C0013BE64D7C736F00071F4DC297170F00001
+:102F9C00CE9D08CE9EC0CE9F80F594FFF593FFF595
+:102FAC0092FFE597FFE596FFE595FFE598FFCE9C30
+:102FBC007F7100BCFB711BE3712BE3711AE7712B62
+:102FCC00E7717A9D710A9E31929E02EFFA710B9E07
+:102FDC0071035E71135E71235EC6D7C731025E1E2C
+:102FEC0071025E710A9E31929E02EFFA34EAFB3650
+:102FFC0092FF52078B99A5A792DFF9710B9EC6D74A
+:10300C00C788061631125E1571125EC734B2FB30DA
+:10301C0092FF1652078B99A5A792DFF9C6667367C4
+:10302C0018B2FBC6D7C771035E31145E1E71135EF6
+:10303C00710A9E31929E02EFFA3492FF36B2FB5225
+:10304C00078B99A5A792DFF9710B9E31245E137142
+:10305C00235E717B9E8FF2FB9E9A8FF3FB9E9B717E
+:10306C007A9EC6D7CFBDFB5CCFBEFB5FCFDEFB5DD0
+:10307C00CF12FC36CF13FCC9E5E9FBD7C7CFBAFB9F
+:10308C0011CFBBFB37CFE2FBFFF5E3FBF5E4FBF520
+:10309C00E5FBF5E6FB5600664C64DE08723836FB41
+:1030AC000086EFF3C6D7C788061617F1E73403007E
+:1030BC002361E3EDE6332361F8ED9431B12361E351
+:1030CC00ED9B312561F8EDAA31B1240D0061D8EDED
+:1030DC00E633240B0061F8EDCB312361F8ED1232AD
+:1030EC002361F8EDDF312361F8EDAA33240600618A
+:1030FC00F8ED7B32B12561D8ED973224000061F8F0
+:10310C00EDA4322361F8EDE6332361F8EDC433B15D
+:10311C002361E3EDC7322361F8EDD8322361F8ED7A
+:10312C00E9322361F8EDD8322361F8EDFA322361EC
+:10313C00F8ED0B332361F8ED1A332361F8ED3C33D2
+:10314C002361F8ED48332361F8ED54332361F8ED36
+:10315C005D332402002361E3EDE63324020061F8C1
+:10316C00ED66332361F8ED73332561F8ED7F33247D
+:10317C000A0061F8ED8B3324120061F8EDA53323BE
+:10318C0061F8ED9633EDE933679FBCFBEDF6333018
+:10319C006B29FD023966736718BAFBEDF63340BF35
+:1031AC00FB6ADF1440C0FB68DF0E674C6CDF093034
+:1031BC002942FD0239713AD5679FC1FBEDF63367A1
+:1031CC00D1DD0630353DFD023934DAFB89616F996A
+:1031DC00EDF633675C02D1DD0830F42AFD0239EFDD
+:1031EC000C675C01D1DD0630F92AFD0239675C3CC5
+:1031FC00D1DD1030FE2AFD0239675C3C72667362C9
+:10320C0018BAFBEDF63367D1DD625C01D1DD053018
+:10321C000800EF01F6609F19FC675C02D1DD03E644
+:10322C00EF01F63419FC89616899675C04D1DD04FF
+:10323C00E6A1EF01F63419FC89616899675C08D145
+:10324C00DD05302000EF01F63419FC8961689967BF
+:10325C005C10D1DD05301000EF01F63419FC8961EA
+:10326C006899675C20D161E8716019FCEDF633D484
+:10327C0032DF08679FE3FBA432EF0D4A3205DE080C
+:10328C00E83267181FFDA432EDF633675C0F7266E7
+:10329C00736218BAFBEDF6334A3264DE1B4A320114
+:1032AC00DF0667D161F85701E832671836FBA432A4
+:1032BC004A320561C871725DEDF633675C7F70C18F
+:1032CC0017F1243000FD0C30C0EDF633675C3F7015
+:1032DC00C117F1243000FD0C30C0EDF633675C07EC
+:1032EC0070C117F1243000FD0C30C0EDF633675C73
+:1032FC001F70C117F1243000FD0C30C0EDF63367A0
+:10330C0070C117F1243000FD0C30C0EDF633CEAB9C
+:10331C00AC710A9E31929E02EFFAD592FFDF0571D5
+:10332C000B9EEFED679E99710B9E9FF1FBEDF633B3
+:10333C0071225E675C7F9FF2FBEDF63371225E6754
+:10334C005C3F9FF3FBEDF633675C3F9FF4FBEDF6C0
+:10335C0033675C1F9FF5FBEDF63330003BFD023904
+:10336C00679FFAFBEDF63330BB3AFD0239679FFBE2
+:10337C00FBEF7730DD3AFD0239679FFEFBEF6B67A1
+:10338C005C01D161E8FDF744EF604A38C8DE08E81B
+:10339C0038671868FAA438EF51679D38EF4C6731DD
+:1033AC008E247000DD0D240200DF3F30FE08FD028C
+:1033BC0039EF37FDF743EF32675C01D1DD05711250
+:1033CC0002EF03711302675C02D1DD05712202EF7B
+:1033DC0003712302679FE9FBEF1000EF0D664C5B56
+:1033EC00DE07736718BAFBEF0100C6D7C716664C29
+:1033FC0030DC094C37DE05FDE72FEF6E664C02DF43
+:10340C001F8FBCFB5C03728F1BFC5C03318E316D18
+:10341C0008616A08128F1BFC5C80312A6162EF59CB
+:10342C00664C3DDF0AAE90BF16FCF916FCEF4A66FF
+:10343C004C3EDF05F917FCEF40664C4FDF05FD19DC
+:10344C0045EF36664C61DF08E8380968FA72EF29F7
+:10345C00664C7FDF05FDA53DEF1F664C4EDF0B3143
+:10346C00645F045210EF12F2EF0F664C5BDC0452F7
+:10347C00FFEF06667309BAFB72C6D7C78806161724
+:10348C00F1241000240500DC07244C00DD17EF1795
+:10349C00717BFA17F104BAFB1489617F99717AFA7E
+:1034AC0071325EEF02A438C6D7C7C1C1FBF8FF402A
+:1034BC0012F903DD064012F904DF2F8C027309C2E6
+:1034CC00FB5E0AD1DF248C02318E04BAFB14896EA8
+:1034DC000A99716207CC0100316207086159018CAD
+:1034EC0001D1DFF4716307716B271004C6D7CF1BB2
+:1034FC00FC03F519FCF51DFCF51FFCD7C788061657
+:10350C0017F1E734020025DD3D23DD1725DD1C23F3
+:10351C00DD0523DD2BEF3B71625E679F1EFCCD3D0D
+:10352C0003EF2F675C839F1BFCEF27675C039F1DDA
+:10353C00FC675C034C0261F8710260FD0C47EF12F2
+:10354C00679F1FFCEF0C6791DF08E0C15012FDB5BF
+:10355C0034C0C6D7C71617F1E7240000DD2A23DDD7
+:10356C001E240300DD0724FB00DD24EF253112604F
+:10357C0005308000EF01F6086F1CFC7208EF198F04
+:10358C0019FCF519FC72EF1071425F5235EF09F21C
+:10359C00EF0666730918FC72C6D7C71617F1E72435
+:1035AC000000DD38241000DD1C23DD1C23DD30245D
+:1035BC000E00DD18241100DD1B240F00DD12243059
+:1035CC0000DD15EF1EE2EF1D5202EF195204EF154C
+:1035DC005206EF115205EF0D5207EF09F2EF0652AA
+:1035EC0003EF0252FFC6D7C731445E3771435E8D7D
+:1035FC003C9FC2FB8D3B9FE1FB36FCFCC7D83BFDDF
+:10360C00B037618A70618AFDF537C0D840F1312F2F
+:10361C00609D3F8D3A4B3FDD0A71525E8D3F9D3A66
+:10362C00CD3D034A3D05DE09306536FD0239CD3D01
+:10363C006BB43D7150F000CE300BCF170006CE317D
+:10364C0006FDAD02717A30710BE3710BE7C6D78DB5
+:10365C003F9D3A8D3F9FC3FBD74012F903DF0640D5
+:10366C0012F904DF02F2D731545E0D71535E71739F
+:10367C005E8D3F9F28FCEF3831645E2371635E7171
+:10368C00725ED51EFCDF05F529FCEF0B8F1EFC507E
+:10369C0002D6A1609F29FC8F29FC9F28FCEF1131D9
+:1036AC00745E088F29FC9F28FCEF058D3F9F28FC3A
+:1036BC008F28FC9FC3FBD928FCFDD836E928FC09D0
+:1036CC00DA2170C15013FD5205C0F2D7C7C1C1FB3E
+:1036DC00F8FF8C02D1DF05F51EFCEF1A8C024C05AD
+:1036EC00DE06CF1EFC02EF0E8C02318E1231FE0371
+:1036FC00311F609F1EFC8F2AFC4F1EFCDD29CC0164
+:10370C001F8F1EFC9F2AFCCC00008B4C08DE148BF8
+:10371C0073091A224F1EFCDC058B9C01EF056159C5
+:10372C0000EFE78C019D3E1004C6D7C7168B728C38
+:10373C0001614ADE1F8B728C02614ADE138C0172AE
+:10374C008C02614ADE058C0172EF268C0272EF212D
+:10375C008B72EF1D8B728C02614ADE048B72EF113F
+:10376C008C01728C026142DE058C0172EF038C02BB
+:10377C0072C6D7C716710AE7710BE37150F000CE11
+:10378C00300BCF170006669E31FDAD02717A307199
+:10379C000BE33182E302EFFA8D1F7158F000710BCD
+:1037AC00E772C6D7C7C1C1FBF8FF8F12FC4E02DC13
+:1037BC0003F2EF318C024F13FCDC0452FFEF268C2A
+:1037CC00022F12FC706131318D128F13FC2F12FC01
+:1037DC0070613133BDD813FD3E0EBB440001DC03D8
+:1037EC00F690BB8B721004C6D7C7C1FBF8FFAC08B0
+:1037FC0014A91489708B6128706131FD7A4E1344C1
+:10380C00030071FEDC23AC08148A04819A04AC0812
+:10381C00148A044C11DC10A9148B99AC0814CA023C
+:10382C0000AC0814CA0310EF72AC0814CA0400AC44
+:10383C000814A914894DDE0AAC08148A02819A0274
+:10384C00EF12AC0814A914894D61D308AC08148A82
+:10385C0002919A02AC08148A03919A03D1DF3CAC12
+:10386C0008148A024C10DF10A91489318EA112ACF5
+:10387C000814A9146299EF17AC08148A024CF0DFF3
+:10388C000EA91489318EB112AC0814A9146299AC2A
+:10389C000814CA0200AC0814CA0310C0C6D7EDED58
+:1038AC0038717BFAC7D44261F831045F2E71045F22
+:1038BC0071215F71035FD442DD05B442CEABAC71B4
+:1038CC007AFA5600664C0ADD1272F3311C7902FD4D
+:1038DC00CEFC0061CAFD4C3986EFE9717AFAF2C66A
+:1038EC00D7C75600664C0ADE0BF0317E12F6782CE8
+:1038FC00FC86EFF0C6D7C7C1C1FBF8FFCC01008C2A
+:10390C00014C0ADE36717BFA8C01F0317E042CFC02
+:10391C0014A96168DF09AC02B9717AFAF2EF1D8C57
+:10392C0001F0317E12792CFC614902DF06717AFAC2
+:10393C00E2EF09717AFA615901EFC4E21004C6D7BB
+:10394C00C72004FBF8FFF6422CFC61F8ED313A710C
+:10395C007BFA9C038C034C0ADE3C8C03F0317E0416
+:10396C002CFC14A96168DF05717AFAEF29717AFAD7
+:10397C008C0372F3311C792CFCCEFC0061CA629C66
+:10398C0002D1DF0A8C03F0317E12E6782CFC717BBD
+:10399C00FA615903EFBECC0200CC01018C02F0316C
+:1039AC007E042CFC14A96168DD7B8C02F0317E1244
+:1039BC00792CFCE743DF688C014C0ADE628C01F049
+:1039CC00317E12792CFCE743DD50717BFA8C01F0CF
+:1039DC00317E042CFC14A96168DF1B616901717BC9
+:1039EC00FA8C01F0317E12F6782CFC717AFA8C028A
+:1039FC004E01DCE7EF2F8C01F0317E042CFC14A976
+:103A0C00128C02F0317E33782CFC8C01F0317E125A
+:103A1C00E6782CFC615902717AFA615901EF9861D0
+:103A2C005902EDA83900F21004C6D7C72006FBF8DE
+:103A3C00FF34FFFBC55006C150A8C15030FDF90240
+:103A4C001006D2DD1DA040FC4040FC08DE03E2EF76
+:103A5C005A34FAFB895CFC99FD003B7110C8FBF2EF
+:103A6C00EF49F540FC8FFAFB5C01D1DD264012F9E1
+:103A7C0003DF205010C180FDB534C0C7361005716E
+:103A8C00D4C6DE0F17C15006C150A8C15030FDF985
+:103A9C000210064012F901DD114012F905DD0B8F01
+:103AAC00FAFB5C02D161E8FD2E42F21006C6D7D9B2
+:103ABC00FBFBC15030FDD102C0629FFEFB7130CBCD
+:103ACC00FB8FD3FB5C08D1DF06716307716B27F2A8
+:103ADC00D7D9FEFBC1D9FDFBC15030FD6B031004DF
+:103AEC007130CBFB8FD3FB5C08D1DF0671630771A0
+:103AFC006B27F2D7C7200AFBF8FF500FC15030FDDF
+:103B0C00D102C04A3702DF077110C8FBF2EF5F71B8
+:103B1C0018C8FBCC07004015F901DF05CC0802EFF3
+:103B2C0003CC0810CC09808FFAFB5C03D1DF087141
+:103B3C007AD5CC0607EF06717BD5CC062F17040679
+:103B4C0000C15004C150A0C15030FDA1031006C7E4
+:103B5C0036100571D4C6DE154012F903DF0F17C1FC
+:103B6C005006C150A8C15030FDF9021006F2100ADF
+:103B7C00C6D74012F902DF03F6BD44B016FDD516C8
+:103B8C00FD61E8EDA43CCF16FD048F12F9318FE7EF
+:103B9C0023DD0B24020024030061C8EDA43C8F1428
+:103BAC00F931233F301B004644DF0AE0C15010FDC1
+:103BBC00B534C0EF1D3077014644DF165002C150BA
+:103BCC0010FDB534C0F6464ADF088FDEFB5010D628
+:103BDC00BD4AF6464ADD37B64AE6464ADF30710240
+:103BEC005DEF2B301B004644DF13F6464CDF18E02C
+:103BFC00C15010FDB534C0C94CE803EF0A30770151
+:103C0C00464461F871025DF6464C61E8B64C3134BD
+:103C1C00600871335FF6BD44EF1431345F05F6BDB7
+:103C2C0044EF0BA644F6464461F8C944FFFF314209
+:103C3C0060194A4605DE16A4464A4605DF0FA4461F
+:103C4C005004C15010FDB534C0EF02F4463144604D
+:103C5C00194A4805DE16A4484A4805DF0FA4485007
+:103C6C0008C15010FDB534C0EF02F448D449DD034F
+:103C7C00B449D7315260174A4705DE14A4474A4766
+:103C8C0005DF0DA4475010C1FDB534C0EF02F44759
+:103C9C004A470661F8CD4925D7C736100571D4DEE1
+:103CAC000730373AFD0239D24012F903DF1D3122B9
+:103CBC00070630262AFD023931445F0C71435F50F0
+:103CCC0080C15012FDB534C0FDDC3CFD073DC6D7AC
+:103CDC008F1BFC5C01D1DD22D545FCDD04B045FC1D
+:103CEC00D7CF45FC098D3E4F44FCDD0E8D3E9F44E5
+:103CFC00FC5040C15012FDB534C0D74012F903DD61
+:103D0C0004F6BD1AD7D5E6FBDF08F6461ADD19B660
+:103D1C001AD7D9E2FBF1461ADD0ED9E2FB12AD1A25
+:103D2C0043DE03A61AD7B61AD7C78FDAFB76F5DAB5
+:103D3C00FB5C10D161E871525F665C0FD1DD576698
+:103D4C005C01D1DD05F512F9EF4C665C02D1DD1199
+:103D5C00E0C15003FD6B2BC0711300711B2071036C
+:103D6C0003665C04D1DD11711300711B20D51BFCA3
+:103D7C0061F8710303FDFA34665C08D161E87103E4
+:103D8C00035005FD47027102035003C1FD6B2BC0AC
+:103D9C00711A20FD132BF2C6D7C72014FBF8FF4A6B
+:103DAC003213DC0552FFED903E8F14F931150530BE
+:103DBC000400EF0F8F14F9314505300500EF04D9DD
+:103DCC0015F9F1609C018D2C9C028D209C038F02B7
+:103DDC00F99C048F03F99C058D4E9C068D269C073F
+:103DEC0071345CE661301271045C61DC3119616222
+:103DFC00629C08CC09018F16F99C0AF171240461AC
+:103E0C00DC9C0BAE6C609C0CAD1A609C0DAE6E60B5
+:103E1C009C0EAE6A609C0FAE64609C10F1715407EE
+:103E2C0061DC9C11AE66609C123124600530400050
+:103E3C00EF01F6C131340405302000EF01F6C26108
+:103E4C006B08616A08C131546005300400EF01F65B
+:103E5C00C2616B08616A08C131446004E6A1EF01DC
+:103E6C00F6C2616B08616A08C131346003E6EF0188
+:103E7C00F6C2616B08616A9C13A432D832F1B107A7
+:103E8C00A11489721014C6D7C7FD83098F12F9319A
+:103E9C008FE724000061F8ED624023DD1B2361F8FD
+:103EAC00ED6C3F2361F8EDE83F2361F8ED314023E1
+:103EBC0061F8ED1441ED5F40D513F9DF2AF6464465
+:103ECC00DD05F518FDEF03A018FD4018FD65DC0AB3
+:103EDC00CF12F90571025FEDA241AD44440A0061B5
+:103EEC00D8EDA241E513F971325FF5DDFBFDC3049A
+:103EFC0071535CFDAD234015F903DF0971025FF5C9
+:103F0C0012F9EDA241FD142640C7FB9BDE0971029C
+:103F1C005FF512F9EDA241714A277140110571301C
+:103F2C001105713A22715A2271501105FD7029D276
+:103F3C00DD0971025FF512F9EDA24171103500CF68
+:103F4C0037001D714012054013F901DF05F5E3FB45
+:103F5C00EF04CFE3FB03CF12F902FD5629EDA2418A
+:103F6C00FD6D2CFDCD2C714A9DFDFA34FD8830F58C
+:103F7C0037FF712BE0F513F971025FCBE43FEFCB08
+:103F8C00E6F6F0FDC304713BD47112027123028F6B
+:103F9C0014F93105285004FD7C2B625C03318E3101
+:103FAC005D34C9FB896168995002FD7C2BD2DD061A
+:103FBC007170C9FBEF047178C9FBFDAD23FD842D35
+:103FCC00710814F9CF12F9038FBCFB5C02D1DD0927
+:103FDC005080C15010FDB534C0EDA241FDA441315B
+:103FEC00545F2FA450D450DD0831A4E00A31020CE8
+:103FFC0006712BE0FD1A4231A4E01731040C137149
+:10400C002BE05027C15005FD6B2BC0CF12F904716A
+:10401C00025FFD0F428F14F931250731146003F54F
+:10402C0012F9EDA241FDA44131020C14F0C150056E
+:10403C00FD6B2BC05005FD4702FD1A42CF12F90350
+:10404C00FD0F428F14F931250731146003F512F975
+:10405C00EDA241F512F9CFE3FB03F5E4FBF5E6FB2A
+:10406C0071525DF6426CFF61E8EDA241F6BD4A71FA
+:10407C00035DF5FAFBFD003BFDEA2DFDC42CFD2292
+:10408C002D714B9D711302712302F5CAFBF5CBFB0D
+:10409C00F5CCFBF5CDFB31245D02EFFACE3708CB26
+:1040AC00E4BFFFCBE6FFF1CED4FFCF370009714858
+:1040BC001205F6BEE0BEE2BED0716A27FDE829719A
+:1040CC004307714B27714810057148110571381061
+:1040DC000571381105713302713B22715302715B0A
+:1040EC00227158100571581105FD2C05CF12F905D8
+:1040FC0071325FF6BD44F50CFCF50EFCCF14FCFFE1
+:10410C00CF10FCFFCF11FCFFF513F9F518FD3112A0
+:10411C00602EFDAD23AD44440B0061C8E512F9D50A
+:10412C0015F961E8FD2C058F14F9312511F50EFCFC
+:10413C00F50CFC502EFD4702E513F9E512F9EF568C
+:10414C00D428DF52FD2C05FD462371730171320416
+:10415C0071430271035C71525C31949E02EFFA71EF
+:10416C002AE7CEA409F5F3003114600ED50CFCDF60
+:10417C00064010FCFF61F80061FDE5F300CEA408D9
+:10418C003114600671335FE512F9712BE78F14F966
+:10419C00312503F512F9C6D7D546FCDF1A310200DA
+:1041AC00155003FD7C2B625C01D1DF07F512F97110
+:1041BC00025FD7E546FCD74046FCF0DF083104002F
+:1041CC0041F546FCD74046FCC8DF0BF512F97102ED
+:1041DC005FCF46FCF0D73102000A4046FCFFDD22DF
+:1041EC00A046FCD7F0C15004FD6B2BC08FC9FB5C03
+:1041FC009F9FC9FB7110DAFB30353DFD0239CF466C
+:10420C00FCF0D731045D06F512F971025FD77153DA
+:10421C005FF450717207FDAD02717307D7FD9905FC
+:10422C00F2D7C7200CFBF8FF8F00FCF0F9FFFBF373
+:10423C0003FD7A4E13BC048F02FCF0F901FCF3036E
+:10424C00FD7A4E13BC028F04FCF0F903FCF303FD62
+:10425C007A4E13BBAC04BDD8F6BDDAAC04311EBD2E
+:10426C00DCF6BDDEFDF10DADD8BDDCADDABDDEACEE
+:10427C0002BDD8F6BDDAAC02311EDADCC3DADEC31D
+:10428C00BDDCF6BDDEFDF10DC0BDDEC0BDDCADDEBE
+:10429C00FD670FADD8BDDCADDABDDEABBDD8F6BD6C
+:1042AC00DAAB311EDADCC3DADEC3BDDCF6BDDEFD13
+:1042BC00F10DC0BDDEC0BDDCADDEFD670FDADAADE1
+:1042CC00D8FD0746C3C58FE0FC5C3FF0317E04602F
+:1042DC00FC14C2C0B9A0E0FCF6BC08BC0A9C078C5C
+:1042EC00074C2EDD3E8FE0FC0E0770F161DC605C4C
+:1042FC003FF0317E127960FCBDD8F6BDDA8C0773C5
+:10430C00092422318FBDDC70BDDEFDF10DAC08BD82
+:10431C00DCAC0AFD670FADDABC0AADD8BC0861593C
+:10432C0007EFBCAC08BDD8AC0ABDDAC9DC0004F69A
+:10433C00FDBB0EC9DCFFFFF6FDBC0FADD8BF5AFCB0
+:10434C00AF54FC425AFCDD12AF56FCBF58FCAF54C4
+:10435C00FCBF56FCAF5AFCBF54FCAF56FC4258FC99
+:10436C00DC50AF54FC4256FCDE48AF1AFD4254FC04
+:10437C00DE40401EFD16DC1F401EFDA0DE168F5CCD
+:10438C00FC4F1EFDDE0EAF54FC225EFC4469106136
+:10439C00C8FDF743F51EFDAF54FC445146DC0BAF92
+:1043AC0054FC241027BF1CFDEF1130F82ABF1CFD54
+:1043BC00EF09401EFDFF61E8A01EFDAF58FC425600
+:1043CC00FCDC1BAF56FC4254FCDE13AF54FC421C0D
+:1043DC00FDDE0BF55CFCAF54FCBF5EFCEF09405CF2
+:1043EC00FCFF61E8A05CFC100CC6D7717BFAC771AE
+:1043FC000A9E31929E02EFFA8E949F4EFC8E969FEF
+:10440C004FFC8E979F50FC8E989F51FC8E939F5221
+:10441C00FC8E929F53FC710B9E717AFA8F51FCFDAE
+:10442C00D00F76FD854513BD56D505FCDF0AD506A4
+:10443C00FCDF05D507FCDD25F6B14656DF11C95664
+:10444C003722665C0391DF060A56181A5700961736
+:10445C00FDA84613FDC94431645F02EF5E5206921B
+:10446C0092694EFC6848FCDFF6AD56BD54F852F329
+:10447C00311C7918F944FEFFDD41D852F1010418C2
+:10448C00F914A944FFFFDF04E6B9EF0BD852F10190
+:10449C000418F914A9A1B9A005FCD505FCDF1CA0D2
+:1044AC0006FCD506FCDF14A007FCD507FCDF0CCFFF
+:1044BC0005FCFFCF06FCFFCF07FCFFC6D7C716D8FD
+:1044CC0052F10744A800DC0571625FEF1CF647DD72
+:1044DC0018A4524A52A8DC0571625FEF0CF852F333
+:1044EC00311CF67818F9B7EFE4C6D7C756A896660C
+:1044FC00F0317E12F6B17818F966D1DFF1F505FCD2
+:10450C00F506FCF507FCF45271635FC6D7C72004AF
+:10451C00FBF8FFD432DF178D529FE1FC717BFA520E
+:10452C000692926948FC68E2FCDFF6717AFA4A322C
+:10453C0006DE0EE83209E2FC9C03A4328C0372EF17
+:10454C0034F9E1FCF3311C7918F9BB31725F058B3E
+:10455C009C03EF128C019C03D5E1FCDF06CFE1FC40
+:10456C00A7EF03B0E1FC718071775F61DC61FB71D7
+:10457C00715F8C03721004C6D7C72008FBF8FF8F3D
+:10458C0051FCFDD00F9C078F50FCFDD00F9C068F6B
+:10459C004FFCFDD00F9C058F4EFCFDD00F9C048F63
+:1045AC0052FC9C038F53FC9C028C06318E011279B9
+:1045BC005222BB8C075C03D1DF098C064C0361C80B
+:1045CC006179008C05318EB1610900BB313D12015E
+:1045DC0003BB8B0E04708C011C00BB8F0AFC4E03BA
+:1045EC00DC0E8C034F0AFCDC0B8C024F0BFCDC0446
+:1045FC00AB12EF03ABB1121008C6D7C7C3C120086A
+:10460C00FBF8FFF661490A61F8614908DF07F734E6
+:10461C000000EDA446E6BC04F6BC06AC0ABC02AC39
+:10462C0008BBAC06614902AC0461F8614900DE28A4
+:10463C00AC04BDD8AC06BDDAE1FD760FADDABC0634
+:10464C00ADD8BC04ABBDD8AC02BDDAE1FD910FAD69
+:10465C00DABC02ADD8BBEFCAAC06BC02AC04BBAC36
+:10466C0008BDD8AC0ABDDAAC04BDDCAC06FDF40E5A
+:10467C00AC04BDDCAC06FD670FE1FD910FADDABCFF
+:10468C0006ADD8BC04AC06614902AC0461F86149C2
+:10469C0000DCC5AC0214AB12100CC6D7C7C1200489
+:1046AC00FBF8FF8F4BFCFDD00F9C034E04DF1CADC1
+:1046BC00544656DE07AD56265412EF40F64656DFEA
+:1046CC00074654DD03E7EF34F7EF318C04318EB13C
+:1046DC00128C03318E43DF18306D0126540656BB05
+:1046EC008C045C0391DF05AB041800BBAB12EF0C20
+:1046FC008C034E04DE0532A900EF01F71006C6D775
+:10470C00717BFA31026009F64658DD04B658EF7C2D
+:10471C00710360717AFA4012F904DF07715307F4E0
+:10472C0022EF69D9E5FBF1E7240000DD0F23DD1A48
+:10473C0023DD1023DD5323DD2723DD38715307F4EC
+:10474C0022EF49715207F422EF42D422DF07715253
+:10475C0007E422EF05715307F422C958FA00EF2C35
+:10476C00D422DF0B715207E422C958FA00EF1DF571
+:10477C00E5FBEF18D422DF0B715307E422C958FA7A
+:10478C0000EF09CFE5FB02EF03FD9947D7D91DFCDC
+:10479C00F1E7240000DD0923DD2123DD0923EF1BD4
+:1047AC00715307F422D7D422DF07715207E422EFAA
+:1047BC0005715307F422C9582D01D7715207E42211
+:1047CC00D731425D01D771635DD9E3FBF1E724007A
+:1047DC0000DD1223DD1923DD1123DD2623DD342337
+:1047EC00DD3923DD3FFD5948EF3DFD7A48EF38D9DF
+:1047FC00E2FBC1AE6CFD2B2DC0F313BE6C71230418
+:10480C00EF25F0C1AE6CFD2B2DC0F313BE6C7123E4
+:10481C0004EF14F6BE6C712204EF0CCB6CFF00712C
+:10482C002304EF03FDEE484012F905DD064012F9B2
+:10483C0001DF0671230471635D31645D0FF6BE64A4
+:10484C00BE6A31220402EF02F690BE6ED7CD244729
+:10485C00F45AAE6C317DBFEEFCFDC348D2DF0ED9ED
+:10486C00E2FBC1AE6CFD2B2DC0F313BE6CD7FDC3A8
+:10487C0048D2DD0DCD2447F45AAE6C317DBFEEFC31
+:10488C00D7E85A096C225080D6BFEAFC22EEFCBD58
+:10489C00D8304700FD1C0EBFECFC30EAFCFD412D6E
+:1048AC00F313BE6CB424D424DF0CCD2447A45A4A91
+:1048BC005A1F61C8F45AD740C5FB0BDC05712304A1
+:1048CC00F2D740C5FB0661D831225C11F0C1AE6C49
+:1048DC00FD2B2DC0F313BE6C712204EF03FDEE48CB
+:1048EC00E2D771625DF0C1AE6CFD2B2DC0F313BE2F
+:1048FC006CA0F0FC40F0FC40DC3DF5F0FCD9F1FC88
+:10490C00F1313F0420FD14D9F1FCF1BDD85008FD64
+:10491C006B0E087208E6D2DD040192DFFC89615847
+:10492C00D1DD05712204EF03712304A0F1FC40F1E9
+:08493C00FC2061C8F5F1FCD775
+:1049440061FC61FCC1C3C5C7520C929269D4FEC11B
+:10495400DFF88EFD708EFCC1717AFA4012F903DF24
+:104964000630262AFD0239C09EFC609EFD34D4FE2A
+:104974005206C0B9A5A592DFF9C6C4C2C061FC61E4
+:10498400DF520C929269D4FEC1DFF88EFD708EFC6A
+:10499400C1C736410571A4C6DC65F5F4FC71485005
+:1049A400057160500531345E3671620771335E8F74
+:1049B400CAFB5FD2FBD1DF1B8FCBFB5FD3FBD1DF05
+:1049C400128FCCFB5FD4FBD1DF098FCDFB5FD5FB0E
+:1049D400D1DD0C31620702EFFA716307716B277145
+:1049E400735FFD3130F432C73641057184C6DC0F84
+:1049F400C73641057194C6DC06717AFAED2B4BC7B4
+:104A04003641057184C6DE19F5F4FC71485005FD84
+:104A14003130C73641057194C6DC06717AFAED2B44
+:104A24004BC73641057194C6DE0FD5F4FCDD0A4050
+:104A3400F4FC0261E871605005717AFA8FF4FC317C
+:104A44008FE7240000DD0823DD1323DD31EF5971E6
+:104A540040500571505005E5F4FCED2B4B8F40059B
+:104A64009F0EF9715050058F0EF99F10F9D90EF968
+:104A7400FDF833629F0FF9CFF4FC02ED2B4BC736E0
+:104A840041057194C6DE1DC736410571C4C6DE06F4
+:104A9400CFF4FC03EF127148500571605005F5F432
+:104AA400FCED2B4BCFF4FC0440F4FC03DF138F0F1D
+:104AB400F99F4005D90FF9C1D90EF9FD8734C0EF2C
+:104AC400218F4005768F0EF901DC05D50EF9DF063E
+:104AD40071605005EF51C7D90EF9FDB230C0715065
+:104AE4005005D910F9F1242900DD2C240400DD2718
+:104AF400242200DD22241100DD0C240100DD182411
+:104B04001E00DD13EF0C400EF960DF0BCF0EF961D0
+:104B1400EF05F432A00EF940F4FC03DF0AD90EF9D4
+:104B2400FDF833629F0FF9C09EFC609EFD34D4FEF5
+:104B34005206C0B9A5A592DFF961FCC1C7717AFA22
+:104B4400714AE5717BBD51405F0401D1DD06F61663
+:104B5400A747DFF2300400BF2401F6BF2A01300B5F
+:104B64000BBF28010000000000000000510FBF2807
+:104B7400010000000000000000500FBF2801710A6E
+:104B8400E671235DC6C061FCC1C5717AFAD436DD15
+:104B94000BEA34899E44A634B436EF33710AE63006
+:104BA4000400BF2401F6BF2A01300B0BBF2801000B
+:104BB40000000000000000510FBF280100000000A9
+:104BC40000000000500FBF280171135D71235DC404
+:104BD400C061FC61EF520C929269D4FEC1DFF88E81
+:104BE400FD708EFCC12006FBF8FF71503002CEAB85
+:104BF400ACCC0100F6BC0231B2E20F617902F6617D
+:104C04004902DFF371603002EF7E8E519B713BE20B
+:104C14008B5C02D1DD1D8B5C08D1DF097150300241
+:104C2400CC0100EFCF8C0570FD6035629E50CC0145
+:104C340002EFC18B5C03D1DF408E509C0471503075
+:104C4400028C01D1DF0E8C0470FDA635629C05CC6C
+:104C54000101EF318C014C02DF0671603002EF2854
+:104C6400CF34025A716030028C0470C18C0570FD1F
+:104C74000835C0CF34024AEF0F8B5C01D1DD0671D9
+:104C8400603002EF03EDF84B1006C09EFC609EFD01
+:104C940034D4FE5206C0B9A5A592DFF961FCC1C3A4
+:104CA400C5C7520C929269D4FEC1DFF88EFD708E96
+:104CB400FCC1710A9E31929E02EFFA8FF4FB4F966B
+:104CC400FFDF198FF5FB4F97FFDF118FF6FB4F982E
+:104CD400FFDF095004C15011FDB534C0710B9EC0F3
+:104CE4009EFC609EFD34D4FE5206C0B9A5A592DF99
+:104CF400F9C6C4C2C061FCA44261FCC1C3C5C752A9
+:104D04000C929269D4FEC1DFF88EFD708EFCC1C195
+:104D1400FBF8FF8D1F9C018E31318EE7240600DDE8
+:104D24000823DD0E23DD22EF4E717AFA8C019D3CBF
+:104D3400EF45717AFA4015F901DF068C019D3BEFCE
+:104D44003651FF2E019D3BEF2E717AFA4014FCFF81
+:104D5400DF068C019D26EF058F14FC9D268FC8FB72
+:104D64005C01D1DF124012F903DD064012F904DFC1
+:104D740006306825FD02394031FF09DE05A031FF08
+:104D8400EF137158F00071425EA02BFC402BFC0322
+:104D940061C8F52BFC710BE3C0C09EFC609EFD3422
+:104DA400D4FE5206C0B9A5A592DFF9C6C4C2C0613B
+:104DB400FC61FF520C929269D4FEC1DFF88EFD7043
+:104DC4008EFCC1717AFA8FFAFB5C03D1DD194012B3
+:104DD400F903DD064012F904DF0D36100571D4DE47
+:104DE4000630373AFD0239C09EFC609EFD34D4FE85
+:104DF4005206C0B9A5A592DFF961FC61FC61FC61B2
+:104E0400FC61FC61FC61FC61FC61FC61FC61FC61B6
+:104E1400FC61FC61FC61FC61FC61FC61FC61FC61A6
+:104E2400FC61FC61FC61FC61FC61FC61FC61FC6196
+:034E3400FC61FC22
+:0A4E380000060C12181E242A303662
+:104E420000000000C2FB0000000040FE0000000065
+:104E52007E3BF3358C22CD47022EBD2E0C47A53C5E
+:104E62000C09943E01000000983AF82AFF005555BB
+:024E7200555594
+:064E7400FF0000004700F2
+:084E7A00317503F7332312D751
+:024FF400013783
+:0A4FF60031353A34363A3534000004
:00000001FF
\ No newline at end of file
diff --git a/branches/sim/bsr.lmf b/branches/sim/bsr.lmf
index 1fee871..329d276 100644
Binary files a/branches/sim/bsr.lmf and b/branches/sim/bsr.lmf differ
diff --git a/branches/sim/bsr_k0r.map b/branches/sim/bsr_k0r.map
index 5014c67..2041ae9 100644
--- a/branches/sim/bsr_k0r.map
+++ b/branches/sim/bsr_k0r.map
@@ -1,7 +1,7 @@
-78K0R Linker W1.33 Date: 1 Jul 2011 Page: 1
+78K0R Linker W1.33 Date:14 Jul 2011 Page: 1
Command: -yc:\program files (x86)\nec electronics tools\dev -_msgoff -
obsr.lmf ..\..\..\..\Program Files (x86)\NEC Electronics Tool
@@ -14,7 +14,8 @@ Command: -yc:\program files (x86)\nec electronics tools\dev -_msgoff -
.rel i2c_mcu.rel i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vre
g_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel
task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.
- rel ini_VECT.rel task_status.rel led_cam.rel led_pow.rel
+ rel ini_VECT.rel task_status.rel led_cam.rel led_pow.rel hal.
+ rel
Para-file:
Out-file: bsr.lmf
Map-file: bsr_k0r.map
@@ -23,9 +24,9 @@ Direc-file:bsr_mcu.dr
*** Link information ***
- 68 output segment(s)
- 3D6BH byte(s) real data
- 5798 symbol(s) defined
+ 69 output segment(s)
+ 3DDDH byte(s) real data
+ 6117 symbol(s) defined
*** Memory map ***
@@ -57,6 +58,8 @@ Direc-file:bsr_mcu.dr
LDR_CNSL 00002H 00000H CSEG PAGE64KP
LDR_CNSL task_status
00002H 00000H
+ LDR_CNSL 00002H 00000H CSEG PAGE64KP
+ LDR_CNSL hal 00002H 00000H
??NMIROM 00002H 00002H CSEG
* gap * 00004H 0000CH
@@VECT10 00010H 00004H CSEG AT
@@ -98,55 +101,57 @@ Direc-file:bsr_mcu.dr
000C4H 00000H
LDR_CODL task_status
000C4H 00000H
+ LDR_CODL hal 000C4H 00000H
?CSEGSI 000C4H 0000AH CSEG
?OCDSTAD 000CEH 0000AH CSEG
- LDR_CODE 000D8H 008B4H CSEG
- LDR_CODE loader 000D8H 00195H
- LDR_CODE main 0026DH 00042H
- LDR_CODE WDT 002AFH 00000H
- LDR_CODE i2c_mcu 002AFH 002F0H
+ LDR_CODE 000D8H 00979H CSEG
+ LDR_CODE loader 000D8H 00193H
+ LDR_CODE main 0026BH 00042H
+ LDR_CODE WDT 002ADH 00000H
+ LDR_CODE i2c_mcu 002ADH 002ECH
LDR_CODE self_flash
- 0059FH 00373H
+ 00599H 00373H
LDR_CODE task_debug
- 00912H 00000H
+ 0090CH 00000H
LDR_CODE task_status
- 00912H 0007AH
- FSL_CODE 0098CH 00322H CSEG
+ 0090CH 00077H
+ LDR_CODE hal 00983H 000CEH
+ FSL_CODE 00A51H 00322H CSEG
FSL_CODE fsl_block_cmd
- 0098CH 0002BH
+ 00A51H 0002BH
FSL_CODE fsl_block_check
- 009B7H 00013H
+ 00A7CH 00013H
FSL_CODE fsl_common
- 009CAH 0014FH
+ 00A8FH 0014FH
FSL_CODE fsl_reset
- 00B19H 00001H
+ 00BDEH 00001H
FSL_CODE fsl_si_ibf
- 00B1AH 00064H
+ 00BDFH 00064H
FSL_CODE fsl_phySwap
- 00B7EH 0004DH
+ 00C43H 0004DH
FSL_CODE fsl_si_common
- 00BCBH 00061H
- FSL_CODE fsl_swap 00C2CH 00030H
+ 00C90H 00061H
+ FSL_CODE fsl_swap 00CF1H 00030H
FSL_CODE fsl_write
- 00C5CH 00052H
- @@LCODE 00CAEH 00277H CSEG
- @@LCODE @cstart 00CAEH 0006DH
- @@LCODE @imul 00D1BH 00011H
- @@LCODE @lumul 00D2CH 0002BH
- @@LCODE @isdiv 00D57H 00022H
- @@LCODE @iudiv 00D79H 0002DH
- @@LCODE @isrem 00DA6H 00021H
- @@LCODE @iurem 00DC7H 0002FH
- @@LCODE @lsdiv 00DF6H 00039H
- @@LCODE @ludiv 00E2FH 0003FH
- @@LCODE @divuw 00E6EH 00034H
- @@LCODE @ladd 00EA2H 0000FH
- @@LCODE @llsh 00EB1H 0001BH
- @@LCODE @lursh 00ECCH 0001FH
- @@LCODE @iscmp 00EEBH 0000CH
- @@LCODE @lband 00EF7H 00014H
- @@LCODE @bcdtob 00F0BH 0001AH
-* gap * 00F25H 000D1H
+ 00D21H 00052H
+ @@LCODE 00D73H 00277H CSEG
+ @@LCODE @cstart 00D73H 0006DH
+ @@LCODE @imul 00DE0H 00011H
+ @@LCODE @lumul 00DF1H 0002BH
+ @@LCODE @isdiv 00E1CH 00022H
+ @@LCODE @iudiv 00E3EH 0002DH
+ @@LCODE @isrem 00E6BH 00021H
+ @@LCODE @iurem 00E8CH 0002FH
+ @@LCODE @lsdiv 00EBBH 00039H
+ @@LCODE @ludiv 00EF4H 0003FH
+ @@LCODE @divuw 00F33H 00034H
+ @@LCODE @ladd 00F67H 0000FH
+ @@LCODE @llsh 00F76H 0001BH
+ @@LCODE @lursh 00F91H 0001FH
+ @@LCODE @iscmp 00FB0H 0000CH
+ @@LCODE @lband 00FBCH 00014H
+ @@LCODE @bcdtob 00FD0H 0001AH
+* gap * 00FEAH 0000CH
MGC_LOAD 00FF6H 0000AH CSEG AT
MGC_LOAD magic 00FF6H 0000AH
@@ -188,250 +193,257 @@ Direc-file:bsr_mcu.dr
0226CH 00000H
@@CNST led_cam 0226CH 00000H
@@CNST led_pow 0226CH 00020H
- ROM_CODE 0228CH 0272AH CSEG
- ROM_CODE pm 0228CH 00A16H
- ROM_CODE i2c_ctr 02CA2H 00060H
- ROM_CODE i2c_twl 02D02H 0005EH
- ROM_CODE led 02D60H 00265H
- ROM_CODE rtc 02FC5H 000E0H
- ROM_CODE vreg_ctr 030A5H 004A0H
- ROM_CODE vreg_twl 03545H 000FAH
- ROM_CODE adc 0363FH 002D4H
- ROM_CODE renge 03913H 00190H
- ROM_CODE accero 03AA3H 00148H
- ROM_CODE sw 03BEBH 00176H
+ @@CNST hal 0228CH 00000H
+ ROM_CODE 0228CH 026B8H CSEG
+ ROM_CODE pm 0228CH 009E1H
+ ROM_CODE i2c_ctr 02C6DH 00060H
+ ROM_CODE i2c_twl 02CCDH 0005EH
+ ROM_CODE led 02D2BH 00265H
+ ROM_CODE rtc 02F90H 000E0H
+ ROM_CODE vreg_ctr 03070H 0048AH
+ ROM_CODE vreg_twl 034FAH 000F9H
+ ROM_CODE adc 035F3H 002B7H
+ ROM_CODE renge 038AAH 0018DH
+ ROM_CODE accero 03A37H 00147H
+ ROM_CODE sw 03B7EH 00127H
ROM_CODE task_misc
- 03D61H 00177H
- ROM_CODE task_sys 03ED8H 0037FH
+ 03CA5H 001EFH
+ ROM_CODE task_sys 03E94H 0039AH
ROM_CODE pedo_alg_thre_det2
- 04257H 00502H
- ROM_CODE led_cam 04759H 000DBH
- ROM_CODE led_pow 04834H 00182H
- @@BASE 049B6H 004D6H CSEG BASE
- @@BASE loader 049B6H 00000H
- @@BASE pm 049B6H 0003FH
- @@BASE i2c_ctr 049F5H 0019DH
- @@BASE main 04B92H 00000H
- @@BASE magic 04B92H 00000H
- @@BASE WDT 04B92H 00000H
- @@BASE i2c_mcu 04B92H 0009CH
- @@BASE i2c_twl 04C2EH 000CBH
- @@BASE led 04CF9H 00000H
- @@BASE rtc 04CF9H 0005EH
- @@BASE vreg_ctr 04D57H 00000H
- @@BASE vreg_twl 04D57H 00000H
- @@BASE adc 04D57H 000B3H
- @@BASE renge 04E0AH 00000H
- @@BASE accero 04E0AH 0004AH
+ 0422EH 004DEH
+ ROM_CODE led_cam 0470CH 000C1H
+ ROM_CODE led_pow 047CDH 00177H
+ @@BASE 04944H 004F3H CSEG BASE
+ @@BASE loader 04944H 00000H
+ @@BASE pm 04944H 0003FH
+ @@BASE i2c_ctr 04983H 001BCH
+ @@BASE main 04B3FH 00000H
+ @@BASE magic 04B3FH 00000H
+ @@BASE WDT 04B3FH 00000H
+ @@BASE i2c_mcu 04B3FH 00098H
+ @@BASE i2c_twl 04BD7H 000CBH
+ @@BASE led 04CA2H 00000H
+ @@BASE rtc 04CA2H 0005DH
+ @@BASE vreg_ctr 04CFFH 00000H
+ @@BASE vreg_twl 04CFFH 00000H
+ @@BASE adc 04CFFH 000B6H
+ @@BASE renge 04DB5H 00000H
+ @@BASE accero 04DB5H 0004AH
@@BASE self_flash
- 04E54H 00000H
- @@BASE sw 04E54H 00000H
+ 04DFFH 00000H
+ @@BASE sw 04DFFH 00000H
@@BASE task_debug
- 04E54H 00000H
+ 04DFFH 00000H
@@BASE task_misc
- 04E54H 00000H
- @@BASE task_sys 04E54H 00000H
+ 04DFFH 00000H
+ @@BASE task_sys 04DFFH 00000H
@@BASE pedo_alg_thre_det2
- 04E54H 00000H
- @@BASE ini_VECT 04E54H 00038H
+ 04DFFH 00000H
+ @@BASE ini_VECT 04DFFH 00038H
@@BASE task_status
- 04E8CH 00000H
- @@BASE led_cam 04E8CH 00000H
- @@BASE led_pow 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL @cstart 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL pm 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL i2c_ctr 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL i2c_twl 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL led 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL rtc 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL vreg_ctr 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL vreg_twl 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL adc 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL renge 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL accero 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL sw 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
+ 04E37H 00000H
+ @@BASE led_cam 04E37H 00000H
+ @@BASE led_pow 04E37H 00000H
+ @@BASE hal 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL @cstart 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL pm 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL i2c_ctr 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL i2c_twl 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL led 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL rtc 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL vreg_ctr 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL vreg_twl 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL adc 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL renge 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL accero 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL sw 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
@@CNSTL task_misc
- 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL task_sys 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
+ 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL task_sys 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
@@CNSTL pedo_alg_thre_det2
- 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL ini_VECT 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL led_cam 04E8CH 00000H
- @@CNSTL 04E8CH 00000H CSEG PAGE64KP
- @@CNSTL led_pow 04E8CH 00000H
- @@CNSTL 04E8CH 0000AH CSEG PAGE64KP
- @@CNSTL @bcdtob 04E8CH 0000AH
- @@R_INIT 04E96H 00036H CSEG UNIT64KP
- @@R_INIT @cstart 04E96H 00000H
- @@R_INIT loader 04E96H 00000H
- @@R_INIT pm 04E96H 00002H
- @@R_INIT i2c_ctr 04E98H 00002H
- @@R_INIT main 04E9AH 00000H
- @@R_INIT magic 04E9AH 00000H
- @@R_INIT WDT 04E9AH 00000H
- @@R_INIT i2c_mcu 04E9AH 00000H
- @@R_INIT i2c_twl 04E9AH 00000H
- @@R_INIT led 04E9AH 00000H
- @@R_INIT rtc 04E9AH 00000H
- @@R_INIT vreg_ctr 04E9AH 00000H
- @@R_INIT vreg_twl 04E9AH 00000H
- @@R_INIT adc 04E9AH 0000CH
- @@R_INIT renge 04EA6H 00014H
- @@R_INIT accero 04EBAH 00000H
- @@R_INIT self_flash
- 04EBAH 00000H
- @@R_INIT sw 04EBAH 00002H
- @@R_INIT task_debug
- 04EBCH 00000H
- @@R_INIT task_misc
- 04EBCH 00000H
- @@R_INIT task_sys 04EBCH 00002H
- @@R_INIT pedo_alg_thre_det2
- 04EBEH 00006H
- @@R_INIT ini_VECT 04EC4H 00000H
- @@R_INIT task_status
- 04EC4H 00000H
- @@R_INIT led_cam 04EC4H 00002H
- @@R_INIT led_pow 04EC6H 00006H
- @@R_INIT @rom 04ECCH 00000H
- @@R_INIS 04ECCH 00000H CSEG UNIT64KP
- @@R_INIS @cstart 04ECCH 00000H
- @@R_INIS loader 04ECCH 00000H
- @@R_INIS pm 04ECCH 00000H
- @@R_INIS i2c_ctr 04ECCH 00000H
- @@R_INIS main 04ECCH 00000H
- @@R_INIS magic 04ECCH 00000H
- @@R_INIS WDT 04ECCH 00000H
- @@R_INIS i2c_mcu 04ECCH 00000H
- @@R_INIS i2c_twl 04ECCH 00000H
- @@R_INIS led 04ECCH 00000H
- @@R_INIS rtc 04ECCH 00000H
- @@R_INIS vreg_ctr 04ECCH 00000H
- @@R_INIS vreg_twl 04ECCH 00000H
- @@R_INIS adc 04ECCH 00000H
- @@R_INIS renge 04ECCH 00000H
- @@R_INIS accero 04ECCH 00000H
- @@R_INIS self_flash
- 04ECCH 00000H
- @@R_INIS sw 04ECCH 00000H
- @@R_INIS task_debug
- 04ECCH 00000H
- @@R_INIS task_misc
- 04ECCH 00000H
- @@R_INIS task_sys 04ECCH 00000H
- @@R_INIS pedo_alg_thre_det2
- 04ECCH 00000H
- @@R_INIS ini_VECT 04ECCH 00000H
- @@R_INIS task_status
- 04ECCH 00000H
- @@R_INIS led_cam 04ECCH 00000H
- @@R_INIS led_pow 04ECCH 00000H
- @@R_INIS @rom 04ECCH 00000H
- @@CALT 04ECCH 00000H CSEG
- @@CALT @cstart 04ECCH 00000H
- @@CALT loader 04ECCH 00000H
- @@CALT pm 04ECCH 00000H
- @@CALT i2c_ctr 04ECCH 00000H
- @@CALT main 04ECCH 00000H
- @@CALT magic 04ECCH 00000H
- @@CALT WDT 04ECCH 00000H
- @@CALT i2c_mcu 04ECCH 00000H
- @@CALT i2c_twl 04ECCH 00000H
- @@CALT led 04ECCH 00000H
- @@CALT rtc 04ECCH 00000H
- @@CALT vreg_ctr 04ECCH 00000H
- @@CALT vreg_twl 04ECCH 00000H
- @@CALT adc 04ECCH 00000H
- @@CALT renge 04ECCH 00000H
- @@CALT accero 04ECCH 00000H
+ 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL ini_VECT 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL led_cam 04E37H 00000H
+ @@CNSTL 04E37H 00000H CSEG PAGE64KP
+ @@CNSTL led_pow 04E37H 00000H
+ @@CALT 04E37H 00000H CSEG
+ @@CALT @cstart 04E37H 00000H
+ @@CALT loader 04E37H 00000H
+ @@CALT pm 04E37H 00000H
+ @@CALT i2c_ctr 04E37H 00000H
+ @@CALT main 04E37H 00000H
+ @@CALT magic 04E37H 00000H
+ @@CALT WDT 04E37H 00000H
+ @@CALT i2c_mcu 04E37H 00000H
+ @@CALT i2c_twl 04E37H 00000H
+ @@CALT led 04E37H 00000H
+ @@CALT rtc 04E37H 00000H
+ @@CALT vreg_ctr 04E37H 00000H
+ @@CALT vreg_twl 04E37H 00000H
+ @@CALT adc 04E37H 00000H
+ @@CALT renge 04E37H 00000H
+ @@CALT accero 04E37H 00000H
@@CALT self_flash
- 04ECCH 00000H
- @@CALT sw 04ECCH 00000H
+ 04E37H 00000H
+ @@CALT sw 04E37H 00000H
@@CALT task_debug
- 04ECCH 00000H
+ 04E37H 00000H
@@CALT task_misc
- 04ECCH 00000H
- @@CALT task_sys 04ECCH 00000H
+ 04E37H 00000H
+ @@CALT task_sys 04E37H 00000H
@@CALT pedo_alg_thre_det2
- 04ECCH 00000H
- @@CALT ini_VECT 04ECCH 00000H
+ 04E37H 00000H
+ @@CALT ini_VECT 04E37H 00000H
@@CALT task_status
- 04ECCH 00000H
- @@CALT led_cam 04ECCH 00000H
- @@CALT led_pow 04ECCH 00000H
- @@RLINIT 04ECCH 00000H CSEG UNIT64KP
- @@RLINIT loader 04ECCH 00000H
- @@RLINIT pm 04ECCH 00000H
- @@RLINIT i2c_ctr 04ECCH 00000H
- @@RLINIT main 04ECCH 00000H
- @@RLINIT magic 04ECCH 00000H
- @@RLINIT WDT 04ECCH 00000H
- @@RLINIT i2c_mcu 04ECCH 00000H
- @@RLINIT i2c_twl 04ECCH 00000H
- @@RLINIT led 04ECCH 00000H
- @@RLINIT rtc 04ECCH 00000H
- @@RLINIT vreg_ctr 04ECCH 00000H
- @@RLINIT vreg_twl 04ECCH 00000H
- @@RLINIT adc 04ECCH 00000H
- @@RLINIT renge 04ECCH 00000H
- @@RLINIT accero 04ECCH 00000H
+ 04E37H 00000H
+ @@CALT led_cam 04E37H 00000H
+ @@CALT led_pow 04E37H 00000H
+ @@CALT hal 04E37H 00000H
+ @@RLINIT 04E37H 00000H CSEG UNIT64KP
+ @@RLINIT loader 04E37H 00000H
+ @@RLINIT pm 04E37H 00000H
+ @@RLINIT i2c_ctr 04E37H 00000H
+ @@RLINIT main 04E37H 00000H
+ @@RLINIT magic 04E37H 00000H
+ @@RLINIT WDT 04E37H 00000H
+ @@RLINIT i2c_mcu 04E37H 00000H
+ @@RLINIT i2c_twl 04E37H 00000H
+ @@RLINIT led 04E37H 00000H
+ @@RLINIT rtc 04E37H 00000H
+ @@RLINIT vreg_ctr 04E37H 00000H
+ @@RLINIT vreg_twl 04E37H 00000H
+ @@RLINIT adc 04E37H 00000H
+ @@RLINIT renge 04E37H 00000H
+ @@RLINIT accero 04E37H 00000H
@@RLINIT self_flash
- 04ECCH 00000H
- @@RLINIT sw 04ECCH 00000H
+ 04E37H 00000H
+ @@RLINIT sw 04E37H 00000H
@@RLINIT task_debug
- 04ECCH 00000H
+ 04E37H 00000H
@@RLINIT task_misc
- 04ECCH 00000H
- @@RLINIT task_sys 04ECCH 00000H
+ 04E37H 00000H
+ @@RLINIT task_sys 04E37H 00000H
@@RLINIT pedo_alg_thre_det2
- 04ECCH 00000H
- @@RLINIT ini_VECT 04ECCH 00000H
+ 04E37H 00000H
+ @@RLINIT ini_VECT 04E37H 00000H
@@RLINIT task_status
- 04ECCH 00000H
- @@RLINIT led_cam 04ECCH 00000H
- @@RLINIT led_pow 04ECCH 00000H
- @@RLINIT @rom 04ECCH 00000H
- @@CODEL 04ECCH 00000H CSEG
- @@CODEL pm 04ECCH 00000H
- @@CODEL i2c_ctr 04ECCH 00000H
- @@CODEL magic 04ECCH 00000H
- @@CODEL i2c_twl 04ECCH 00000H
- @@CODEL led 04ECCH 00000H
- @@CODEL rtc 04ECCH 00000H
- @@CODEL vreg_ctr 04ECCH 00000H
- @@CODEL vreg_twl 04ECCH 00000H
- @@CODEL adc 04ECCH 00000H
- @@CODEL renge 04ECCH 00000H
- @@CODEL accero 04ECCH 00000H
- @@CODEL sw 04ECCH 00000H
+ 04E37H 00000H
+ @@RLINIT led_cam 04E37H 00000H
+ @@RLINIT led_pow 04E37H 00000H
+ @@RLINIT hal 04E37H 00000H
+ @@RLINIT @rom 04E37H 00000H
+ @@CODEL 04E37H 00000H CSEG
+ @@CODEL pm 04E37H 00000H
+ @@CODEL i2c_ctr 04E37H 00000H
+ @@CODEL magic 04E37H 00000H
+ @@CODEL i2c_twl 04E37H 00000H
+ @@CODEL led 04E37H 00000H
+ @@CODEL rtc 04E37H 00000H
+ @@CODEL vreg_ctr 04E37H 00000H
+ @@CODEL vreg_twl 04E37H 00000H
+ @@CODEL adc 04E37H 00000H
+ @@CODEL renge 04E37H 00000H
+ @@CODEL accero 04E37H 00000H
+ @@CODEL sw 04E37H 00000H
@@CODEL task_misc
- 04ECCH 00000H
- @@CODEL task_sys 04ECCH 00000H
+ 04E37H 00000H
+ @@CODEL task_sys 04E37H 00000H
@@CODEL pedo_alg_thre_det2
- 04ECCH 00000H
- @@CODEL ini_VECT 04ECCH 00000H
- @@CODEL led_cam 04ECCH 00000H
- @@CODEL led_pow 04ECCH 00000H
- @@LCODEL 04ECCH 00008H CSEG
- @@LCODEL abs 04ECCH 00008H
-* gap * 04ED4H 00120H
+ 04E37H 00000H
+ @@CODEL ini_VECT 04E37H 00000H
+ @@CODEL led_cam 04E37H 00000H
+ @@CODEL led_pow 04E37H 00000H
+* gap * 04E37H 00001H
+ @@CNSTL 04E38H 0000AH CSEG PAGE64KP
+ @@CNSTL @bcdtob 04E38H 0000AH
+ @@R_INIT 04E42H 00032H CSEG UNIT64KP
+ @@R_INIT @cstart 04E42H 00000H
+ @@R_INIT loader 04E42H 00000H
+ @@R_INIT pm 04E42H 00002H
+ @@R_INIT i2c_ctr 04E44H 00002H
+ @@R_INIT main 04E46H 00000H
+ @@R_INIT magic 04E46H 00000H
+ @@R_INIT WDT 04E46H 00000H
+ @@R_INIT i2c_mcu 04E46H 00000H
+ @@R_INIT i2c_twl 04E46H 00000H
+ @@R_INIT led 04E46H 00000H
+ @@R_INIT rtc 04E46H 00000H
+ @@R_INIT vreg_ctr 04E46H 00000H
+ @@R_INIT vreg_twl 04E46H 00000H
+ @@R_INIT adc 04E46H 0000CH
+ @@R_INIT renge 04E52H 00014H
+ @@R_INIT accero 04E66H 00000H
+ @@R_INIT self_flash
+ 04E66H 00000H
+ @@R_INIT sw 04E66H 00002H
+ @@R_INIT task_debug
+ 04E68H 00000H
+ @@R_INIT task_misc
+ 04E68H 00000H
+ @@R_INIT task_sys 04E68H 00002H
+ @@R_INIT pedo_alg_thre_det2
+ 04E6AH 00006H
+ @@R_INIT ini_VECT 04E70H 00000H
+ @@R_INIT task_status
+ 04E70H 00000H
+ @@R_INIT led_cam 04E70H 00000H
+ @@R_INIT led_pow 04E70H 00004H
+ @@R_INIT hal 04E74H 00000H
+ @@R_INIT @rom 04E74H 00000H
+ @@R_INIS 04E74H 00006H CSEG UNIT64KP
+ @@R_INIS @cstart 04E74H 00000H
+ @@R_INIS loader 04E74H 00000H
+ @@R_INIS pm 04E74H 00002H
+ @@R_INIS i2c_ctr 04E76H 00000H
+ @@R_INIS main 04E76H 00000H
+ @@R_INIS magic 04E76H 00000H
+ @@R_INIS WDT 04E76H 00000H
+ @@R_INIS i2c_mcu 04E76H 00000H
+ @@R_INIS i2c_twl 04E76H 00000H
+ @@R_INIS led 04E76H 00000H
+ @@R_INIS rtc 04E76H 00000H
+ @@R_INIS vreg_ctr 04E76H 00000H
+ @@R_INIS vreg_twl 04E76H 00000H
+ @@R_INIS adc 04E76H 00000H
+ @@R_INIS renge 04E76H 00000H
+ @@R_INIS accero 04E76H 00000H
+ @@R_INIS self_flash
+ 04E76H 00000H
+ @@R_INIS sw 04E76H 00000H
+ @@R_INIS task_debug
+ 04E76H 00000H
+ @@R_INIS task_misc
+ 04E76H 00000H
+ @@R_INIS task_sys 04E76H 00000H
+ @@R_INIS pedo_alg_thre_det2
+ 04E76H 00000H
+ @@R_INIS ini_VECT 04E76H 00000H
+ @@R_INIS task_status
+ 04E76H 00000H
+ @@R_INIS led_cam 04E76H 00002H
+ @@R_INIS led_pow 04E78H 00002H
+ @@R_INIS hal 04E7AH 00000H
+ @@R_INIS @rom 04E7AH 00000H
+ @@LCODEL 04E7AH 00008H CSEG
+ @@LCODEL abs 04E7AH 00008H
+* gap * 04E82H 00172H
MGC_VER 04FF4H 00002H CSEG AT
MGC_VER magic 04FF4H 00002H
MGC_TAIL 04FF6H 0000AH CSEG AT
@@ -441,244 +453,251 @@ Direc-file:bsr_mcu.dr
BASE ADDRESS=FF900H SIZE=00500H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
- @@DATA FF900H 00424H DSEG BASEP
+ @@DATA FF900H 003F2H DSEG BASEP
@@DATA @cstart FF900H 00002H
@@DATA loader FF902H 00000H
- @@DATA pm FF902H 00018H
- @@DATA i2c_ctr FF91AH 00006H
- @@DATA main FF920H 0021EH
- @@DATA magic FFB3EH 00000H
- @@DATA WDT FFB3EH 00000H
- @@DATA i2c_mcu FFB3EH 0000AH
- @@DATA i2c_twl FFB48H 00000H
- @@DATA led FFB48H 0007CH
- @@DATA rtc FFBC4H 00008H
- @@DATA vreg_ctr FFBCCH 0005EH
- @@DATA vreg_twl FFC2AH 00010H
- @@DATA adc FFC3AH 0000CH
- @@DATA renge FFC46H 00016H
- @@DATA accero FFC5CH 00002H
+ @@DATA pm FF902H 0000CH
+ @@DATA i2c_ctr FF90EH 00004H
+ @@DATA main FF912H 0021EH
+ @@DATA magic FFB30H 00000H
+ @@DATA WDT FFB30H 00000H
+ @@DATA i2c_mcu FFB30H 00006H
+ @@DATA i2c_twl FFB36H 00000H
+ @@DATA led FFB36H 0007CH
+ @@DATA rtc FFBB2H 00008H
+ @@DATA vreg_ctr FFBBAH 0005EH
+ @@DATA vreg_twl FFC18H 00010H
+ @@DATA adc FFC28H 00004H
+ @@DATA renge FFC2CH 00014H
+ @@DATA accero FFC40H 00002H
@@DATA self_flash
- FFC5EH 00002H
- @@DATA sw FFC60H 0000AH
+ FFC42H 00002H
+ @@DATA sw FFC44H 00000H
@@DATA task_debug
- FFC6AH 00000H
+ FFC44H 00000H
@@DATA task_misc
- FFC6AH 00004H
- @@DATA task_sys FFC6EH 00002H
+ FFC44H 00002H
+ @@DATA task_sys FFC46H 00002H
@@DATA pedo_alg_thre_det2
- FFC70H 000A6H
- @@DATA ini_VECT FFD16H 00000H
+ FFC48H 000A0H
+ @@DATA ini_VECT FFCE8H 00000H
@@DATA task_status
- FFD16H 00002H
- @@DATA led_cam FFD18H 00002H
- @@DATA led_pow FFD1AH 0000AH
- @@DATA @rom FFD24H 00000H
- @@INIT FFD24H 00036H DSEG BASEP
- @@INIT @cstart FFD24H 00000H
- @@INIT loader FFD24H 00000H
- @@INIT pm FFD24H 00002H
- @@INIT i2c_ctr FFD26H 00002H
- @@INIT main FFD28H 00000H
- @@INIT magic FFD28H 00000H
- @@INIT WDT FFD28H 00000H
- @@INIT i2c_mcu FFD28H 00000H
- @@INIT i2c_twl FFD28H 00000H
- @@INIT led FFD28H 00000H
- @@INIT rtc FFD28H 00000H
- @@INIT vreg_ctr FFD28H 00000H
- @@INIT vreg_twl FFD28H 00000H
- @@INIT adc FFD28H 0000CH
- @@INIT renge FFD34H 00014H
- @@INIT accero FFD48H 00000H
+ FFCE8H 00002H
+ @@DATA led_cam FFCEAH 00000H
+ @@DATA led_pow FFCEAH 00008H
+ @@DATA hal FFCF2H 00000H
+ @@DATA @rom FFCF2H 00000H
+ @@INIT FFCF2H 00032H DSEG BASEP
+ @@INIT @cstart FFCF2H 00000H
+ @@INIT loader FFCF2H 00000H
+ @@INIT pm FFCF2H 00002H
+ @@INIT i2c_ctr FFCF4H 00002H
+ @@INIT main FFCF6H 00000H
+ @@INIT magic FFCF6H 00000H
+ @@INIT WDT FFCF6H 00000H
+ @@INIT i2c_mcu FFCF6H 00000H
+ @@INIT i2c_twl FFCF6H 00000H
+ @@INIT led FFCF6H 00000H
+ @@INIT rtc FFCF6H 00000H
+ @@INIT vreg_ctr FFCF6H 00000H
+ @@INIT vreg_twl FFCF6H 00000H
+ @@INIT adc FFCF6H 0000CH
+ @@INIT renge FFD02H 00014H
+ @@INIT accero FFD16H 00000H
@@INIT self_flash
- FFD48H 00000H
- @@INIT sw FFD48H 00002H
+ FFD16H 00000H
+ @@INIT sw FFD16H 00002H
@@INIT task_debug
- FFD4AH 00000H
+ FFD18H 00000H
@@INIT task_misc
- FFD4AH 00000H
- @@INIT task_sys FFD4AH 00002H
+ FFD18H 00000H
+ @@INIT task_sys FFD18H 00002H
@@INIT pedo_alg_thre_det2
- FFD4CH 00006H
- @@INIT ini_VECT FFD52H 00000H
+ FFD1AH 00006H
+ @@INIT ini_VECT FFD20H 00000H
@@INIT task_status
- FFD52H 00000H
- @@INIT led_cam FFD52H 00002H
- @@INIT led_pow FFD54H 00006H
- @@INIT @rom FFD5AH 00000H
- @@INIS FFD5AH 00000H DSEG UNITP
- @@INIS @cstart FFD5AH 00000H
- @@INIS loader FFD5AH 00000H
- @@INIS pm FFD5AH 00000H
- @@INIS i2c_ctr FFD5AH 00000H
- @@INIS main FFD5AH 00000H
- @@INIS magic FFD5AH 00000H
- @@INIS WDT FFD5AH 00000H
- @@INIS i2c_mcu FFD5AH 00000H
- @@INIS i2c_twl FFD5AH 00000H
- @@INIS led FFD5AH 00000H
- @@INIS rtc FFD5AH 00000H
- @@INIS vreg_ctr FFD5AH 00000H
- @@INIS vreg_twl FFD5AH 00000H
- @@INIS adc FFD5AH 00000H
- @@INIS renge FFD5AH 00000H
- @@INIS accero FFD5AH 00000H
- @@INIS self_flash
- FFD5AH 00000H
- @@INIS sw FFD5AH 00000H
- @@INIS task_debug
- FFD5AH 00000H
- @@INIS task_misc
- FFD5AH 00000H
- @@INIS task_sys FFD5AH 00000H
- @@INIS pedo_alg_thre_det2
- FFD5AH 00000H
- @@INIS ini_VECT FFD5AH 00000H
- @@INIS task_status
- FFD5AH 00000H
- @@INIS led_cam FFD5AH 00000H
- @@INIS led_pow FFD5AH 00000H
- @@INIS @rom FFD5AH 00000H
- @@DATS FFD5AH 00000H DSEG UNITP
- @@DATS @cstart FFD5AH 00000H
- @@DATS loader FFD5AH 00000H
- @@DATS pm FFD5AH 00000H
- @@DATS i2c_ctr FFD5AH 00000H
- @@DATS main FFD5AH 00000H
- @@DATS magic FFD5AH 00000H
- @@DATS WDT FFD5AH 00000H
- @@DATS i2c_mcu FFD5AH 00000H
- @@DATS i2c_twl FFD5AH 00000H
- @@DATS led FFD5AH 00000H
- @@DATS rtc FFD5AH 00000H
- @@DATS vreg_ctr FFD5AH 00000H
- @@DATS vreg_twl FFD5AH 00000H
- @@DATS adc FFD5AH 00000H
- @@DATS renge FFD5AH 00000H
- @@DATS accero FFD5AH 00000H
- @@DATS self_flash
- FFD5AH 00000H
- @@DATS sw FFD5AH 00000H
- @@DATS task_debug
- FFD5AH 00000H
- @@DATS task_misc
- FFD5AH 00000H
- @@DATS task_sys FFD5AH 00000H
- @@DATS pedo_alg_thre_det2
- FFD5AH 00000H
- @@DATS ini_VECT FFD5AH 00000H
- @@DATS task_status
- FFD5AH 00000H
- @@DATS led_cam FFD5AH 00000H
- @@DATS led_pow FFD5AH 00000H
- @@DATS @rom FFD5AH 00000H
- FSL_DATA FFD5AH 00010H DSEG UNITP
+ FFD20H 00000H
+ @@INIT led_cam FFD20H 00000H
+ @@INIT led_pow FFD20H 00004H
+ @@INIT hal FFD24H 00000H
+ @@INIT @rom FFD24H 00000H
+ FSL_DATA FFD24H 00010H DSEG UNITP
FSL_DATA fsl_common
- FFD5AH 00010H
- @@INITL FFD6AH 00000H DSEG UNIT64KP
- @@INITL loader FFD6AH 00000H
- @@INITL pm FFD6AH 00000H
- @@INITL i2c_ctr FFD6AH 00000H
- @@INITL main FFD6AH 00000H
- @@INITL magic FFD6AH 00000H
- @@INITL WDT FFD6AH 00000H
- @@INITL i2c_mcu FFD6AH 00000H
- @@INITL i2c_twl FFD6AH 00000H
- @@INITL led FFD6AH 00000H
- @@INITL rtc FFD6AH 00000H
- @@INITL vreg_ctr FFD6AH 00000H
- @@INITL vreg_twl FFD6AH 00000H
- @@INITL adc FFD6AH 00000H
- @@INITL renge FFD6AH 00000H
- @@INITL accero FFD6AH 00000H
+ FFD24H 00010H
+ @@INITL FFD34H 00000H DSEG UNIT64KP
+ @@INITL loader FFD34H 00000H
+ @@INITL pm FFD34H 00000H
+ @@INITL i2c_ctr FFD34H 00000H
+ @@INITL main FFD34H 00000H
+ @@INITL magic FFD34H 00000H
+ @@INITL WDT FFD34H 00000H
+ @@INITL i2c_mcu FFD34H 00000H
+ @@INITL i2c_twl FFD34H 00000H
+ @@INITL led FFD34H 00000H
+ @@INITL rtc FFD34H 00000H
+ @@INITL vreg_ctr FFD34H 00000H
+ @@INITL vreg_twl FFD34H 00000H
+ @@INITL adc FFD34H 00000H
+ @@INITL renge FFD34H 00000H
+ @@INITL accero FFD34H 00000H
@@INITL self_flash
- FFD6AH 00000H
- @@INITL sw FFD6AH 00000H
+ FFD34H 00000H
+ @@INITL sw FFD34H 00000H
@@INITL task_debug
- FFD6AH 00000H
+ FFD34H 00000H
@@INITL task_misc
- FFD6AH 00000H
- @@INITL task_sys FFD6AH 00000H
+ FFD34H 00000H
+ @@INITL task_sys FFD34H 00000H
@@INITL pedo_alg_thre_det2
- FFD6AH 00000H
- @@INITL ini_VECT FFD6AH 00000H
+ FFD34H 00000H
+ @@INITL ini_VECT FFD34H 00000H
@@INITL task_status
- FFD6AH 00000H
- @@INITL led_cam FFD6AH 00000H
- @@INITL led_pow FFD6AH 00000H
- @@INITL @rom FFD6AH 00000H
- @@DATAL FFD6AH 00000H DSEG UNIT64KP
- @@DATAL loader FFD6AH 00000H
- @@DATAL pm FFD6AH 00000H
- @@DATAL i2c_ctr FFD6AH 00000H
- @@DATAL main FFD6AH 00000H
- @@DATAL magic FFD6AH 00000H
- @@DATAL WDT FFD6AH 00000H
- @@DATAL i2c_mcu FFD6AH 00000H
- @@DATAL i2c_twl FFD6AH 00000H
- @@DATAL led FFD6AH 00000H
- @@DATAL rtc FFD6AH 00000H
- @@DATAL vreg_ctr FFD6AH 00000H
- @@DATAL vreg_twl FFD6AH 00000H
- @@DATAL adc FFD6AH 00000H
- @@DATAL renge FFD6AH 00000H
- @@DATAL accero FFD6AH 00000H
+ FFD34H 00000H
+ @@INITL led_cam FFD34H 00000H
+ @@INITL led_pow FFD34H 00000H
+ @@INITL hal FFD34H 00000H
+ @@INITL @rom FFD34H 00000H
+ @@DATAL FFD34H 00000H DSEG UNIT64KP
+ @@DATAL loader FFD34H 00000H
+ @@DATAL pm FFD34H 00000H
+ @@DATAL i2c_ctr FFD34H 00000H
+ @@DATAL main FFD34H 00000H
+ @@DATAL magic FFD34H 00000H
+ @@DATAL WDT FFD34H 00000H
+ @@DATAL i2c_mcu FFD34H 00000H
+ @@DATAL i2c_twl FFD34H 00000H
+ @@DATAL led FFD34H 00000H
+ @@DATAL rtc FFD34H 00000H
+ @@DATAL vreg_ctr FFD34H 00000H
+ @@DATAL vreg_twl FFD34H 00000H
+ @@DATAL adc FFD34H 00000H
+ @@DATAL renge FFD34H 00000H
+ @@DATAL accero FFD34H 00000H
@@DATAL self_flash
- FFD6AH 00000H
- @@DATAL sw FFD6AH 00000H
+ FFD34H 00000H
+ @@DATAL sw FFD34H 00000H
@@DATAL task_debug
- FFD6AH 00000H
+ FFD34H 00000H
@@DATAL task_misc
- FFD6AH 00000H
- @@DATAL task_sys FFD6AH 00000H
+ FFD34H 00000H
+ @@DATAL task_sys FFD34H 00000H
@@DATAL pedo_alg_thre_det2
- FFD6AH 00000H
- @@DATAL ini_VECT FFD6AH 00000H
+ FFD34H 00000H
+ @@DATAL ini_VECT FFD34H 00000H
@@DATAL task_status
- FFD6AH 00000H
- @@DATAL led_cam FFD6AH 00000H
- @@DATAL led_pow FFD6AH 00000H
- @@DATAL @rom FFD6AH 00000H
-* gap * FFD6AH 00096H
+ FFD34H 00000H
+ @@DATAL led_cam FFD34H 00000H
+ @@DATAL led_pow FFD34H 00000H
+ @@DATAL hal FFD34H 00000H
+ @@DATAL @rom FFD34H 00000H
+* gap * FFD34H 000CCH
MEMORY=RAM2
BASE ADDRESS=FFE20H SIZE=000C0H
OUTPUT INPUT INPUT BASE SIZE
SEGMENT SEGMENT MODULE ADDRESS
- @@BITS FFE20H 00005H BSEG
- @@BITS @cstart FFE20H.0 00000H.0
- @@BITS loader FFE20H.0 00000H.0
- @@BITS pm FFE20H.0 00001H.0
- @@BITS i2c_ctr FFE21H.0 00000H.0
- @@BITS main FFE21H.0 00000H.1
- @@BITS magic FFE21H.1 00000H.0
- @@BITS WDT FFE21H.1 00000H.0
- @@BITS i2c_mcu FFE21H.1 00000H.3
- @@BITS i2c_twl FFE21H.4 00000H.0
- @@BITS led FFE21H.4 00000H.4
- @@BITS rtc FFE22H.0 00000H.3
- @@BITS vreg_ctr FFE22H.3 00000H.1
- @@BITS vreg_twl FFE22H.4 00000H.0
- @@BITS adc FFE22H.4 00000H.4
- @@BITS renge FFE23H.0 00000H.3
- @@BITS accero FFE23H.3 00000H.0
+ @@INIS FFE20H 00006H DSEG SADDRP
+ @@INIS @cstart FFE20H 00000H
+ @@INIS loader FFE20H 00000H
+ @@INIS pm FFE20H 00002H
+ @@INIS i2c_ctr FFE22H 00000H
+ @@INIS main FFE22H 00000H
+ @@INIS magic FFE22H 00000H
+ @@INIS WDT FFE22H 00000H
+ @@INIS i2c_mcu FFE22H 00000H
+ @@INIS i2c_twl FFE22H 00000H
+ @@INIS led FFE22H 00000H
+ @@INIS rtc FFE22H 00000H
+ @@INIS vreg_ctr FFE22H 00000H
+ @@INIS vreg_twl FFE22H 00000H
+ @@INIS adc FFE22H 00000H
+ @@INIS renge FFE22H 00000H
+ @@INIS accero FFE22H 00000H
+ @@INIS self_flash
+ FFE22H 00000H
+ @@INIS sw FFE22H 00000H
+ @@INIS task_debug
+ FFE22H 00000H
+ @@INIS task_misc
+ FFE22H 00000H
+ @@INIS task_sys FFE22H 00000H
+ @@INIS pedo_alg_thre_det2
+ FFE22H 00000H
+ @@INIS ini_VECT FFE22H 00000H
+ @@INIS task_status
+ FFE22H 00000H
+ @@INIS led_cam FFE22H 00002H
+ @@INIS led_pow FFE24H 00002H
+ @@INIS hal FFE26H 00000H
+ @@INIS @rom FFE26H 00000H
+ @@DATS FFE26H 00036H DSEG SADDRP
+ @@DATS @cstart FFE26H 00000H
+ @@DATS loader FFE26H 00000H
+ @@DATS pm FFE26H 0000CH
+ @@DATS i2c_ctr FFE32H 00002H
+ @@DATS main FFE34H 00000H
+ @@DATS magic FFE34H 00000H
+ @@DATS WDT FFE34H 00000H
+ @@DATS i2c_mcu FFE34H 00004H
+ @@DATS i2c_twl FFE38H 00000H
+ @@DATS led FFE38H 00000H
+ @@DATS rtc FFE38H 00000H
+ @@DATS vreg_ctr FFE38H 00002H
+ @@DATS vreg_twl FFE3AH 00000H
+ @@DATS adc FFE3AH 00008H
+ @@DATS renge FFE42H 00002H
+ @@DATS accero FFE44H 00000H
+ @@DATS self_flash
+ FFE44H 00000H
+ @@DATS sw FFE44H 0000AH
+ @@DATS task_debug
+ FFE4EH 00000H
+ @@DATS task_misc
+ FFE4EH 00002H
+ @@DATS task_sys FFE50H 00002H
+ @@DATS pedo_alg_thre_det2
+ FFE52H 00006H
+ @@DATS ini_VECT FFE58H 00000H
+ @@DATS task_status
+ FFE58H 00000H
+ @@DATS led_cam FFE58H 00002H
+ @@DATS led_pow FFE5AH 00002H
+ @@DATS hal FFE5CH 00000H
+ @@DATS @rom FFE5CH 00000H
+ @@BITS FFE5CH 00005H BSEG
+ @@BITS @cstart FFE5CH.0 00000H.0
+ @@BITS loader FFE5CH.0 00000H.0
+ @@BITS pm FFE5CH.0 00001H.0
+ @@BITS i2c_ctr FFE5DH.0 00000H.0
+ @@BITS main FFE5DH.0 00000H.1
+ @@BITS magic FFE5DH.1 00000H.0
+ @@BITS WDT FFE5DH.1 00000H.0
+ @@BITS i2c_mcu FFE5DH.1 00000H.3
+ @@BITS i2c_twl FFE5DH.4 00000H.0
+ @@BITS led FFE5DH.4 00000H.4
+ @@BITS rtc FFE5EH.0 00000H.3
+ @@BITS vreg_ctr FFE5EH.3 00000H.1
+ @@BITS vreg_twl FFE5EH.4 00000H.0
+ @@BITS adc FFE5EH.4 00000H.4
+ @@BITS renge FFE5FH.0 00000H.3
+ @@BITS accero FFE5FH.3 00000H.0
@@BITS self_flash
- FFE23H.3 00000H.0
- @@BITS sw FFE23H.3 00000H.2
+ FFE5FH.3 00000H.0
+ @@BITS sw FFE5FH.3 00000H.1
@@BITS task_debug
- FFE23H.5 00000H.0
+ FFE5FH.4 00000H.0
@@BITS task_misc
- FFE23H.5 00000H.2
- @@BITS task_sys FFE23H.7 00000H.0
+ FFE5FH.4 00000H.2
+ @@BITS task_sys FFE5FH.6 00000H.0
@@BITS pedo_alg_thre_det2
- FFE23H.7 00000H.2
- @@BITS ini_VECT FFE24H.1 00000H.0
+ FFE5FH.6 00000H.2
+ @@BITS ini_VECT FFE60H.0 00000H.0
@@BITS task_status
- FFE24H.1 00000H.0
- @@BITS led_cam FFE24H.1 00000H.1
- @@BITS led_pow FFE24H.2 00000H.0
-* gap * FFE25H 000AFH
+ FFE60H.0 00000H.0
+ @@BITS led_cam FFE60H.0 00000H.1
+ @@BITS led_pow FFE60H.1 00000H.0
+ @@BITS hal FFE60H.1 00000H.6
+* gap * FFE61H 00073H
@@SEGREG FFED4H 00004H DSEG AT
@@SEGREG @SEGREG FFED4H 00004H
@@RTARG0 FFED8H 00008H DSEG AT
diff --git a/branches/sim/config.h b/branches/sim/config.h
index 8c7c0a0..88e5f7e 100644
--- a/branches/sim/config.h
+++ b/branches/sim/config.h
@@ -6,8 +6,6 @@
//#define _debug_led_
//#define _ALLOW_NOBATT_
-//#define _DEBUG_BT_FUEL_
-//#define _DEBUG_BT_TEMP_
//#define _DBG_PEDO_AUTO_ENABLE_
//#define _DBG_LED_PRINT_
//#define _DBG_FORCE_FULLCOLOR_
@@ -27,7 +25,7 @@
#define MCU_VER_MAJOR 0x01
-#define MCU_VER_MINOR 0x36
+#define MCU_VER_MINOR 0x37
// ̎́CȂƑ̌̐YłȂˁI
#ifdef _TAIKENDAI_SEISAN_SPECIAL_
diff --git a/branches/sim/hal.c b/branches/sim/hal.c
new file mode 100644
index 0000000..1b3e2cc
--- /dev/null
+++ b/branches/sim/hal.c
@@ -0,0 +1,160 @@
+#ifndef _WIN32
+#pragma SFR
+#endif
+
+#include "incs_loader.h"
+
+
+#define WIFI_txLatch PIF21 // dgMpX { led.h Œ`
+
+
+// HALłԂ ////////////////////////////////////////
+// ȎȂ琳_ɂr...≽łȂ
+bit PM_EXTDC_n;
+bit BT_IN_CHG_n;
+bit SW_POW_n;
+bit SW_HOME_n;
+bit SW_WIFI_n;
+bit SHELL_OPEN;
+
+/*
+#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 )
+#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 )
+//#define REG_BIT_HAL0_PM_IRQ_n ( 1 << 5 ) // gȂ
+#define REG_BIT_HAL0_WL_TX ( 1 << 4 )
+#define REG_BIT_HAL0_SHELL_OPEN ( 1 << 3 )
+#define REG_BIT_HAL0_SW_WIFI_n ( 1 << 2 )
+#define REG_BIT_HAL0_SW_HOME_n ( 1 << 1 )
+#define REG_BIT_HAL0_SW_POW_n ( 1 << 0 )
+
+#define REG_BIT_HAL1_DIPSW_1 ( 1 << 3 )
+#define REG_BIT_HAL1_DIPSW_0 ( 1 << 2 )
+#define REG_BIT_HAL1_HW_DET_1 ( 1 << 1 )
+#define REG_BIT_HAL1_HW_DET_0 ( 1 << 0 )
+*/
+
+
+// ڂւ
+// `^OȂ炱ł(ԃJEg͕)
+void hal_update()
+{
+ u8 temp_conf = vreg_ctr[ VREG_C_HAL_OVW_CONT0 ];
+ u8 temp_dat = vreg_ctr[ VREG_C_HAL_OVW_DAT0 ];
+
+ // A_v^L
+ if( temp_conf & REG_BIT_HAL0_PM_EXTDC_n )
+ {
+ // O͂Ȃ傫Ȃ肪
+ if(( temp_dat & REG_BIT_HAL0_PM_EXTDC_n ) == 0 )
+ {
+ PM_EXTDC_n = 0;
+ }
+ else
+ {
+ PM_EXTDC_n = 1;
+ }
+ }
+ else
+ {
+ PM_EXTDC_n = PM_EXTDC_n_RAW;
+ }
+
+ // [dH
+ if( temp_conf & REG_BIT_HAL0_BT_IN_CHG_n )
+ {
+ if(( temp_dat & REG_BIT_HAL0_BT_IN_CHG_n ) == 0 )
+ {
+ BT_IN_CHG_n = 0;
+ }
+ else
+ {
+ BT_IN_CHG_n = 1;
+ }
+ }
+ else
+ {
+ BT_IN_CHG_n = BT_IN_CHG_n_RAW;
+ }
+
+ // dt
+ if( temp_conf & REG_BIT_HAL0_SW_POW_n )
+ {
+ if(( temp_dat & REG_BIT_HAL0_SW_POW_n ) == 0 )
+ {
+ SW_POW_n = 0 ;
+ }
+ else
+ {
+ SW_POW_n = 1;
+ }
+ }
+ else
+ {
+ SW_POW_n = SW_POW_n_RAW;
+ }
+
+ // Ɩt
+ if( temp_conf & REG_BIT_HAL0_SW_HOME_n )
+ {
+ if(( temp_dat & REG_BIT_HAL0_SW_HOME_n ) == 0 )
+ {
+ SW_HOME_n = 0;
+ }
+ else
+ {
+ SW_HOME_n = 1;
+ }
+ }
+ else
+ {
+ if( system_status.model == MODEL_TS_BOARD )// ڑ̃|[gႤ
+ {
+ SW_HOME_n = SW_HOME_n_TSBOARD_RAW;
+ }
+ else
+ {
+ SW_HOME_n = SW_HOME_n_JIKKI_RAW;
+ }
+ }
+
+ // J
+ if( temp_conf & REG_BIT_HAL0_SW_WIFI_n )
+ {
+ if(( temp_dat & REG_BIT_HAL0_SW_WIFI_n ) == 0 )
+ {
+ SW_WIFI_n = 0;
+ }
+ else
+ {
+ SW_WIFI_n = 1;
+ }
+ }
+ else
+ {
+ SW_WIFI_n = SW_WIFI_n_RAW;
+ }
+
+ //
+ if( temp_conf & REG_BIT_HAL0_SHELL_OPEN )
+ {
+ if(( temp_dat & REG_BIT_HAL0_SHELL_OPEN ) == 0 )
+ {
+ SHELL_OPEN = 1;
+ }
+ else
+ {
+ SHELL_OPEN = 0;
+ }
+ }
+ else
+ {
+ SHELL_OPEN = SHELL_OPEN_RAW;
+ }
+
+ // dg
+ if( temp_conf & REG_BIT_HAL0_WL_TX )
+ {
+ WIFI_txLatch = 1;
+ }
+
+}
diff --git a/branches/sim/hal.h b/branches/sim/hal.h
new file mode 100644
index 0000000..c6decf3
--- /dev/null
+++ b/branches/sim/hal.h
@@ -0,0 +1,16 @@
+#ifndef _hal_h_
+#define _hal_h_
+
+
+extern bit PM_EXTDC_n;
+extern bit BT_IN_CHG_n;
+extern bit SW_POW_n;
+extern bit SW_HOME_n;
+extern bit SW_WIFI_n;
+extern bit SHELL_OPEN;
+
+
+// ========================================================
+void hal_update();
+
+#endif
diff --git a/branches/sim/i2c_ctr.c b/branches/sim/i2c_ctr.c
index 489c886..d0b8da9 100644
--- a/branches/sim/i2c_ctr.c
+++ b/branches/sim/i2c_ctr.c
@@ -74,13 +74,10 @@ __interrupt void int_iic_ctr( )
{
static enum en_IIC_STATE state = IIC_IDLE;
static u8 reg_adrs;
- static u8 reg_adrs_internal;
static u8 tx_buf;
u8 rx_buf;
static u8 adrs_access_from;
- EI();
-
// ǂݏoI
if( !ACKD ) // 荞ݗvNAKif[^M̍Ōj
{
@@ -106,7 +103,11 @@ __interrupt void int_iic_ctr( )
hosu_read_end( ); // vǂݏoI
rtc_unlock( );
iic_burst_state = 0;
- return;
+ if( !SPD && !STD )
+ {
+ EI();
+ return;
+ }
}
if( SPD ) // 荞ݗv̓XgbvRfBV
@@ -116,7 +117,11 @@ __interrupt void int_iic_ctr( )
SPIE = 0;
// I2CIɉ镨 //
rtc_unlock( );
- return;
+ if( !STD )
+ {
+ EI();
+ return;
+ }
}
if( STD ) // 荞ݗvFX^[gRfBV
@@ -132,6 +137,8 @@ __interrupt void int_iic_ctr( )
}
}
+ EI();
+
switch ( state )
{
case ( IIC_IDLE ):
@@ -215,7 +222,7 @@ __interrupt void int_iic_ctr( )
break;
default:
iic_burst_state = 0; // ی
- reg_adrs += 1;
+ reg_adrs ++;
}
if( state == IIC_TX )
diff --git a/branches/sim/i2c_mcu.c b/branches/sim/i2c_mcu.c
index 71eae0b..aa2abd9 100644
--- a/branches/sim/i2c_mcu.c
+++ b/branches/sim/i2c_mcu.c
@@ -79,7 +79,7 @@ extern bit i2c_mcu_time_out_error;
// ========================================================
void nop8()
{
- // nop11 ʂȂ̂
+ // ɗ call 3clk, return 6clk
}
@@ -419,8 +419,8 @@ __interrupt void int_iic10( )
if( iic_send_wo_dma_len != 0 )
{
SIO10 = *p_iic_send_wo_dma_dat;
- p_iic_send_wo_dma_dat++;
- iic_send_wo_dma_len--;
+ p_iic_send_wo_dma_dat ++;
+ iic_send_wo_dma_len --;
return;
}
@@ -647,7 +647,7 @@ err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat )
iic_mcu_send_a_byte( 0x20 );
iic_mcu_send_a_byte( count );
- count++;
+ count ++;
iic_mcu_send_sp( );
iic_mcu_busy = false;
diff --git a/branches/sim/i2c_twl.c b/branches/sim/i2c_twl.c
index 87cdda6..5971b37 100644
--- a/branches/sim/i2c_twl.c
+++ b/branches/sim/i2c_twl.c
@@ -82,7 +82,7 @@ enum IIC_TWL_STATE{
#define wait_next { \
tot = 0; \
while( IICAIF != 1 ){ \
- tot++; \
+ tot ++; \
if( tot == 0 ){ \
LREL = 1; \
return; \
diff --git a/branches/sim/incs.h b/branches/sim/incs.h
index 7d1a063..cd33a79 100644
--- a/branches/sim/incs.h
+++ b/branches/sim/incs.h
@@ -29,6 +29,8 @@
#include "jhl_defs.h"
#include "user_define.h"
+#include "hal.h"
+
#include "bsr_system.h"
#include "renge\renge.h"
#include "loader.h"
diff --git a/branches/sim/incs_loader.h b/branches/sim/incs_loader.h
index 6683f89..4bb13b5 100644
--- a/branches/sim/incs_loader.h
+++ b/branches/sim/incs_loader.h
@@ -26,6 +26,8 @@
#include "jhl_defs.h"
#include "user_define.h"
+#include "hal.h"
+
#include "bsr_system.h"
#include "renge\renge.h"
diff --git a/branches/sim/led.c b/branches/sim/led.c
index 3607293..65d4bba 100644
--- a/branches/sim/led.c
+++ b/branches/sim/led.c
@@ -57,11 +57,11 @@ u8 fade_to( u8 now, u8 goal )
{
if( now > goal )
{
- now -= 1;
+ now --;
}
else
{
- now += 1;
+ now ++;
}
}
return( now );
@@ -204,11 +204,11 @@ void tsk_led_wifi( )
default:
LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT];
}
- state_wifi_tx++;
+ state_wifi_tx ++;
if( state_wifi_tx == 32 ) // _ŌA_ĂԂ̒
{
state_wifi_tx = 0;
- flag_wifi_TX -= 1;
+ flag_wifi_TX --;
}
task_interval = 25;
return;
@@ -231,11 +231,11 @@ void tsk_led_wifi( )
}
else if( LED_duty_WiFi < vreg_ctr[VREG_C_LED_BRIGHT] )
{
- LED_duty_WiFi += 1;
+ LED_duty_WiFi ++;
}
else
{
- LED_duty_WiFi -= 1;
+ LED_duty_WiFi --;
}
}
task_interval = 3;
@@ -320,7 +320,7 @@ void tsk_led_notify( )
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP;
if( info_LED.info_LED.last_loop != 255 ) // 255:[v
{
- loops++;
+ loops ++;
if( loops > info_LED.info_LED.last_loop )
{
frame = 0;
@@ -340,7 +340,7 @@ void tsk_led_notify( )
calc_info_led_next_frame( &LED_dim_status_info_B, info_LED.info_LED.blu[frame] );
}
- time_to_next_frame -= 1;
+ time_to_next_frame --;
}
}
diff --git a/branches/sim/led.h b/branches/sim/led.h
index e63093b..e92d209 100644
--- a/branches/sim/led.h
+++ b/branches/sim/led.h
@@ -31,11 +31,7 @@
#define LED_BRIGHT_MAX 0x00FF
// ====================================
-#ifdef _MCU_BSR_ // dgMpX
-#define WIFI_txLatch PIF21
-#else
-#define WIFI_txLatch PIF7
-#endif
+#define WIFI_txLatch PIF21 // dgMpX
diff --git a/branches/sim/led_cam.c b/branches/sim/led_cam.c
index 9298fdb..5e1c76e 100644
--- a/branches/sim/led_cam.c
+++ b/branches/sim/led_cam.c
@@ -35,7 +35,7 @@ void tsk_led_cam( )
{
if( task_interval != 0 )
{
- task_interval -= 1;
+ task_interval --;
return;
}
}
@@ -132,7 +132,7 @@ void cam_led_twl()
LED_CAM = 0;
state_led_cam = 0;
}
- task_interval = 600 / SYS_INTERVAL_TICK + 250;
+ task_interval = (u8)( 600 / SYS_INTERVAL_TICK ) + 250;
break;
case( TWL_CAMLED_ON ):
diff --git a/branches/sim/led_pow.c b/branches/sim/led_pow.c
index 8b8b37a..08afc5c 100644
--- a/branches/sim/led_pow.c
+++ b/branches/sim/led_pow.c
@@ -130,7 +130,7 @@ void tsk_led_pow( )
{
LED_duty_notify_blu = 0;
LED_duty_notify_grn = 0;
- LED_duty_notify_red = LED_pow_red ? 255: 0;
+ LED_duty_notify_red = ( LED_pow_red == 0 )? 0 : 255;
}
}
@@ -179,12 +179,12 @@ static void led_pow_sleep( )
led_fade_to2( LED_duty_pow_blu, &LED_dim_status_sleep );
// ̃t[ɐi߂H
- time_to_next_frame_sleep -= 1;
+ time_to_next_frame_sleep --;
if( time_to_next_frame_sleep == 0 )
{
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
- frame_sleep += 1;
+ frame_sleep ++;
if( frame_sleep >= LED_SLEEP_FRAME_NUM -1 )
{
frame_sleep = 0;
@@ -244,7 +244,7 @@ static void led_pow_bt_empty()
led_fade_to( LED_duty_pow_blu, 0 );
// Ԃ̓_Ńp^[wł
- delay += 1;
+ delay ++;
if( delay < 64 ) // t[̕ێԉ҂
{
return;
@@ -259,7 +259,7 @@ static void led_pow_bt_empty()
{
LED_pow_red = 0;
}
- red_blink_poi += 1;
+ red_blink_poi ++;
if( red_blink_poi >= 32 )
{
red_blink_poi = 0;
diff --git a/branches/sim/loader.c b/branches/sim/loader.c
index 478269a..3c0778a 100644
--- a/branches/sim/loader.c
+++ b/branches/sim/loader.c
@@ -109,7 +109,7 @@ void main( )
// ʏ̓d
// drڑAƑ҂Ă݂(`^O)
u16 pwup_delay0;
- for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0-- ){;};
+ for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0 -- ){;};
}
hdwinit2( );
@@ -144,7 +144,7 @@ void chk_firm_broke()
if( *( u8 * )( MGC_FOOT +2 ) != ':' ) // ς̂܂
{
- comp += 1;
+ comp ++;
}
if( comp != 0 )
@@ -376,7 +376,7 @@ void wait_ms( u8 ms ){
ms--;
fine = 860;
while( fine != 0 ){
- fine -= 1;
+ fine --;
}
}
}
diff --git a/branches/sim/pedo_alg_thre_det2.c b/branches/sim/pedo_alg_thre_det2.c
index 2500c83..1454a73 100644
--- a/branches/sim/pedo_alg_thre_det2.c
+++ b/branches/sim/pedo_alg_thre_det2.c
@@ -39,7 +39,6 @@ typedef struct{
// ========================================================
-static void hosu_increment_if_necessary();
static u16 get_long_hour();
static u16 calc_hours_spend( u8 );
@@ -115,7 +114,7 @@ void pedometer()
norm_hist[ hist_indx & TAP-1 ] = normh * 256 + norml;
#endif
- hist_indx += 1;
+ hist_indx ++;
// qXgɃtB^(fir)|āA̒l߂ //
filterd = 0;
@@ -130,7 +129,7 @@ void pedometer()
/*
if( acc_norm[0] < acc_norm_temp )
{
- t_rise += 1;
+ t_rise ++;
if( t_rise == 0 )
t_rise == 254;
}
@@ -175,7 +174,10 @@ void pedometer()
}
else
{
- interval_hh += ( interval_hh != 255 ) ? 1: 0; // OaZĊyɏ炢̂
+ if( interval_hh != 255 ) // OaZĊyɏ炢̂
+ {
+ interval_hh ++;
+ }
}
// (2) ߂̋ɏ̎
@@ -188,12 +190,14 @@ void pedometer()
}
else
{
- time_l += ( time_l != 255 ) ? 1: 0;
+ if( time_l != 255 )
+ {
+ time_l ++;
+ }
}
}
-
/*=========================================================
@{P
@@ݐςCNg
@@ -206,7 +210,7 @@ void pedometer()
#define HOSU_NODATA 0xFFFF
#define HOSU_MAX 0xFFFE
-static void hosu_increment_if_necessary()
+void hosu_increment_if_necessary()
{
u8 year_compd; // hourEςݔNBcomp(ensation -ed)
@@ -238,8 +242,12 @@ static void hosu_increment_if_necessary()
// vZ@U뎞ōɂȂꍇAA23ɏ㏑
if( now_longhour == (u16)-1 ) // }WbNio[Ƃł͂ȂĎۂɌvZʂ-1
{
- now_longhour = ( ( 365 + ( is_firstyear(year_compd) ? 1: 0 )) * 24 ) -1;
- year_compd -= 1;
+ now_longhour = 365 * 24 -1;
+ if( is_firstyear(year_compd) )
+ {
+ now_longhour += 24;
+ }
+ year_compd --;
}
fill_hosu_hist_hours( calc_hours_spend( year_compd ) ); // ݃|C^̍XVs
@@ -269,7 +277,7 @@ static void hosu_increment_if_necessary()
else
{
// ʏpX
- pool.vreg_c_ext.pedo_log[ p_record ] += 1;
+ pool.vreg_c_ext.pedo_log[ p_record ] ++;
}
// ݐς̍XV //
@@ -305,7 +313,7 @@ static void fill_hosu_hist_hours( u16 hours )
while( hours != 0 )
{
// Vdl@ςŒ~
- p_record += 1;
+ p_record ++;
#if 1 // debug
if( p_record >= PEDOMETER_LOG_SIZE )
{
@@ -318,7 +326,7 @@ static void fill_hosu_hist_hours( u16 hours )
{
pool.vreg_c_ext.pedo_log[ p_record ] = 0;
}
- hours -= 1;
+ hours --;
}
return;
@@ -335,7 +343,7 @@ void clear_hosu_hist()
u8 hours = PEDOMETER_LOG_SIZE;
do
{
- hours -= 1;
+ hours --;
pool.vreg_c_ext.pedo_log[ hours ] = 0xFFFF;
}
while( hours != 0 );
@@ -383,7 +391,7 @@ u8 hosu_read( )
if( iic_burst_state <= 5 )
{
rv = *( (u8*)&cal_buff + iic_burst_state ); //
- iic_burst_state += 1;
+ iic_burst_state ++;
return( rv );
}
else
@@ -404,7 +412,7 @@ u8 hosu_read( )
}
else
{
- p_record_buffer -= 1;
+ p_record_buffer --;
}
}
pedolog_read_msb ^= 1;
@@ -450,7 +458,7 @@ static u16 get_long_hour()
if( is_leapyear(year) && ( 3 <= month ))
{
// [NŁA[
- long_hour += 1;
+ long_hour ++;
}
long_hour += day - 1;
long_hour *= 24; //
@@ -531,7 +539,12 @@ static u16 calc_hours_spend( u8 year )
else if( cal_log_latest_year == ( year -1 ) )
{
// N܂łƂ
- return( ( ( 365 + ( is_firstyear(year) ? 1: 0 )) * 24 ) - last_hour_fny + now_longhour );
+ u16 temp = 365 - last_hour_fny + now_longhour;
+ if( is_firstyear(year) )
+ {
+ temp += 24;
+ }
+ return( temp );
}
else if( cal_log_latest_year < year )
{
diff --git a/branches/sim/pedometer.h b/branches/sim/pedometer.h
index 56252a0..d2b1376 100644
--- a/branches/sim/pedometer.h
+++ b/branches/sim/pedometer.h
@@ -14,6 +14,7 @@ extern bit pedolog_read_msb;
#define hosu_read_end() pedolog_read_msb = 0
u8 hosu_read( );
+void hosu_increment_if_necessary();
void fill_hosu_hist_hours( u16 );
void clear_hosu_hist();
void pedometer();
diff --git a/branches/sim/pm.c b/branches/sim/pm.c
index 41936e4..5b1d3db 100644
--- a/branches/sim/pm.c
+++ b/branches/sim/pm.c
@@ -33,7 +33,6 @@ u8 chg_led_override; //
static u16 bt_volt16;
static bit ntr_pm_bt_low_old;
-bit BT_CHG_STAT_Change;
bit BT_IN_CHG_delayed_n;
bit temp_zone_charge_disable; // xŏ[d~鎞ɃqXeVXt邽
@@ -46,6 +45,11 @@ static bt_param_* p_bt_param;
static err send_cmd_mgic_2B( u8 reg, u16 dat );
static err read_mgic_2B( u8 reg, u8* dat );
+static err read_BT_SOC( u8* dest );
+static err read_BT_voltage( u8* dest );
+
+static u8 conv_ctr_bt_to_twl_bt();
+
u8 pm_reg_bit_vddlcd;
@@ -97,7 +101,7 @@ void tsk_batt( )
if( system_status.pwr_state != OFF_TRIG )
{
- if( task_interval-- != 0 )
+ if( task_interval -- != 0 )
{
return;
}
@@ -123,11 +127,18 @@ void tsk_batt( )
bt_get_charge_status(); // CCIC
- LED_CHARGE = ( ! BT_IN_CHG_delayed_n )? 1: 0; // LEDɔf
+ if( ! BT_IN_CHG_delayed_n ) // LEDɔf
+ {
+ LED_CHARGE = 1;
+ }
+ else
+ {
+ LED_CHARGE = 0;
+ }
// A_v^ȂuԁA[dłb킴Ɠ_BdĂ邱Ƃ킩点邽߁B
if( chg_led_override != 0 ){ // 猩킩邪Au(NbN)鎖BCl邩ȁcH
- chg_led_override -= 1;
+ chg_led_override --;
LED_CHARGE = 1;
}
@@ -233,14 +244,12 @@ void bt_get_charge_status()
***********************************************************/
void pm_chk_adapter()
{
- static u8 pm_extdc_old;
- u8 temp_pm_extdc;
+ static bit pm_extdc_old;
- temp_pm_extdc = (u8)!PM_EXTDC_n; // volatilê
- if( pm_extdc_old != temp_pm_extdc )
+ if( pm_extdc_old != PM_EXTDC_n ) // HAL ʂ߁A PM_EXTDC_n volatile ɂSzȂ
{
- pm_extdc_old = temp_pm_extdc;
- if( temp_pm_extdc )
+ pm_extdc_old = PM_EXTDC_n;
+ if( PM_EXTDC_n )
{
// h
set_bit( 1, vreg_ctr[VREG_C_STATUS], REG_BIT_POW_SUPPLY );
@@ -376,7 +385,7 @@ void BT_model_detect()
else
{
PM_SW_HOME_n_TSBOARD = 0;
- SW_HOME_n_TSBOARD = 0; /// ǂł
+ SW_HOME_n_TSBOARD_RAW = 0; /// @open ǂł
}
// dr[J[̎ //
@@ -473,7 +482,7 @@ static void BT_mgic_init()
u8 loop;
// 16oCgƂɋƂ̂Ɓ@imCYƂǁAӖHj
- for( loop = 0; loop < 4; loop++ )
+ for( loop = 0; loop < 4; loop ++ )
{
iic_mcu_set_wo_dma( );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM + loop*16, 16, p_bt_param->mg_param + loop*16 );
@@ -533,7 +542,7 @@ task_status_immed tski_BT_temp_update( )
{
if( heikinka < 40 )
{
- heikinka++;
+ heikinka ++;
}
else
{
@@ -587,151 +596,140 @@ task_status_immed tski_BT_temp_update( )
@BT_chk()sĂKv܂B
**********************************************************/
void BT_get_left(){
- u8 temp_fuel[2];
+ u8 temp[2];
static u16 hysteresis;
+ u8 reg_volatile_temp_bt_remain,reg_volatile_temp_bt_remain_fine; // I2C̔ǂݍ݂ł̂h~ Lbv̏
-#ifdef _DEBUG_BT_FUEL_
- if( vreg_ctr[ VREG_C_COMMAND3 ] == 'd' )
+ if( system_status.model == MODEL_TS_BOARD
+ || system_status.model == MODEL_SHIROBAKO )
{
- vreg_ctr[ VREG_C_BT_REMAIN ] = vreg_ctr[ VREG_C_DBG01 ];
- }
- else
-#endif
- {
- if( system_status.model == MODEL_TS_BOARD )
+ // TS & //
+ // drc
+ if( read_BT_SOC( temp ) == ERR_SUCCESS )
{
- // TS //
- vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
- vreg_ctr[ VREG_C_BT_VOLTAGE ] = 200;
- }
- else if( system_status.model == MODEL_SHIROBAKO )
- {
- // //
- // drc
- if( read_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
- {
- // G~[V@\
- vreg_ctr[ VREG_C_BT_REMAIN ] = 99;
- }
- else
- {
- vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0];
- vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1];
- }
-
-//*
- // drd
- if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_fuel ) == ERR_SUCCESS )
- {
- vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_fuel[0];
- }
- else
-//*/
- {
- vreg_ctr[ VREG_C_BT_VOLTAGE ] = 200;
- }
+ reg_volatile_temp_bt_remain = temp[0];
+ reg_volatile_temp_bt_remain_fine = temp[1];
}
else
{
- // @ //
- u8 temp_v[2];
- u8 temp_force_fuel_left;
-
- // cʃ[h
- if( read_mgic_2B( BT_GAUGE_REG_SOC, temp_fuel ) != ERR_SUCCESS )
- {
- // cICNACK cobe͂ꂽ
- vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR;
- bt_authorized = false;
- vreg_ctr[ VREG_C_BT_REMAIN ] = 0;
- force_off = true;
- }
- else
- {
- // obep[^̊WŃrbgVtgKv
- bt_volt16 = temp_fuel[0] * 256 + temp_fuel[1];
- bt_volt16 /= p_bt_param->v_scale;
- temp_fuel[0] = (u8)(( bt_volt16 >> 8 ) & 0xFF);
- if( temp_fuel[0] == 0 )
- {
- // 0%̎1.00%ɏグ
- // [dJn炭͓drcʂ̂
- // 0%ɓBĂ܂Ƃ̂
- temp_fuel[0] = 1;
- temp_fuel[1] = 0;
- }
- else
- {
- temp_fuel[1] = (u8)(bt_volt16 & 0xFF);
- }
-
-
- // dŃLbv
- if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS )
- {
- vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_v[0];
-
- bt_volt16 = ( temp_v[0] * 256 + temp_v[1] );
-
- if( bt_volt16 > V_TH_30 )
- {
- temp_force_fuel_left = 100;
- hysteresis = 0;
- }
- else if( bt_volt16 - hysteresis > V_TH_LO )
- {
- temp_force_fuel_left = 30;
- hysteresis = 0;
- }
- else if( bt_volt16 > V_TH_EMPTY )
- {
- temp_force_fuel_left = BATT_TH_LO; //
- hysteresis = 500;
- }
- else if( bt_volt16 > V_TH_ZERO )
- {
- temp_force_fuel_left = BATT_TH_EMPTY;
- hysteresis = 500;
- }
- else if( bt_volt16 > V_TH_FORCE_OFF )
- {
- temp_force_fuel_left = 0;
- hysteresis = 500;
- }
- else
- {
- force_off = true;
- hysteresis = 500;
- }
- }
- }
-
- // [diA_v^hĂĵɏ[dĂȂ
- // AiȂƂjf̓drcʂ60%ȏiCCICoOj
- // = [dBdrւĂMGIC100%ԂȂ
- if( !BT_CHG_Ena_n && BT_IN_CHG_delayed_n ){
- vreg_ctr[ VREG_C_BT_REMAIN ] = 100;
- vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0;
- }
- else
- { // ȂɃLbv
- if( temp_force_fuel_left > temp_fuel[0] )
- {
- vreg_ctr[ VREG_C_BT_REMAIN ] = temp_fuel[0];
- vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = temp_fuel[1];
- }
- else
- {
- vreg_ctr[ VREG_C_BT_REMAIN ] = temp_force_fuel_left;
- vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = 0;
- }
- }
+ reg_volatile_temp_bt_remain = 99;
+ reg_volatile_temp_bt_remain_fine = 0;
}
- if( system_status.taikendai_nbd )
+
+ // drd
+ if( read_BT_voltage( temp ) == ERR_SUCCESS )
{
- vreg_ctr[ VREG_C_BT_REMAIN ] = 100;
+ vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0];
+ }
+ else
+ {
+ vreg_ctr[ VREG_C_BT_VOLTAGE ] = 200;
}
}
+ else
+ {
+ // @ //
+ u8 temp_v[2];
+ u8 temp_force_fuel_left;
+
+ // cʃ[h
+ if( read_BT_SOC( temp ) != ERR_SUCCESS )
+ {
+ // cICNACK cobe͂ꂽ
+ vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR;
+ bt_authorized = false;
+ reg_volatile_temp_bt_remain = 0;
+ force_off = true;
+ }
+ else
+ {
+ // obep[^̊WŃrbgVtgKv
+ bt_volt16 = temp[0] * 256 + temp[1];
+ bt_volt16 /= p_bt_param->v_scale;
+ temp[0] = (u8)(( bt_volt16 >> 8 ) & 0xFF);
+ if( temp[0] == 0 )
+ {
+ // 0%̎1.00%ɏグ
+ // [dJn炭͓drcʂ̂
+ // 0%ɓBĂ܂Ƃ̂
+ temp[0] = 1;
+ temp[1] = 0;
+ }
+ else
+ {
+ temp[1] = (u8)(bt_volt16 & 0xFF);
+ }
+
+
+ // dŃLbv
+ if( read_BT_voltage( temp_v ) == ERR_SUCCESS )
+ {
+ vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp_v[0];
+
+ bt_volt16 = ( temp_v[0] * 256 + temp_v[1] );
+
+ if( bt_volt16 > V_TH_30 )
+ {
+ temp_force_fuel_left = 100;
+ hysteresis = 0;
+ }
+ else if( bt_volt16 - hysteresis > V_TH_LO )
+ {
+ temp_force_fuel_left = 30;
+ hysteresis = 0;
+ }
+ else if( bt_volt16 > V_TH_EMPTY )
+ {
+ temp_force_fuel_left = BATT_TH_LO; //
+ hysteresis = 500;
+ }
+ else if( bt_volt16 > V_TH_ZERO )
+ {
+ temp_force_fuel_left = BATT_TH_EMPTY;
+ hysteresis = 500;
+ }
+ else if( bt_volt16 > V_TH_FORCE_OFF )
+ {
+ temp_force_fuel_left = 0;
+ hysteresis = 500;
+ }
+ else
+ {
+ force_off = true;
+ hysteresis = 500;
+ }
+ }
+ }
+
+ // [diA_v^hĂĵɏ[dĂȂ
+ // AiȂƂjf̓drcʂ60%ȏiCCICoOj
+ // = [dBdrւĂMGIC100%ԂȂ
+ if( !BT_CHG_Ena_n && BT_IN_CHG_delayed_n ){
+ reg_volatile_temp_bt_remain = 100;
+ reg_volatile_temp_bt_remain_fine = 0;
+ }
+ else
+ { // ȂɃLbv
+ if( temp_force_fuel_left > temp[0] )
+ {
+ reg_volatile_temp_bt_remain = temp[0];
+ reg_volatile_temp_bt_remain_fine = temp[1];
+ }
+ else
+ {
+ reg_volatile_temp_bt_remain = temp_force_fuel_left;
+ reg_volatile_temp_bt_remain_fine = 0;
+ }
+ }
+ }
+
+ if( system_status.taikendai_nbd ) // dr[qɓdȂĂĒlsȂߏ㏑B
+ {
+ reg_volatile_temp_bt_remain = 100;
+ }
+
+ vreg_ctr[ VREG_C_BT_REMAIN ] = reg_volatile_temp_bt_remain;
+ vreg_ctr[ VREG_C_BT_REMAIN_FINE ] =reg_volatile_temp_bt_remain_fine;
// twl̃WX^XV@(CTRɊ荞ݓOɍXVȂƊ荞݂̃^C~O܂Ȃ)
bt_batt_update_twl();
@@ -740,7 +738,7 @@ void BT_get_left(){
{
static u8 bt_remain_old_ctr;
- if( bt_remain_old_ctr != vreg_ctr[ VREG_C_BT_REMAIN ] )
+ if( bt_remain_old_ctr != reg_volatile_temp_bt_remain )
// CTRɒʒm
{
if( (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) && ( BATT_TH_LO < bt_remain_old_ctr ))||
@@ -1210,7 +1208,8 @@ void codec_reg_init()
{
wait_ms( 100 );
- ntr_pm_bt_low_old = ( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH; // 1œdr
+ ntr_pm_bt_low_old = conv_ctr_bt_to_twl_bt();
+
iic_mcu_write_a_byte_codec( CODEC_REG_BT, (u8)ntr_pm_bt_low_old ); // SoC 珑
vol_reset();
@@ -1322,7 +1321,7 @@ static void bt_batt_update_ntr()
else
{
- flag = (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH ); // 1œdr
+ flag = conv_ctr_bt_to_twl_bt();
if(( ntr_pm_bt_low_old != flag ) || !initialized )
{
@@ -1332,3 +1331,54 @@ static void bt_batt_update_ntr()
}
}
}
+
+
+/* ========================================================
+========================================================= */
+static err read_BT_SOC( u8* dest )
+{
+ if( vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] != 0xFF )
+ {
+ *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ];
+ *(dest+1) = 0x00;
+ return ERR_SUCCESS;
+ }
+ else
+ {
+ return( read_mgic_2B( BT_GAUGE_REG_SOC, dest ) );
+ }
+}
+
+
+/* ========================================================
+========================================================= */
+static err read_BT_voltage( u8* dest )
+{
+ if( vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] != 0xFF )
+ {
+ *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ];
+// *(dest+1) = 0x00; // gȂ@ǂQoCg[hpӂĂȂ̂ł
+ return ERR_SUCCESS;
+ }
+ else
+ {
+ return( read_mgic_2B( BT_GAUGE_REG_VCELL, dest ) );
+ }
+}
+
+
+/* ========================================================
+ drcʂtwlɃtOɂĕԂ
+========================================================= */
+static u8 conv_ctr_bt_to_twl_bt()
+{
+// ntr_pm_bt_low_old = ( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH; // 1œdr
+ if( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )
+ {
+ return NTR_PM_BT_EMPTY;
+ }
+ else
+ {
+ return NTR_PM_BT_ENOUGH;
+ }
+}
diff --git a/branches/sim/renge/renge.c b/branches/sim/renge/renge.c
index b261eec..ef015f2 100644
--- a/branches/sim/renge/renge.c
+++ b/branches/sim/renge/renge.c
@@ -105,11 +105,11 @@ err renge_task_interval_run(){
renge_task_interval_run_force = false; // N^XNA荞ރ^XNŃtOȂ̂
if( renge_flg_interval != 0 )
{
- renge_flg_interval -= 1;
+ renge_flg_interval --;
WDT_Restart( );
}
EI();
- for( i = 0; i != TSK_LAST; i += 1 )
+ for( i = 0; i != TSK_LAST; i ++ )
{
tasks[ i ]();
// N^XNԂɋ
@@ -157,7 +157,7 @@ err renge_task_immed_add( task_status_immed (*new_task)() ){
// Xg̋̐擪ɓo^
// 폜̃^XŃA폜}[N(TSK_IMM_DELETED_)ƂȂAƂ͖Iɋʂ
// do^
- for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i += 1 )
+ for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i ++ )
{
DI();
if( tasks_immed[ i ] == TSK_IMM_EMPTY_ )
@@ -196,7 +196,7 @@ err renge_task_immed_run(){
if( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ )
{
DI();
- for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id += 1 ){
+ for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id ++ ){
if( tasks_immed[ list_id ] == TSK_IMM_EMPTY_ ){
// Xg
EI();
@@ -257,7 +257,7 @@ err renge_task_immed_run(){
if( tasks_immed[ j ] == TSK_IMM_EMPTY_ )
{
do{
- j -= 1;
+ j --;
DI();
tasks_immed[ j ] = TSK_IMM_EMPTY_;
// XgOlߊ
@@ -270,7 +270,7 @@ err renge_task_immed_run(){
// Ol߂ׂ^XN
tasks_immed[ i ] = tasks_immed[ j ];
tasks_immed[ j ] = TSK_IMM_DELETED_;
- i += 1;
+ i ++;
EI();
}
}
@@ -280,7 +280,7 @@ err renge_task_immed_run(){
{
// ̃^XNAؗ
}
- i += 1;
+ i ++;
}
}
}
diff --git a/branches/sim/rtc.c b/branches/sim/rtc.c
index d1b44b9..0bdf7bb 100644
--- a/branches/sim/rtc.c
+++ b/branches/sim/rtc.c
@@ -168,5 +168,5 @@ void rtc_unlock( )
======================================================== */
__interrupt void int_rtc_int( )
{
- renge_flg_interval += 1; // CNg/fNg߂ĝ DI()sv
+ renge_flg_interval ++; // CNg/fNg߂ĝ DI()sv
}
diff --git a/branches/sim/self_flash.c b/branches/sim/self_flash.c
index e314276..d1ff4dd 100644
--- a/branches/sim/self_flash.c
+++ b/branches/sim/self_flash.c
@@ -133,7 +133,7 @@ void firm_update( )
//iVt@[ƂɎcĂAȑÕt@[̃tb^j
for( target_block = INACTIVE_BOOTSECT_TOP;
target_block < ALTERNATE_FIRMTOP;
- target_block += 1 )
+ target_block ++ )
{
FSL_Erase( target_block );
}
@@ -144,7 +144,7 @@ void firm_update( )
// IAX^[gAbv[`ɔ
for( target_block = INACTIVE_BOOTSECT_TOP;
target_block < ALTERNATE_FIRMTOP;
- target_block += 1 )
+ target_block ++ )
{
u8 my_spd;
@@ -155,7 +155,7 @@ void firm_update( )
//
for( split_write_count = 0;
split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM;
- split_write_count += 1 )
+ split_write_count ++ )
{
u8* p_buffer = &pool.self_update_work[0];
u16 buff_written_size = 0;
@@ -171,8 +171,8 @@ void firm_update( )
IICAIF = 0;
*p_buffer = IICA;
WREL = 1;
- p_buffer += 1;
- buff_written_size += 1;
+ p_buffer ++;
+ buff_written_size ++;
}
while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE )
&& !SPD );
@@ -233,7 +233,7 @@ void firm_update( )
}
if( *( __far u8 * )( N_MGC_L +2 ) != ':' ) // ς̂܂
{
- comp += 1;
+ comp ++;
}
if( comp == 0 )
@@ -282,7 +282,7 @@ void firm_restore( )
}
if( *( u8 * )( MGC_FOOT_BKUP ) == 0xFF )
{
- comp += 1;
+ comp ++;
}
if( comp != 0 )
@@ -318,7 +318,7 @@ void firm_restore( )
// d{^œdoff
static u8 sw_hold_count;
- if( !SW_POW_n )
+ if( !SW_POW_n_RAW )
{
sw_hold_count++;
}
@@ -472,7 +472,7 @@ static err firm_duplicate( u8 block_src,
// ݐubN̐JԂ
for( target_block = block_dest;
target_block < ( block_dest + FIRM_SIZE );
- target_block += 1 )
+ target_block ++ )
{
led_print(2);
WDT_Restart( );
@@ -482,7 +482,7 @@ static err firm_duplicate( u8 block_src,
{
led_print(3);
FSL_Erase( target_block );
- if( --retry_error == 0 )
+ if( -- retry_error == 0 )
{
// tbVH
FSL_Close( );
@@ -494,7 +494,7 @@ static err firm_duplicate( u8 block_src,
// ݕJԂ
for( split_write_count = 0;
split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM;
- split_write_count += 1 )
+ split_write_count ++ )
{
u16 buff_written_size;
u8* p_buff;
@@ -505,9 +505,9 @@ static err firm_duplicate( u8 block_src,
do
{
*p_buff = *p_src;
- p_src += 1;
- p_buff += 1;
- buff_written_size +=1;
+ p_src ++;
+ p_buff ++;
+ buff_written_size ++;
}
while( buff_written_size != SELF_UPDATE_BUFF_SIZE );
diff --git a/branches/sim/sim/sfrAlias.h b/branches/sim/sim/sfrAlias.h
index 6161064..7317751 100644
--- a/branches/sim/sim/sfrAlias.h
+++ b/branches/sim/sim/sfrAlias.h
@@ -68,7 +68,7 @@
// INTP6
// PM
-#define PM_EXTDC_n mcuRegP[ _P7_0 ]
+#define PM_EXTDC_n_RAW mcuRegP[ _P7_0 ]
// INTP7
//#define BT_TEMP mcuRegP[ _P15_0 ]
// ANI8
@@ -89,25 +89,25 @@
#define BT_CHG_Ena_n ( mcuRegP[ _P4_3 ] )
// [d(in)
-#define BT_IN_CHG_n mcuRegP[ _P5_1 ]
+#define BT_IN_CHG_n_RAW mcuRegP[ _P5_1 ]
#define PU_BT_IN_CHG_n mcuRegPU[ _P5_1 ]
-#define SW_WIFI_n mcuRegP[ _P7_4 ]
+#define SW_WIFI_n_RAW mcuRegP[ _P7_4 ]
#define PM_SW_WIFI_n mcuRegPM[ _P7_4 ]
// KR4
-#define SW_POW_n mcuRegP[ _P7_3 ]
+#define SW_POW_n_RAW mcuRegP[ _P7_3 ]
// KR3
#define SW_SEL_n mcuRegP[ _P2_3 ]
#define PM_SW_SEL_n mcuRegPM[ _P2_3 ]
//#define VOL mcuRegP[ _P2_7 ]
// ANI7
-#define SW_HOME_n_JIKKI mcuRegP[ _P20_4 ]
+#define SW_HOME_n_JIKKI_RAW mcuRegP[ _P20_4 ]
#define PM_SW_HOME_n_JIKKI mcuRegPM[ _P20_4 ]
#define PU_SW_HOME_n_JIKKI mcuRegPU[ _P20_4 ]
// INTP22
-#define SW_HOME_n_TSBOARD mcuRegP[ _P2_0 ]
+#define SW_HOME_n_TSBOARD_RAW mcuRegP[ _P2_0 ]
#define PM_SW_HOME_n_TSBOARD mcuRegPM[ _P2_0 ]
// WiFi
@@ -158,7 +158,7 @@
#define DIPSW_TAIKENDAI_NBD 1
-#define SHELL_OPEN mcuRegP[ _P7_1 ] // INTP5 ӂJ (L)
+#define SHELL_OPEN_RAW mcuRegP[ _P7_1 ] // INTP5 ӂJ (L)
//#define DBG_VR mcuRegP[ _P2_6 ]
// ANI6
diff --git a/branches/sim/sw.c b/branches/sim/sw.c
index d4ccc7c..70af168 100644
--- a/branches/sim/sw.c
+++ b/branches/sim/sw.c
@@ -36,8 +36,6 @@ bit SW_pow_mask;
u8 SW_home_count, SW_wifi_count, SW_home_count_rel;
u8 sw_wifi_mukan_time;
-bit SW_HOME_n;
-
u16 off_timeout_timer;
u16 sw_pwsw_mukan_time;
@@ -54,7 +52,7 @@ u16 sw_pwsw_mukan_time;
if( mask != 0 ){ \
counter = 0; \
}else{ \
- counter += 1; \
+ counter ++; \
if( counter == 0 ) counter = -1; \
} \
} \
@@ -64,14 +62,14 @@ u16 sw_pwsw_mukan_time;
#define chk_clicked( button, count, irq_bit_name ) \
if( !button ) \
{ \
- if( count <= CLICK_THRESHOLD ) \
+ if( count < CLICK_THRESHOLD ) \
{ \
- count += 1; \
- } \
- if( count == CLICK_THRESHOLD ) \
- { \
- count += 1; \
- set_irq( VREG_C_IRQ0, irq_bit_name ); \
+ count ++; \
+ if( count == CLICK_THRESHOLD ) \
+ { \
+ count ++; \
+ set_irq( VREG_C_IRQ0, irq_bit_name ); \
+ } \
} \
} \
else \
@@ -94,7 +92,7 @@ void tsk_sw( )
SW_pow_count = 0; // JEgNA
}
- if( --task_interval != 0 )
+ if( -- task_interval != 0 )
{
return;
}
@@ -131,7 +129,7 @@ void tsk_sw( )
if( off_timeout_timer != 0 ) // 荞A^CAEgŋItB
{
- off_timeout_timer -= 1;
+ off_timeout_timer --;
if( off_timeout_timer == 1 )
{
force_off = true;
@@ -163,19 +161,6 @@ void tsk_sw( )
count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // {^Ԃ̃JEg
// HOME XCb` //
- switch( system_status.model )
- {
- case( MODEL_JIKKI ):
- case( MODEL_SHIROBAKO ):
- SW_HOME_n = SW_HOME_n_JIKKI; // ڑ̃|[gႤ
- break;
- case( MODEL_TS_BOARD ):
- SW_HOME_n = SW_HOME_n_TSBOARD;
- break;
- default:
- SW_HOME_n = 1; // Ă
- }
-
chk_clicked( SW_HOME_n, SW_home_count, REG_BIT_SW_HOME_CLICK );
chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE );
diff --git a/branches/sim/task_debug.c b/branches/sim/task_debug.c
index e6e0785..4c520d9 100644
--- a/branches/sim/task_debug.c
+++ b/branches/sim/task_debug.c
@@ -43,7 +43,7 @@ void tsk_debug( )
static u8 count = 0;
// fobOLEDi8bitj̏
temp = iic_mcu_read_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO );
- count += 1;
+ count ++;
iic_mcu_write_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO, count );
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, count );
}
diff --git a/branches/sim/task_misc.c b/branches/sim/task_misc.c
index 3ad80a2..e88057b 100644
--- a/branches/sim/task_misc.c
+++ b/branches/sim/task_misc.c
@@ -157,7 +157,7 @@ void update_LED_3D()
{
if( LED_duty_3d != 0 )
{
- LED_duty_3d -= 1;
+ LED_duty_3d --;
}
}
else
@@ -166,12 +166,12 @@ void update_LED_3D()
{
if( LED_duty_3d < vreg_ctr[VREG_C_LED_BRIGHT] )
{
- LED_duty_3d += 1;
- }
- else
- {
- LED_duty_3d -= 1;
- }
+ LED_duty_3d ++;
+ }
+ else
+ {
+ LED_duty_3d --;
+ }
}
}
}
@@ -276,7 +276,7 @@ extern bit bt_authorized;
10) system_status.family
======================================================== */
-#define KOUMOKU 9
+#define KOUMOKU 18
u8 extinfo_read()
{
u8 infos[ KOUMOKU +1 ];
@@ -299,22 +299,42 @@ u8 extinfo_read()
infos[7] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) );
infos[8] = 1; // system_status.info_fullcolor;
infos[9] = system_status.family;
+
+ infos[10] = LED_pow_red;
+ infos[11] = LED_duty_pow_blu;
+ infos[12] = LED_duty_3d;
+ infos[13] = LED_duty_notify_red;
+ infos[14] = LED_duty_notify_grn;
+ infos[15] = LED_duty_notify_blu;
+ infos[16] = LED_CAM;
+ infos[17] = LED_duty_WiFi;
+ infos[18] =
+// ( PM_EXTDC_n ? REG_BIT_HAL0_PM_EXTDC_n : 0 ) // status0ɂ
+ 0
+ | ( BT_IN_CHG_n ? REG_BIT_HAL0_BT_IN_CHG_n : 0 )
+// | ( SHELL_OPEN ? REG_BIT_HAL0_SHELL_OPEN : 0 ) // status0ɂ
+ | ( BT_CHG_Ena_n ? REG_BIT_HAL0_RSV_5 : 0 ) // rbggp,out pin
+ | 0
+ | ( SW_WIFI_n ? REG_BIT_HAL0_SW_WIFI_n : 0 )
+ | ( SW_HOME_n ? REG_BIT_HAL0_SW_HOME_n : 0 )
+ | ( SW_POW_n ? REG_BIT_HAL0_SW_POW_n : 0 );
+
// ڑƂ͋CĂ!! //
- iic_burst_state++;
+ iic_burst_state ++;
return( infos[ iic_burst_state -1 ] );
}
#ifdef i2c_timeout_test
void i2c_mcu_error_monitor()
- {
- LED_duty_pow_blu = 0xff;
- LED_duty_3d = 0xff;
- LED_duty_notify_red = 0xff;
- LED_duty_notify_grn = 0xff;
- LED_duty_notify_blu = 0xff;
- LED_pow_red = 1;
- LED_CAM = 1;
- }
+{
+ LED_duty_pow_blu = 0xff;
+ LED_duty_3d = 0xff;
+ LED_duty_notify_red = 0xff;
+ LED_duty_notify_grn = 0xff;
+ LED_duty_notify_blu = 0xff;
+ LED_pow_red = 1;
+ LED_CAM = 1;
+}
#endif
diff --git a/branches/sim/task_status.c b/branches/sim/task_status.c
index 34665ff..0d07510 100644
--- a/branches/sim/task_status.c
+++ b/branches/sim/task_status.c
@@ -9,41 +9,29 @@
#include "incs_loader.h"
#include "renge\renge.h"
+#include "hal.h"
+
#include "pm.h"
#include "accero.h"
#include "adc.h"
#include "i2c_mcu.h"
-
+#include "led.h"
// ========================================================
#define INTERVAL_TSK_STATUS 4
-extern bit BT_CHG_STAT_Change;
-
-
/* ========================================================
Xe[^XWX^Ȃ
======================================================== */
void tsk_status( )
{
-// static u8 interval_task_status = 0;
static u8 state_old; // Xe[^Xωo荞 ̈
u8 diff;
-/*
- if( interval_task_status != 0 )
- {
- interval_task_status -= 1;
- return;
- }
- else
- {
- interval_task_status = (u8)( INTERVAL_TSK_STATUS / SYS_INTERVAL_TICK );
- }
-*/
- // WJ`FbN
+
+ // WJ`FbN
set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN );
// Xe[^XWX^W 荞 //
@@ -61,8 +49,6 @@ void tsk_status( )
{
if( diff & REG_BIT_BATT_CHARGE )
{
- BT_CHG_STAT_Change = true;
-
// [dԂɈȉ
if( vreg_ctr[VREG_C_STATUS] & REG_BIT_BATT_CHARGE )
{
diff --git a/branches/sim/task_sys.c b/branches/sim/task_sys.c
index b1b3420..935b2a8 100644
--- a/branches/sim/task_sys.c
+++ b/branches/sim/task_sys.c
@@ -33,7 +33,6 @@ static void force_off_check();
static void send_getup_to_soc();
-
//=========================================================
extern bit info_led_off;
extern bit going_to_sleep;
@@ -46,6 +45,10 @@ extern u8 chg_led_override;
extern bit i2c_mcu_time_out_error;
#endif
+
+//=========================================================
+#define PWSW_POWON_TIME (u8)( 20 / SYS_INTERVAL_TICK )
+
/* ========================================================
}CRŕKvȂ
Eȓd͂ɓ
@@ -54,9 +57,11 @@ extern bit i2c_mcu_time_out_error;
======================================================== */
void tsk_sys( )
{
- static u8 timeout = 0;
+ static u8 pwsw_timeout = 0; // d{^`^OB@^CAEg܂łɓdm肵Ȃoffɖ߂
- switch ( system_status.pwr_state )
+ hal_update();
+
+ switch ( system_status.pwr_state )
{
case ON_CHECK: //-------------------------------------------------------
// XCb`ȂǂŊ荞݂AX[vƂɗ܂B
@@ -66,21 +71,21 @@ void tsk_sys( )
// XCb`œdon
if( SW_pow_count != 0 )
{
- timeout = 0;
+ pwsw_timeout = 0;
}
else
{
- timeout += 1;
+ pwsw_timeout ++;
}
- if( timeout > 100 )
+ if( pwsw_timeout > 100 )
{
system_status.pwr_state = OFF; // XCb`̓mCYBQB
renge_task_interval_run_force = true;
return;
}
- if( SW_pow_count < 10 )
+ if( SW_pow_count < PWSW_POWON_TIME )
{
// XCb`̗lq
return;
@@ -91,14 +96,9 @@ void tsk_sys( )
SW_pow_mask = true;
- timeout = 0;
-
// for debug
#ifdef _DEBUG_BT_FUEL_
vreg_ctr[ VREG_C_DBG01 ] = 99;
-#endif
-#ifdef _DEBUG_BT_TEMP_
- vreg_ctr[ VREG_C_DBG01 ] = 0x80;
#endif
vreg_ctr[ VREG_C_COMMAND3 ] = 0;
@@ -198,19 +198,14 @@ void tsk_sys( )
iic_mcu_start();
-#ifdef _MCU_BSR_
// MK2 = ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ );
// PMK21 = 0; // wifi gȂ
PMK6 = 0; // pm_irq
-#else
- MK2L = ~INT_MSK2_WIFI_TX_KE3;
-#endif
// todo Iɂ͊SɃWX^
RBR_RESET_n = 1;
RBR_FLIGHT = 0;
-
// u[gAXe[^XƂȂXV
if( system_status.reboot )
{
@@ -245,7 +240,7 @@ void tsk_sys( )
// SLPĎ
if( going_to_sleep ) // SLP_REQ ̑Oɗ\
{
- timeout_sleep += 1;
+ timeout_sleep ++;
if( timeout_sleep == 0 || // I[o[t[ҁBsleepČLjuŋNċCȂ
( PIF0 && !SLP_REQ )) // slp荞݂CANĂ܂
{
@@ -348,7 +343,7 @@ void tsk_sys( )
// PU5 ̂܂
PU7 = bits8(0,0,0,0, 1,0,0,1); // PWSWI,PM_EXTTDC,( IRQ0_deactive(), PM_IRQ_deactive )
- PU_SW_HOME_n_JIKKI = 0; // SW_HOME ~
+ PU_SW_HOME_n_JIKKI = 0; // SW_HOME ~
IF0 = 0;
IF1 = 0;
@@ -359,10 +354,10 @@ void tsk_sys( )
PM_sys_pow_off( );
// |[gނ~[hɁBHłALo͂ɂȂႾ߂ȁB
- SW_WIFI_n = 0;
+ SW_WIFI_n_RAW = 0;
PM_SW_WIFI_n = 0;
- SW_HOME_n_JIKKI = 0;
+ SW_HOME_n_JIKKI_RAW = 0;
PM_SW_HOME_n_JIKKI = 0;
WL_TX = 0;
@@ -382,21 +377,29 @@ void tsk_sys( )
SW_pow_mask = true;
SW_pow_count = 0;
+ // HALfobOZbg
+ vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = 0;
+ vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0;
+ vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] = 0xFF;
+ vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF;
+ vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF;
/* FALLTHROUGH */
case OFF:
system_status.poweron_reason = NONE;
- if( !PM_EXTDC_n )
+ pwsw_timeout = 0;
+
+ if( !PM_EXTDC_n )
{
// A_v^hĂƂ͂̃ubNJԂB
BT_chk(); // v|[Oidrꌟô߁j
// ̒ŕKvI2C_m_initĂł܂
// A_v^LF[dxĎ
- if( SW_pow_count >= 10 ) // dXCb`̂҂
+ if( SW_pow_count > PWSW_POWON_TIME ) // dXCb`̂҂
{
// d
- system_status.pwr_state = ON_CHECK;
+ system_status.pwr_state = ON_CHECK; // ɉԃ`FbN͍iēdɓ
}
if( system_status.model != MODEL_JIKKI )
@@ -406,6 +409,7 @@ void tsk_sys( )
if( system_status.taikendai )
{
+ vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0;
// d
wait_ms(46);
system_status.poweron_reason = PWSW;
@@ -437,7 +441,20 @@ void tsk_sys( )
if( PM_EXTDC_n ) // ǂ^C~Oő}N邱Ƃ
{
- STOP( );
+ /*
+ vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = 0;
+ vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0;
+ vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] = 0xFF;
+ vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF;
+ vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF;
+*/
+ if( vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] != 0 ||
+ vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] == 0xFF )
+ {
+ NOP();
+ }
+
+ STOP( );
}
// N //
@@ -453,7 +470,6 @@ void tsk_sys( )
// d{^ŋNƂ
SW_pow_mask = false;
system_status.pwr_state = ON_CHECK;
- timeout = 0;
}
// else{
// A_v^ŋNƂ OFF ̒邮܂
@@ -530,8 +546,8 @@ static void chk_emergencyExit(){
{
if( !RESET1_n )
{
- if( shirobako_power_control_count != 255 )
- shirobako_power_control_count += 1;
+ if( shirobako_power_control_count != 255 )
+ shirobako_power_control_count ++;
}
else
{
diff --git a/branches/sim/user_define.h b/branches/sim/user_define.h
index 33477d7..fb4bf2b 100644
--- a/branches/sim/user_define.h
+++ b/branches/sim/user_define.h
@@ -78,7 +78,7 @@
// INTP6
// PM
-#define PM_EXTDC_n P7.0
+#define PM_EXTDC_n_RAW P7.0
// INTP7
//#define BT_TEMP P15.0
// ANI8
@@ -99,26 +99,26 @@
#define BT_CHG_Ena_n ( P4.3 )
// [d(in)
-#define BT_IN_CHG_n P5.1
+#define BT_IN_CHG_n_RAW P5.1
#define PM_BT_IN_CHG_n PM5.1
#define PU_BT_IN_CHG_n PU5.1
-#define SW_WIFI_n P7.4
+#define SW_WIFI_n_RAW P7.4
#define PM_SW_WIFI_n PM7.4
// KR4
-#define SW_POW_n P7.3
+#define SW_POW_n_RAW P7.3
// KR3
-#define SW_SEL_n P2.3
+#define SW_SEL_n P2.3
#define PM_SW_SEL_n PM2.3
//#define VOL P2.7
// ANI7
-#define SW_HOME_n_JIKKI P20.4
+#define SW_HOME_n_JIKKI_RAW P20.4
#define PM_SW_HOME_n_JIKKI PM20.4
#define PU_SW_HOME_n_JIKKI PU20.4
// INTP22
-#define SW_HOME_n_TSBOARD P2.0 // TS}U[pull up(P2͓p.u.)
+#define SW_HOME_n_TSBOARD_RAW P2.0 // TS}U[pull up(P2͓p.u.)
#define PM_SW_HOME_n_TSBOARD PM2.0
// WiFi
@@ -166,11 +166,11 @@
#define DIPSW_TAIKENDAI_NBD 0b01
-#define SHELL_OPEN P7.1 // INTP5 ӂJ (L)
+#define SHELL_OPEN_RAW P7.1 // INTP5 ӂJ (L)
-#define ACC_VALID P20.5
+#define ACC_VALID P20.5
#define PM_ACC_VALID PM20.5
-#define ACCEL_INT1 P2.5
+#define ACCEL_INT1 P2.5
#define PM_ACCEL_INT1 PM2.5
diff --git a/branches/sim/vreg_ctr.c b/branches/sim/vreg_ctr.c
index c8b3cc6..deccd94 100644
--- a/branches/sim/vreg_ctr.c
+++ b/branches/sim/vreg_ctr.c
@@ -31,8 +31,7 @@ u8 vreg_ctr[VREG_C_ENDMARK_ + 16];
u8 vreg_ctr[VREG_C_ENDMARK_];
#endif
-u8 vreg_free_adrs; // AhXł̂ł炭͂
-
+static u8 vreg_free_adrs; // AhXł̂ł炭͂
bit irq_readed; // AAA^̂߁B
@@ -156,19 +155,21 @@ void vreg_ctr_write( u8 adrs, u8 data )
case ( VREG_C_COMMAND1 ):
if( data != 0 )
{
+ // u8 temp; ԕϐgłȂ...
// TWLɊ荞݂
/// ۂɊ荞݂̂SoC
- vreg_twl[REG_TWL_INT_ADRS_IRQ] = ( ( data & REG_BIT_SEND_TWL_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det
- vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_RESET_DET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req
+ /// rbg̕тႤʓ|
+ vreg_twl[ REG_TWL_INT_ADRS_IRQ ] = ( ( data & REG_BIT_SEND_TWL_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det
+ vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_RESET_DET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req
- vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_OFF_DET ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req
+ vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_OFF_DET ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req
- vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_BATT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low
- vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_BATT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty
+ vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_BATT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low
+ vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= ( ( data & REG_BIT_SEND_TWL_BATT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty
if(( data & REG_BIT_SEND_TWL_VOL_CLICK ) != 0 )
{
- vreg_twl[REG_TWL_INT_ADRS_IRQ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed
+ vreg_twl[ REG_TWL_INT_ADRS_IRQ ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed
}
}
break;
@@ -177,12 +178,12 @@ void vreg_ctr_write( u8 adrs, u8 data )
if( iic_burst_state == 0 )
{
vreg_ctr[ VREG_C_LED_POW ] = data;
- iic_burst_state += 1;
+ iic_burst_state ++;
}
else if( iic_burst_state < 5 )
{
led_red_batt_empty.dats[ iic_burst_state -1 ] = data;
- iic_burst_state += 1;
+ iic_burst_state ++;
}
break;
@@ -200,7 +201,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
data = 1;
}
info_LED.bindata[ iic_burst_state ] = data;
- iic_burst_state += 1;
+ iic_burst_state ++;
if( iic_burst_state > 4 ) // p^[1ł
{
info_led_pattern_updated = true;
@@ -294,7 +295,7 @@ void vreg_ctr_write( u8 adrs, u8 data )
if( vreg_free_adrs < VREG_C_FREE_SIZE )
{
pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ] = data;
- vreg_free_adrs += 1;
+ vreg_free_adrs ++;
}
break;
@@ -322,13 +323,31 @@ void vreg_ctr_write( u8 adrs, u8 data )
// mcu_wdt_reset; // ̃R}hgӖȂłI
break;
#endif
+ case( 'p' ):
+ hosu_increment_if_necessary(); // A
+ break;
}
- vreg_ctr[ VREG_C_COMMAND3 ] = data;
+
+// vreg_ctr[ VREG_C_COMMAND3 ] = data;
break;
case ( VREG_C_RBR_CONTROL ):
- RBR_RESET_n = ( data & REG_BIT_RESET_n ) ? 1: 0;
- RBR_FLIGHT = ( data & REG_BIT_FLIGHT ) ? 1: 0;
+ if(( data & REG_BIT_RESET_n ) != 0 )
+ {
+ RBR_RESET_n = 1;
+ }
+ else
+ {
+ RBR_RESET_n = 0;
+ }
+ if(( data & REG_BIT_FLIGHT ) != 0 )
+ {
+ RBR_FLIGHT = 1;
+ }
+ else
+ {
+ RBR_FLIGHT = 0;
+ }
vreg_ctr[ VREG_C_RBR_CONTROL ] = data;
break;
@@ -356,7 +375,8 @@ void vreg_ctr_write( u8 adrs, u8 data )
NOP();
break;
- default:
+ // ʂɏ邾 /////////////////////////////////
+ default:
/*
case ( VREG_C_IRQ_MASK0 ):
case ( VREG_C_IRQ_MASK1 ):
@@ -374,6 +394,10 @@ void vreg_ctr_write( u8 adrs, u8 data )
case ( VREG_C_RTC_ALARM_YEAR ):
case ( VREG_C_ACC_W_ADRS ):
case ( VREG_C_OFF_DELAY ):
+ VREG_C_HAL_OVW_CONT0 = 0x52,
+ VREG_C_HAL_OVW_DAT0,
+ VREG_C_HAL_OVW_CONT1,
+ VREG_C_HAL_OVW_DAT1,
*/
if( adrs < VREG_C_ENDMARK_ )
{
@@ -436,7 +460,7 @@ u8 vreg_ctr_read( u8 adrs )
else if( adrs == VREG_CX_FREE_DATA )
{
temp = pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ];
- // vreg_free_adrs += 1; // ʼnZĂ܂ƃCfbNX
+ // vreg_free_adrs ++; // ʼnZĂ܂ƃCfbNX
return( temp );
}
else if( adrs == VREG_CX_INFO )
@@ -445,7 +469,14 @@ u8 vreg_ctr_read( u8 adrs )
}
else if( adrs == VREG_C_ACC_HOSU_SETTING )
{
- return( pedolog_overflow? 0x10: 0 );
+ if( pedolog_overflow )
+ {
+ return( 0x10 );
+ }
+ else
+ {
+ return( 0 );
+ }
}
if( adrs >= VREG_C_ENDMARK_ )
@@ -478,7 +509,7 @@ void vreg_ctr_after_read( u8 adrs, u8 data )
break;
case VREG_CX_FREE_DATA:
- vreg_free_adrs += 1;
+ vreg_free_adrs ++;
break;
default:
diff --git a/branches/sim/vreg_ctr.h b/branches/sim/vreg_ctr.h
index dc216c3..55a89df 100644
--- a/branches/sim/vreg_ctr.h
+++ b/branches/sim/vreg_ctr.h
@@ -27,7 +27,7 @@
// twl bl ̃~[[1: ( 1 << 3 )
// 0]( 1 << 2 )
#define REG_BIT_ACCERO_ERR ( 1 << 1 )
-#define REG_BIT_MGIC_ERR ( 1 << 0 )
+#define REG_BIT_MGIC_ERR ( 1 << 0 )
// VREG_C_IRQ0
#define REG_BIT_IRQ_WDT_RESET ( 1 << 7 )
@@ -113,10 +113,6 @@
#define REG_BIT_TWL_IRQ_BT_EMPTY 0x10
#define REG_BIT_TWL_IRQ_VOL_CHANGE 0x40
-// VOL option (0x26)
-//#define REG_BIT_VOL_UPDATE_TO_SLIDER ( 1 << 4 )
-//#define REG_BIT_VOL_BY_SPI ( 1 << 0 )
-// FORCE_REG̕ア
// CODECPMIC NTR ̑㗝WX^
#define REG_BIT_TWL_REQ_OFF ( 1 << 6 )
@@ -133,6 +129,24 @@
#define REG_BIT_RESET_n ( 1 << 0 )
+// HAL bitfields 0
+#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 )
+#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 )
+//#define REG_BIT_HAL0_PM_IRQ_n // gȂ
+#define REG_BIT_HAL0_RSV_5 ( 1 << 5 )
+#define REG_BIT_HAL0_WL_TX ( 1 << 4 )
+#define REG_BIT_HAL0_SHELL_OPEN ( 1 << 3 ) // statusɂ܂
+#define REG_BIT_HAL0_SW_WIFI_n ( 1 << 2 )
+#define REG_BIT_HAL0_SW_HOME_n ( 1 << 1 )
+#define REG_BIT_HAL0_SW_POW_n ( 1 << 0 )
+
+
+// HAL bitfields 1
+#define REG_BIT_HAL1_DIPSW_1 ( 1 << 3 )
+#define REG_BIT_HAL1_DIPSW_0 ( 1 << 2 )
+#define REG_BIT_HAL1_HW_DET_1 ( 1 << 1 )
+#define REG_BIT_HAL1_HW_DET_0 ( 1 << 0 )
+
/*
ev
#define REG_BIT_ ( 1 << 7 )
@@ -204,6 +218,8 @@ enum VREG_C_ADRS
VREG_C_LED_NOTIFY_DATA,
VREG_C_LED_NOTIFY_FLAG,
+ VREG_C_RBR_CONTROL = 0x2F,
+
VREG_C_RTC_SEC = 0x30,
VREG_C_RTC_MIN,
VREG_C_RTC_HOUR,
@@ -245,14 +261,23 @@ enum VREG_C_ADRS
VREG_C_ACC_HOSU_HOUR_BOUNDARY = 0x50,
VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC,
- VREG_C_RBR_CONTROL = 0x57,
+ VREG_C_HAL_OVW_CONT0 = 0x52,
+ VREG_C_HAL_OVW_DAT0,
+ VREG_C_HAL_OVW_CONT1,
+ VREG_C_HAL_OVW_DAT1,
+
+ VREG_C_HAL_OVW_BT_FUEL = 0x56,
+ VREG_C_HAL_OVW_BT_VOLTAGE,
VREG_C_VOL_CAL_MIN = 0x58,
VREG_C_VOL_CAL_MAX,
- VREG_C_ENDMARK_
+ VREG_C_HAL_OVW_TEMPERATURE = 0x5A,
+
+ VREG_C_ENDMARK_
};
+// Ԃ͔ɂāAmۂȂ߂ ʂ define Ă
#define VREG_CX_INFO 0x7F
#define VREG_CX_FREE_ADRS 0x60
#define VREG_CX_FREE_DATA 0x61
diff --git a/branches/sim/yav_mcu_bsr.plg b/branches/sim/yav_mcu_bsr.plg
index f05ed28..38e6e5c 100644
--- a/branches/sim/yav_mcu_bsr.plg
+++ b/branches/sim/yav_mcu_bsr.plg
@@ -1,31 +1,13 @@
C:\Windows\system32\cmd.exe /c c:\cygwin\bin\touch magic.c
-"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -w2 -no i2c_ctr.c
-bsr_system.h(55) : CC78K0R warning W0851: Data aligned in 'struct tag'
-i2c_ctr.c(77) : CC78K0R warning W0309: Unused 'reg_adrs_internal'
-i2c_ctr.c(277) : CC78K0R warning W0851: Data aligned in '@@DATA section'
-i2c_ctr.c(277) : CC78K0R warning W0851: Data aligned in '@@INIT section'
-Compilation complete, 0 error(s) and 4 warning(s) found.
-"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\i2c_ctr.asm
-Assembly complete, 0 error(s) and 0 warning(s) found.
-"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -w2 -no magic.c
-magic.c(16) : CC78K0R warning W0871: Data aligned after 'MGC_HEADdN' in 'MGC_MIMI section'
-magic.c(24) : CC78K0R warning W0871: Data aligned after 'MGC_TAILd' in 'MGC_TAIL section'
-magic.c(12) : CC78K0R warning W0871: Data aligned after 'MGC_LOADd' in 'MGC_LOAD section'
-Compilation complete, 0 error(s) and 3 warning(s) found.
+"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no magic.c
+Compilation complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\magic.asm
Assembly complete, 0 error(s) and 0 warning(s) found.
-"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -w2 -no i2c_mcu.c
-bsr_system.h(55) : CC78K0R warning W0851: Data aligned in 'struct tag'
-i2c_mcu.c(210) : CC78K0R warning W0401: Conversion may lose significant digits
-i2c_mcu.c(655) : CC78K0R warning W0851: Data aligned in '@@DATA section'
-Compilation complete, 0 error(s) and 3 warning(s) found.
-"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\i2c_mcu.asm
-Assembly complete, 0 error(s) and 0 warning(s) found.
-"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r" -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel led_cam.rel led_pow.rel
+"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r" -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel led_cam.rel led_pow.rel hal.rel
Link complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\oc78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf
Object Conversion Complete, 0 error(s) and 0 warning(s) found.
C:\Windows\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex
133
!E debug enable!!
-Build Total error(s) : 0 Total warning(s) : 10
+Build Total error(s) : 0 Total warning(s) : 0
diff --git a/branches/sim/yav_mcu_bsr.pri b/branches/sim/yav_mcu_bsr.pri
index 1d8d57f..fb5dab9 100644
--- a/branches/sim/yav_mcu_bsr.pri
+++ b/branches/sim/yav_mcu_bsr.pri
@@ -14,7 +14,7 @@ Low-voltage Flash Rewriting=On
Fail Safe Break=0x2000
Port=1
NMI=OFF
-TRESET=OFF
+TRESET=ON
IRESET=OFF
WAIT=OFF
SysClock=None
@@ -22,7 +22,7 @@ SubClock=None
[Mapping]
Count=0
[Main]
-Geometry=22, 22, 1200, 858
+Geometry=1, 1, 878, 808
Window=Max
MDI_MAX=OFF
Button=ON
@@ -58,7 +58,7 @@ Symbol Reset1=ON
Dir=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\
Filter=Source
[Debugger Option]
-Source Path=""
+Source Path="\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\renge"
Symbol Size=Byte
Symbol Format=Hex
Register Name=Func
@@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C
Kanji=SJIS
[Source]
-Geometry=0, 0, 600, 400
+Geometry=31, 32, 748, 852
Window=Normal
-DispStart=60
-CaretPos=81,0
+DispStart=75
+CaretPos=116,0
Mode=Normal
DispFile=
Address1=
@@ -139,27 +139,11 @@ SaveRange=Screen
SaveStart=
SaveEnd=
Accumulative=ON
-[Source1]
-Geometry=717, 97, 600, 750
-Window=Normal
-DispStart=158
-CaretPos=209,0
-Mode=Normal
-DispFile=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\i2c_ctr.c
-Accumulative=ON
-[Source2]
-Geometry=0, 0, 600, 889
-Window=Normal
-DispStart=344
-CaretPos=397,0
-Mode=Normal
-DispFile=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\vreg_ctr.c
-Accumulative=ON
[Assemble]
-Geometry=50, 50, 600, 400
-Window=Normal
-DispStart=684
-CaretPos=684,27
+Geometry=0, 0, 0, 0
+Window=Hide
+DispStart=847561728
+CaretPos=0,0
Address1=
Address2=
Address3=
@@ -195,8 +179,8 @@ Data16=
Case=ON
Scan=OFF
Direction=Down
-FindStart=
-FindEnd=
+FindStart=0
+FindEnd=0
SaveRange=Screen
SaveStart=
SaveEnd=
@@ -293,7 +277,7 @@ Address16=
Boundary=0, 0
Mode=Hex
Attribute=Show
-Sort=Address
+Sort=Unsort
Pickup=OFF
SelectSort=Address
Last Name=
@@ -885,19 +869,19 @@ SaveEnd=
Geometry=0, 0, 0, 0
Window=Hide
Mode=Hex
-Boundary=0
+Boundary=62
Pickup=OFF
Name=Functional
Register Bank=0
-RP0=3
-RP1=3
-RP2=3
-RP3=3
-PC=3
-SP=3
-PSW=3
-ES=3
-CS=3
+RP0=1
+RP1=1
+RP2=1
+RP3=1
+PC=1
+SP=1
+PSW=1
+ES=1
+CS=1
[Event Manager]
Geometry=0, 0, 0, 0
Window=Hide
@@ -973,15 +957,18 @@ Detail=OFF
Last Name=
Count=0
[Variable]
-Geometry=0, 0, 0, 0
-Window=Hide
-Boundary=0
-Line=0
+Geometry=1143, 3, 440, 1023
+Window=Normal
+Boundary=13762700
+0=.system_status,.,N,A,+,1
+1=.vreg_ctr,P,N,A,+,1
+2=.temp,P,N,A,+,1
+Line=3
[Quick Watch]
-0=
-1=
-2=
-3=
+0=temp,P,A,1
+1=system_status,P,A,1
+2=vreg_ctr[],P,A,1
+3=vreg_ctr,P,A,1
4=
5=
6=
@@ -995,22 +982,10 @@ Line=0
14=
15=
[Software Break]
-Geometry=0, 876, 500, 200
-Window=Normal
+Geometry=0, 0, 0, 0
+Window=Hide
Width=150 30 200 100
-Name0=Swb00001
-Address0=vreg_ctr.c#_vreg_ctr_write+0x344
-Window0=ASM
-Status0=ON
-Name1=Swb00002
-Address1=vreg_ctr.c#_vreg_ctr_write+0x353
-Window1=ASM
-Status1=ON
-Name2=Swb00003
-Address2=i2c_ctr.c#_int_iic_ctr+0x133
-Window2=ASM
-Status2=ON
-Count=3
+Count=0
[Reset]
Debugger=ON
Symbol=OFF
diff --git a/branches/sim/yav_mcu_bsr.prj b/branches/sim/yav_mcu_bsr.prj
index 84cb5cf..defd579 100644
--- a/branches/sim/yav_mcu_bsr.prj
+++ b/branches/sim/yav_mcu_bsr.prj
@@ -112,32 +112,6 @@ ZF=0
S=1
E=0
CommandFile=0
-[SrcFile]
-Source1=loader.c
-Source2=pm.c
-Source3=i2c_ctr.c
-Source4=main.c
-Source5=magic.c
-Source6=WDT.c
-Source7=i2c_mcu.c
-Source8=i2c_twl.c
-Source9=led.c
-Source10=rtc.c
-Source11=vreg_ctr.c
-Source12=vreg_twl.c
-Source13=adc.c
-Source14=renge\renge.c
-Source15=accero.c
-Source16=self_flash.c
-Source17=sw.c
-Source18=task_debug.c
-Source19=task_misc.c
-Source20=task_sys.c
-Source21=pedo_alg_thre_det2.c
-Source22=ini_VECT.c
-Source23=task_status.c
-Source24=led_cam.c
-Source25=led_pow.c
[BuildBefore-AfterCmd]
Before1=c:\cygwin\bin\touch magic.c
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
@@ -257,6 +231,64 @@ Tool1=CC78K0R|W2.13
Tool2=RA78K0R|W1.33
Tool3=SK78K0R|V3.10
Tool4=ID78K0R-QB|V3.61
+[Options.LCNV78K0R 0]
+Version=100
+LCNV_GO=0
+E=0
+CommandFile=0
+[Options.LCNV78K0R 1]
+Version=100
+LCNV_GO=0
+E=0
+CommandFile=0
+[Options.LCNV78K0R 2]
+Version=100
+LCNV_GO=0
+O0=inter_asm
+E=0
+CommandFile=0
+[Options.LCNV78K0R 3]
+Version=100
+LCNV_GO=0
+E=0
+CommandFile=0
+[Options.LCNV78K0R 4]
+Version=100
+LCNV_GO=0
+E=0
+CommandFile=0
+[Options.LCNV78K0R 5]
+Version=100
+LCNV_GO=0
+E=0
+CommandFile=0
+[SrcFile]
+Source1=loader.c
+Source2=pm.c
+Source3=i2c_ctr.c
+Source4=main.c
+Source5=magic.c
+Source6=WDT.c
+Source7=i2c_mcu.c
+Source8=i2c_twl.c
+Source9=led.c
+Source10=rtc.c
+Source11=vreg_ctr.c
+Source12=vreg_twl.c
+Source13=adc.c
+Source14=renge\renge.c
+Source15=accero.c
+Source16=self_flash.c
+Source17=sw.c
+Source18=task_debug.c
+Source19=task_misc.c
+Source20=task_sys.c
+Source21=pedo_alg_thre_det2.c
+Source22=ini_VECT.c
+Source23=task_status.c
+Source24=led_cam.c
+Source25=led_pow.c
+Source26=hal.c
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
@@ -295,6 +327,269 @@ Include34=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\in
Include35=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
Include36=sim\simOnWin.h
Include37=sim\sfrAlias.h
+Include38=hal.h
+[Options.LK78K0R 0]
+Version=100
+O0=bsr_k0r.lmf
+O1=bsr.lmf
+O2=flash.lmf
+O3=a.lmf
+G=1
+E=0
+E0=flash.elk
+E1=a.elk
+GO=1
+GOValue=85
+GOStart=FC00
+GOSizeValue=1024
+GI=1
+GIValue=FFFFFFFFFFFFFFFFFFFF
+CCZA=0
+MemInfoCheck=1
+P=1
+P0=bsr_k0r.map
+P1=bsr.map
+P2=flash.map
+P3=a.map
+MI=0
+GB=1
+GBValue=6EFBFF
+KM=1
+KD=0
+KP=1
+KL=0
+LF=0
+LL=0
+B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
+D0=bsr_mcu.dr
+D1=user_area.dr
+S=1
+W=0
+SELFCheck=1
+SELF=0
+ZB=
+Etcetera0=
+Etcetera1=boot.lmf
+CommandFile=0
+[Options.LK78K0R 1]
+Version=100
+O0=a.lmf
+G=0
+E=0
+E0=a.elk
+GO=0
+GOValue=
+GOStart=FC00
+GOSizeValue=1024
+GI=0
+GIValue=FFFFFFFFFFFFFFFFFFFF
+CCZA=1
+MemInfoCheck=0
+P=1
+P0=a.map
+MI=0
+GB=0
+GBValue=
+KM=1
+KD=1
+KP=0
+KL=0
+LF=0
+LL=0
+S=0
+W=1
+SELFCheck=0
+SELF=0
+ZB=
+CommandFile=0
+[Options.LK78K0R 2]
+Version=100
+O0=bsr.lmf
+O1=bsr_k0r.lmf
+O2=flash.lmf
+O3=a.lmf
+G=1
+E=0
+E0=flash.elk
+E1=a.elk
+GO=1
+GOValue=85
+GOStart=FC00
+GOSizeValue=1024
+GI=1
+GIValue=1B339499E033F240BFAA
+CCZA=0
+MemInfoCheck=1
+P=1
+P0=bsr_k0r.map
+P1=bsr.map
+P2=flash.map
+P3=a.map
+MI=0
+GB=1
+GBValue=7EFBFF
+KM=1
+KD=0
+KP=0
+KL=0
+LF=0
+LL=0
+B0=C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib
+B1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
+D0=bsr_mcu.dr
+D1=user_area.dr
+S=1
+W=0
+SELFCheck=0
+SELF=0
+ZB=
+Etcetera0=
+Etcetera1=boot.lmf
+CommandFile=0
+OFILE=C:\78k_data\yav-mcu-basara\branches\sim\bsr.lmf
+[Options.LK78K0R 3]
+Version=100
+O0=bsr_bsr.lmf
+O1=bsr_k0r.lmf
+O2=bsr.lmf
+O3=flash.lmf
+O4=a.lmf
+G=1
+E=0
+E0=flash.elk
+E1=a.elk
+GO=1
+GOValue=85
+GOStart=FC00
+GOSizeValue=1024
+GI=1
+GIValue=FFFFFFFFFFFFFFFFFFFF
+CCZA=0
+MemInfoCheck=1
+P=1
+P0=bsr_bsr.map
+P1=bsr_k0r.map
+P2=bsr.map
+P3=flash.map
+P4=a.map
+MI=0
+GB=1
+GBValue=6EFBFF
+KM=1
+KD=0
+KP=1
+KL=0
+LF=0
+LL=0
+B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
+D0=bsr_mcu.dr
+D1=user_area.dr
+S=1
+W=2
+SELFCheck=0
+SELF=0
+ZB=
+Etcetera0=
+Etcetera1=boot.lmf
+CommandFile=0
+[Options.LK78K0R 4]
+Version=100
+O0=bsr_k0r.lmf
+O1=bsr.lmf
+O2=flash.lmf
+O3=a.lmf
+G=1
+E=0
+E0=flash.elk
+E1=a.elk
+GO=1
+GOValue=85
+GOStart=FC00
+GOSizeValue=1024
+GI=1
+GIValue=FFFFFFFFFFFFFFFFFFFF
+CCZA=0
+MemInfoCheck=1
+P=1
+P0=bsr_k0r.map
+P1=bsr.map
+P2=flash.map
+P3=a.map
+MI=0
+GB=1
+GBValue=6EFBFF
+KM=1
+KD=0
+KP=1
+KL=0
+LF=0
+LL=0
+B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
+D0=bsr_mcu.dr
+D1=user_area.dr
+S=1
+W=0
+SELFCheck=1
+SELF=0
+ZB=
+Etcetera0=
+Etcetera1=boot.lmf
+CommandFile=0
+[Options.LK78K0R 5]
+Version=100
+O0=bsr_bsr.lmf
+O1=bsr_k0r.lmf
+O2=bsr.lmf
+O3=flash.lmf
+O4=a.lmf
+G=1
+E=0
+E0=flash.elk
+E1=a.elk
+GO=1
+GOValue=85
+GOStart=FC00
+GOSizeValue=1024
+GI=1
+GIValue=FFFFFFFFFFFFFFFFFFFF
+CCZA=0
+MemInfoCheck=1
+P=1
+P0=bsr_bsr.map
+P1=bsr_k0r.map
+P2=bsr.map
+P3=flash.map
+P4=a.map
+MI=0
+GB=1
+GBValue=6EFBFF
+KM=1
+KD=0
+KP=1
+KL=0
+LF=0
+LL=0
+B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
+D0=bsr_mcu.dr
+D1=user_area.dr
+S=1
+W=2
+SELFCheck=0
+SELF=0
+ZB=
+Etcetera0=
+Etcetera1=boot.lmf
+CommandFile=0
+[Options.78K0R]
+BuildMode=2
+BuildMode2=K0R_dbg
+BuildMode3=BSR_dbg
+BuildMode4=BSR_rel
+BuildMode5=BSR_WM0
+DefaultMode2=1
+DefaultMode3=1
+DefaultMode4=1
+DefaultMode5=1
[Options.CC78K0R 0]
Version=210
Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
@@ -456,8 +751,8 @@ Flashobj=0
FlashStartadr=
FlashBranchStartadr=
Mirror=0
-Saddrglobalchk=0
-Saddrglobal=1066
+Saddrglobalchk=1
+Saddrglobal=1063
Saddrstaticchk=0
Saddrstatic=1072
Bitfieldmsb=0
@@ -508,7 +803,7 @@ Intunexpand=1
Kanjicode=1210
Verbose=0
CommandFile=0
-Warninglevel=2
+Warninglevel=1
Startupchk=1
Fixation=0
FarROMization=0
@@ -764,296 +1059,3 @@ VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
-[Options.LK78K0R 0]
-Version=100
-O0=bsr_k0r.lmf
-O1=bsr.lmf
-O2=flash.lmf
-O3=a.lmf
-G=1
-E=0
-E0=flash.elk
-E1=a.elk
-GO=1
-GOValue=85
-GOStart=FC00
-GOSizeValue=1024
-GI=1
-GIValue=FFFFFFFFFFFFFFFFFFFF
-CCZA=0
-MemInfoCheck=1
-P=1
-P0=bsr_k0r.map
-P1=bsr.map
-P2=flash.map
-P3=a.map
-MI=0
-GB=1
-GBValue=6EFBFF
-KM=1
-KD=0
-KP=1
-KL=0
-LF=0
-LL=0
-B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
-D0=bsr_mcu.dr
-D1=user_area.dr
-S=1
-W=0
-SELFCheck=1
-SELF=0
-ZB=
-Etcetera0=
-Etcetera1=boot.lmf
-CommandFile=0
-[Options.LK78K0R 1]
-Version=100
-O0=a.lmf
-G=0
-E=0
-E0=a.elk
-GO=0
-GOValue=
-GOStart=FC00
-GOSizeValue=1024
-GI=0
-GIValue=FFFFFFFFFFFFFFFFFFFF
-CCZA=1
-MemInfoCheck=0
-P=1
-P0=a.map
-MI=0
-GB=0
-GBValue=
-KM=1
-KD=1
-KP=0
-KL=0
-LF=0
-LL=0
-S=0
-W=1
-SELFCheck=0
-SELF=0
-ZB=
-CommandFile=0
-[Options.LK78K0R 2]
-Version=100
-O0=bsr.lmf
-O1=bsr_k0r.lmf
-O2=flash.lmf
-O3=a.lmf
-G=1
-E=0
-E0=flash.elk
-E1=a.elk
-GO=1
-GOValue=85
-GOStart=FC00
-GOSizeValue=1024
-GI=1
-GIValue=1B339499E033F240BFAA
-CCZA=0
-MemInfoCheck=1
-P=1
-P0=bsr_k0r.map
-P1=bsr.map
-P2=flash.map
-P3=a.map
-MI=0
-GB=1
-GBValue=7EFBFF
-KM=1
-KD=0
-KP=0
-KL=0
-LF=0
-LL=0
-B0=C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib
-B1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
-D0=bsr_mcu.dr
-D1=user_area.dr
-S=1
-W=0
-SELFCheck=0
-SELF=0
-ZB=
-Etcetera0=
-Etcetera1=boot.lmf
-CommandFile=0
-OFILE=C:\78k_data\yav-mcu-basara\branches\sim\bsr.lmf
-[Options.LK78K0R 3]
-Version=100
-O0=bsr_bsr.lmf
-O1=bsr_k0r.lmf
-O2=bsr.lmf
-O3=flash.lmf
-O4=a.lmf
-G=1
-E=0
-E0=flash.elk
-E1=a.elk
-GO=1
-GOValue=85
-GOStart=FC00
-GOSizeValue=1024
-GI=1
-GIValue=FFFFFFFFFFFFFFFFFFFF
-CCZA=0
-MemInfoCheck=1
-P=1
-P0=bsr_bsr.map
-P1=bsr_k0r.map
-P2=bsr.map
-P3=flash.map
-P4=a.map
-MI=0
-GB=1
-GBValue=6EFBFF
-KM=1
-KD=0
-KP=1
-KL=0
-LF=0
-LL=0
-B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
-D0=bsr_mcu.dr
-D1=user_area.dr
-S=1
-W=2
-SELFCheck=0
-SELF=0
-ZB=
-Etcetera0=
-Etcetera1=boot.lmf
-CommandFile=0
-[Options.LK78K0R 4]
-Version=100
-O0=bsr_k0r.lmf
-O1=bsr.lmf
-O2=flash.lmf
-O3=a.lmf
-G=1
-E=0
-E0=flash.elk
-E1=a.elk
-GO=1
-GOValue=85
-GOStart=FC00
-GOSizeValue=1024
-GI=1
-GIValue=FFFFFFFFFFFFFFFFFFFF
-CCZA=0
-MemInfoCheck=1
-P=1
-P0=bsr_k0r.map
-P1=bsr.map
-P2=flash.map
-P3=a.map
-MI=0
-GB=1
-GBValue=6EFBFF
-KM=1
-KD=0
-KP=1
-KL=0
-LF=0
-LL=0
-B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
-D0=bsr_mcu.dr
-D1=user_area.dr
-S=1
-W=0
-SELFCheck=1
-SELF=0
-ZB=
-Etcetera0=
-Etcetera1=boot.lmf
-CommandFile=0
-[Options.LK78K0R 5]
-Version=100
-O0=bsr_bsr.lmf
-O1=bsr_k0r.lmf
-O2=bsr.lmf
-O3=flash.lmf
-O4=a.lmf
-G=1
-E=0
-E0=flash.elk
-E1=a.elk
-GO=1
-GOValue=85
-GOStart=FC00
-GOSizeValue=1024
-GI=1
-GIValue=FFFFFFFFFFFFFFFFFFFF
-CCZA=0
-MemInfoCheck=1
-P=1
-P0=bsr_bsr.map
-P1=bsr_k0r.map
-P2=bsr.map
-P3=flash.map
-P4=a.map
-MI=0
-GB=1
-GBValue=6EFBFF
-KM=1
-KD=0
-KP=1
-KL=0
-LF=0
-LL=0
-B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib
-D0=bsr_mcu.dr
-D1=user_area.dr
-S=1
-W=2
-SELFCheck=0
-SELF=0
-ZB=
-Etcetera0=
-Etcetera1=boot.lmf
-CommandFile=0
-[Options.LCNV78K0R 0]
-Version=100
-LCNV_GO=0
-E=0
-CommandFile=0
-[Options.LCNV78K0R 1]
-Version=100
-LCNV_GO=0
-E=0
-CommandFile=0
-[Options.LCNV78K0R 2]
-Version=100
-LCNV_GO=0
-O0=inter_asm
-E=0
-CommandFile=0
-[Options.LCNV78K0R 3]
-Version=100
-LCNV_GO=0
-E=0
-CommandFile=0
-[Options.LCNV78K0R 4]
-Version=100
-LCNV_GO=0
-E=0
-CommandFile=0
-[Options.LCNV78K0R 5]
-Version=100
-LCNV_GO=0
-E=0
-CommandFile=0
-[Options.78K0R]
-BuildMode=2
-BuildMode2=K0R_dbg
-BuildMode3=BSR_dbg
-BuildMode4=BSR_rel
-BuildMode5=BSR_WM0
-DefaultMode2=1
-DefaultMode3=1
-DefaultMode4=1
-DefaultMode5=1
diff --git a/branches/sim/yav_mcu_bsr.prk b/branches/sim/yav_mcu_bsr.prk
index a9901ab..6220a79 100644
--- a/branches/sim/yav_mcu_bsr.prk
+++ b/branches/sim/yav_mcu_bsr.prk
@@ -1,14 +1,20 @@
[ProjectManager]
FrameMax=0
-FrameX=11
-FrameY=26
-FrameCX=1614
-FrameCY=1005
-OpenFile1=ProjectWindow
+FrameX=1244
+FrameY=196
+FrameCX=1440
+FrameCY=895
+OpenFile1=i2c_ctr.c,0,150,150,1469,736,0,40,0,0
+OpenFile2=hal.c,0,200,200,1395,681,14,13,13,0
+OpenFile3=sw.c,0,127,86,1322,567,0,138,0,0
+OpenFile4=task_status.c,0,25,25,1220,506,23,30,23,0
+OpenFile5=pm.c,0,225,225,1420,706,15,471,15,0
+OpenFile6=i2c_twl.c,0,50,50,1245,531,38,129,47,0
+OpenFile7=main.c,0,200,200,1370,701,0,1,0,0
+OpenFile8=ProjectWindow
PrjPos=0,0,706,0,291
-OpenFile2=i2c_ctr.c,0,150,150,1469,736,0,40,0,0
-OpenFile3=OutputWindow
-OutputPos=0,32,734,735,1861
+OpenFile9=OutputWindow
+OutputPos=0,16,707,587,1440
ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow]
ProjectWindowDispType=0
diff --git a/branches/sim/yav_mcu_bsr.sdb b/branches/sim/yav_mcu_bsr.sdb
index 28cb653..72a55dd 100644
--- a/branches/sim/yav_mcu_bsr.sdb
+++ b/branches/sim/yav_mcu_bsr.sdb
@@ -12,7 +12,7 @@ T=4e0a86c1
8=reboot.h
9=magic.h
[pm.c]
-T=4e0aea23
+T=4e1c1434
1=incs.h
2=adc.h
3=led.h
@@ -22,7 +22,7 @@ T=4e0aea23
7=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
8=fsl_user.h
[i2c_ctr.c]
-T=4e0d6607
+T=4e1d54ae
1=config.h
2=incs.h
[main.c]
@@ -36,14 +36,14 @@ T=4e0af952
7=adc.h
8=pool.h
[magic.c]
-T=4e0d6027
+T=4e1d56d9
1=config.h
2=magic.h
[WDT.c]
T=4dfae637
1=incs_loader.h
[i2c_mcu.c]
-T=4e0d6618
+T=4e1d47dd
1=incs_loader.h
2=i2c_mcu.h
[i2c_twl.c]
@@ -60,7 +60,7 @@ T=4dfafb99
T=4dfb0204
1=incs.h
[vreg_ctr.c]
-T=4e0d6024
+T=4e1a3d56
1=incs.h
2=vreg_ctr.h
3=rtc.h
@@ -78,7 +78,7 @@ T=4df868b8
4=vreg_twl.h
5=vreg_ctr.h
[adc.c]
-T=4e0c1e90
+T=4e1c11e5
1=incs.h
2=adc.h
3=pm.h
@@ -101,7 +101,7 @@ T=4dff0001
2=incs.h
3=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
[self_flash.c]
-T=4dfef02d
+T=4e166b67
1=incs_loader.h
2=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
3=fsl_user.h
@@ -110,7 +110,7 @@ T=4dfef02d
6=magic.h
7=pm.h
[sw.c]
-T=4dfae24c
+T=4e166bf3
1=incs.h
2=i2c_twl.h
3=i2c_ctr.h
@@ -125,7 +125,7 @@ T=4dfae637
3=pm.h
4=accero.h
[task_misc.c]
-T=4dff022d
+T=4e1c12df
1=incs.h
2=renge\renge.h
3=pm.h
@@ -135,7 +135,7 @@ T=4dff022d
7=led.h
8=vreg_twl.h
[task_sys.c]
-T=4e0af952
+T=4e1a935d
1=incs.h
2=i2c_twl.h
3=i2c_ctr.h
@@ -147,7 +147,7 @@ T=4e0af952
9=adc.h
10=self_flash.h
[pedo_alg_thre_det2.c]
-T=4e097fce
+T=4e1a3cda
1=incs.h
2=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
3=accero.h
@@ -158,13 +158,15 @@ T=4e097fce
T=4dfaf66c
1=config.h
[task_status.c]
-T=4e0c2614
+T=4e1abbad
1=incs_loader.h
2=renge\renge.h
-3=pm.h
-4=accero.h
-5=adc.h
-6=i2c_mcu.h
+3=hal.h
+4=pm.h
+5=accero.h
+6=adc.h
+7=i2c_mcu.h
+8=led.h
[led_cam.c]
T=4dfae24c
1=incs.h
@@ -173,25 +175,29 @@ T=4dfae24c
T=4dfae637
1=incs.h
2=led.h
+[hal.c]
+T=4e1d5591
+1=incs_loader.h
[incs_loader.h]
-T=4dfae8e8
+T=4e156766
1=sim\simOnWin.h
2=jhl_defs.h
3=user_define.h
-4=bsr_system.h
-5=renge\renge.h
-6=vreg_ctr.h
-7=vreg_twl.h
-8=loader.h
-9=i2c_mcu.h
-10=WDT.h
+4=hal.h
+5=bsr_system.h
+6=renge\renge.h
+7=vreg_ctr.h
+8=vreg_twl.h
+9=loader.h
+10=i2c_mcu.h
+11=WDT.h
[jhl_defs.h]
T=4df868b8
1=config.h
[config.h]
-T=4e0d28fe
+T=4e16b88c
[user_define.h]
-T=4e0af952
+T=4e169edd
[bsr_system.h]
T=4df868b8
[renge\renge.h]
@@ -204,7 +210,7 @@ T=4dfae85a
T=4df868b6
1=renge\renge_defs.h
[vreg_ctr.h]
-T=4e0af952
+T=4e1c100c
1=config.h
[vreg_twl.h]
T=4df868b8
@@ -227,23 +233,24 @@ T=4df868b8
[magic.h]
T=4df868b8
[incs.h]
-T=4dfec4bd
+T=4e15675d
1=sim\simOnWin.h
2=jhl_defs.h
3=user_define.h
-4=bsr_system.h
-5=renge\renge.h
-6=loader.h
-7=vreg_ctr.h
-8=vreg_twl.h
-9=i2c_mcu.h
-10=i2c_twl.h
-11=rtc.h
-12=accero.h
-13=pm.h
-14=sw.h
-15=adc.h
-16=WDT.h
+4=hal.h
+5=bsr_system.h
+6=renge\renge.h
+7=loader.h
+8=vreg_ctr.h
+9=vreg_twl.h
+10=i2c_mcu.h
+11=i2c_twl.h
+12=rtc.h
+13=accero.h
+14=pm.h
+15=sw.h
+16=adc.h
+17=WDT.h
[i2c_twl.h]
T=4df868b8
[accero.h]
@@ -251,7 +258,7 @@ T=4df868b8
1=jhl_defs.h
2=pedometer.h
[pedometer.h]
-T=4df868b8
+T=4e1a3cda
[sw.h]
T=4df868b8
1=config.h
@@ -259,7 +266,7 @@ T=4df868b8
T=4df868b8
1=jhl_defs.h
[led.h]
-T=4dfafdf5
+T=4e169c84
[batt_params.h]
T=4df868b9
1=jhl_defs.h
@@ -285,5 +292,7 @@ T=45f12258
T=4e0014e7
1=sim\sfrAlias.h
[sim\sfrAlias.h]
-T=4e0af952
+T=4e169edd
1=config.h
+[hal.h]
+T=4e16a2b4