加速度割り込み周りで取りこぼすことがあったのを救うコード追加

CTRコーデックに対応?
IRQ_0を確実にかける
I2C(TWL/CTR)の割り込み優先度修正(レジスタ名が悪いと思う)
カメラLED、TWLからの操作を追加
loader、文法ミス修正
自己アップデート後、自己リセットをかける。メーカーの回答待ちのため暫定。(セットは電源が切れ、RTCも初期化される)
RTCの初期値を変更(暫定)
バッテリ残量ICとのやりとりを修正。メーカーの推奨の手順が更新されたため。また、不正になりがちなのでリセットをかけるようにしてみた。I2C_mの2バイト書き込みがひどかったので修正
互換側I2Cれじすたの整理。エンバグ心配



git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@13 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
fujita_ryohei 2009-10-27 04:12:36 +00:00
parent 5e9ec34e61
commit 28b5f92e98
31 changed files with 2163 additions and 5552 deletions

View File

@ -252,6 +252,7 @@ task_status_immed acc_hosu_set( )
/// IRQ2flg latch: auto clear after read, IRQ2 conf: IRQ( fall,shock,...)
/// 1 : auto clear after read, conf: data ready
#endif
str_send_buf[3] = 0x80; // ctrl3 block update:enable, MSB first, scale: +-2G(default), selftest: dis
if( ( vreg_ctr[VREG_C_ACC_CONFIG] &
@ -287,6 +288,8 @@ task_status_immed acc_hosu_set( )
}
}
iic_mcu_write( IIC_SLA_ACCEL, ( ACC_REG_CTRL1 | 0x80 ), 4, str_send_buf );
// カラ読み
if( ACC_VALID == 1 )
{
if( system_status.pwr_state == ON )

View File

@ -54,7 +54,7 @@ void tsk_adc( )
#if 0
tune ÌÏ»ÅÍŠè<EFBFBD>žÝðüêÈ¢
tune
// tune
if( abs( old_tune - vreg_ctr[VREG_TUNE] ) >= 4 )
{
@ -75,22 +75,16 @@ void tsk_adc( )
static u8 direction = 0; // 0:上り方向
u8 comp; // 補正値
//*
if( abs( vol_old - vreg_ctr[VREG_C_SND_VOL] ) > 3 )
{
vol_old = vreg_ctr[VREG_C_SND_VOL];
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = vol_old / ( 256 / 32 );
class = vreg_ctr[VREG_C_SND_VOL] / ( 256 / 8 );
if( class != class_old )
{
class_old = class;
/*/
if( vol_old != vreg_ctr[ VREG_C_SND_VOL ] ){
vol_old = vreg_ctr[ VREG_C_SND_VOL ];
class = ( vreg_ctr[ VREG_C_SND_VOL ] + ( ( direction != 0 )? 0: 2 ) ) / ( 200 / 8 ) ;
if( class != class_old ){
direction = ( class > class_old )? 0: 1;
class_old = class;
*/
set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE );
}
}
@ -100,12 +94,11 @@ void tsk_adc( )
// codecに伝える
if( vreg_ctr[VREG_C_SND_VOL] != sndvol_codec )
{
sndvol_codec = ( vreg_ctr[VREG_C_SND_VOL] / 2 + vreg_ctr[VREG_C_SND_VOL] / 4 );
sndvol_codec = ( vreg_ctr[VREG_C_SND_VOL] / 2 + vreg_ctr[VREG_C_SND_VOL] / 4 ) / 2;
#ifndef _CODEC_CTR_
iic_mcu_write_a_byte( IIC_SLA_DCP, 0, sndvol_codec );
// iic_mcu_write_a_byte( IIC_SLA_DCP, 0, (u8)((unsigned int)sndvol_codec * 4 / 5 ) );
#else
ÈñÆ©·éiic_mcu_write_a_byte( IIC_SLA_CODEC, REG_ADRS_CODEC_VOL, sndvol_codec );
iic_mcu_write_a_byte( IIC_SLA_CODEC, REG_ADRS_CODEC_VOL, sndvol_codec );
#endif
}
adc_updated = 0;

View File

@ -3,12 +3,20 @@
#include "jhl_defs.h"
///////////////////////////////////////
#define ADC_SEL_TUNE 0x06
#define ADC_SEL_VOL 0x07
#define ADC_SEL_BATT_TEMP 0x08
#define ADC_SEL_BATT_DET 0x09
///////////////////////////////////////
#define REG_ADRS_CODEC_VOL 19
///////////////////////////////////////
u8 get_adc( u8 ch );

View File

@ -3,7 +3,7 @@
#define _debug_
//#define _debug_led_
// #define _debug_led_
#define MCU_VER_MAJOR 0;
#define MCU_VER_MINOR 6;
@ -14,6 +14,7 @@
#define _MODEL_TS0_
//#define _MODEL_CTR_
//#define _CODEC_CTR_
#ifdef _MODEL_TEG2_

File diff suppressed because it is too large Load Diff

649
trunk/hex/bsr_k0R_V0.5.hex Normal file
View File

@ -0,0 +1,649 @@
:02000000820577
:02000200FFFFFE
:020008005C0D8D
:04001000D40AD60A2E
:02001C002B0CAB
:02002400770C57
:02002A000A0BBF
:080034005E0D250D200DCA0A26
:04004A00D80A1B0DA8
:0400C0007EFBFF853F
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
:1000D800C7FD5D02C736F00071F4C6DE0671301048
:1000E800F9EF10360000868767D1DFFB66D1DFF6AF
:1000F800FD7C01360000674C09DE22318E12490072
:10010800217267318E04F60FC1317B9EFDC41189BF
:100118006142DF03F1EF01E1610687EFD940002179
:10012800FFDF03E1EF01F161065700674C09DE1CB0
:10013800318E124900217267318E04F647148961A5
:1001480042DF03F1EF01E1610687EFDF66D161E885
:10015800FD5E04FD3D05FD6824EDD900C6D761EDBF
:10016800D7717BFACEA016CEA180CEA409F5AAFF3E
:10017800F5A9FFD7F400F401F402CD0306F404F462
:1001880005F406CD0740F40CF40EF408F40FF5302E
:1001980000F53100F53300F53400CF350003CF37D3
:1001A8000019F53C00F53E00F520FFF521FFCE22B1
:1001B800E9E523FFCE240BCE2503F526FFCE271F26
:1001C800CE2C1FE52EFFCE2F07CE28FFF54300F5D6
:1001D8004700CF530006F55700F6BEE0BEE2F5D063
:1001E800FFCBE4FFFFCBE6FFFFCED4FFCEE8FFCE88
:1001F800ECFFCEE9FFCEEDFFCEEAFFCEEEFECEEB72
:10020800FFCEEF49CED8FFCEDCFFCE38B1CE397164
:10021800F537FF7108F20090BFB4017138F100F5AD
:100228004002F54102F54302F5A5FFF5A6FF715816
:10023800F000F530FF7128F0005087BF1801BF1A91
:1002480001BF1C01BF1E017148F000F53002F5BC6A
:10025800FFF5BDFFD7CEABACD7C720FE200CFBF80F
:10026800FFF6BFBA015020BFBA01FD7105717BFAD4
:1002780017040800FD2608629C06FDB107620E06F9
:100288009C06300020BC02CC04005112879C0897C1
:10029800878C08974C1C61C8ED4703FD5D02878C6D
:1002A8000897318EFD7307D2DD0E878C0897318E43
:1002B800FD7707629C06EFE6CC07008C074C04DE4E
:1002C80066F1879C0997AC02148C049EFD11897213
:1002D800878C0997318E07040800146299AC02A133
:1002E800BC02878C099781879C0997878C0997D1CD
:1002F800DFD4304000C1878C0897318E31AD128C25
:1003080007318E318D03BDD831FFBDDADADAADD8C9
:10031800FD780AC0629C06D1DD08FD7E0500E7ED88
:100328005804615907EF94878C0897318EFD7B0735
:10033800D2DFF4878C089781879C0897ED98025143
:1003480004879C0897878C08974C12DE17878C08BF
:1003580097318EFD7707629C06878C089781879C6A
:100368000897EFE1715030025104879C0897878CF9
:1003780008974C1261C8ED1504CC07008C074C0493
:10038800DE6D31825169FD5D0231B2E20631825182
:1003980002EFF6713BE2878C0997318E070408005B
:1003A800148E509971503002878C099781879C0967
:1003B80097878C0997D161E8318451CD304000C1CD
:1003C800878C0897318E31AD128C07318E318D03B1
:1003D800BDD831FFBDDADADAADD8FD780AC0629C43
:1003E80006D1DD06FD7E05E7EF66615907EF8D87CB
:1003F8008C0897318EFD7B07D2DFF431845102EFF0
:100408000C878C089781879C0897ED76037160307C
:1004180002CC0000CC01008C014C09DE218C01319A
:100428008E1249F61F728C01318E04F647148961C9
:1004380042DF03F1EF01E10D9B615901EFD98BD147
:10044800DF08FD3609FD480AEF06FD7E05FD5E045E
:1004580010FE100CC6D7C720FE200AFBF8FF717BE0
:100468009DF6BFBA015080BFBA01717BFAFD7105D4
:1004780017040600FD2608629C04FDB107620E04FD
:100488009C04300048BBCC02005108879C06978723
:100498008C06974C1261C8ED3305FD5D02878C060A
:1004A80097318EFD7707629C04CC05008C054C04BF
:1004B800DE61F1879C0797AB148C029EFD1189724F
:1004C800878C0797318E07040600146299ABA1BB8D
:1004D800878C079781879C0797878C0797D1DFD7E9
:1004E800304000C1878C0697318E31AD128C0531B2
:1004F8008E318D03BDD831FFBDDADADAADD8FD789B
:100508000AC0629C04D1DD06FD7E05E7EF21615932
:1005180005EF99878C0697318EFD7B07D2DFF4872C
:100528008C069781879C0697ED9704FD3509F7108F
:10053800FE100AC6D7717BFAC720FE2004FBF8FF1D
:10054800FD710517040200FD2608629C01FDB10734
:10055800626E019C013058FAFD0009626E019C012F
:10056800FD7E0510FE1004C6D73184BD02EFFA7176
:0A0578007BBD717ABED7717BBED740
:1005820061CF5100718C7109FECBF800FEFC69014C
:1005920000F6BF00F953C0F693935820FEDFF941ED
:1005A20000365E20345AFAEF05118B99A7A517443D
:1005B2007420DFF53602F9305AFAEF04CC0000A7B6
:1005C20047DFF941003674203470FAEF05118B9938
:1005D200A7A517447420DFF53670FA3070FAEF04DD
:1005E200CC0000A747DFF9FCD80000EFFE61DD7107
:1005F2007BFABEF0ADD8BEF200AEF661CDD706DA18
:10060200BDDAADDC06D8BDD861D8A6DAD7C312AD43
:10061200D826DCBDD861317006DA23BDDAC2D7D163
:10062200DD1BC1C3DADA9DDAADD8311E33311E3398
:1006320071F9B4DADFF4BDD813BDDAC2C0D75BDB1F
:100642009DDB605BDA9DDAADDC5BD9085BD808BD67
:10065200D8D7DF1D06DC44807FDF167152DEEF3211
:10066200DF0F06D844807FDF083154DE3C3172DE72
:100672003CC9DE0504FDC706EF46C514ADDEC16503
:100682007BDB5C809DDEADDA71FB3571FB44807FE4
:10069200DEC03544807FDEC86BD96BD86BDD6BDC86
:1006A2000561C8DD1BADDA71FB3174DE077174DBE5
:1006B200F181EF0C45ADD861F846DC61E87177DB7A
:1006C200C0BDDEC4D78EFC708EFDC1C5C3ADDE31A8
:1006D2005E048639320000C3C1D8DEF1C1AEF8FC37
:1006E200F10600C0C0C0C2C4C09EFD609EFCD7140B
:1006F20089728A049EFDAA021411894C40DD0E62A1
:100702004C0430020061C8300100BF00F9D7C5C3F4
:10071200C1ADDADAD831750914F62312F661D8B10F
:1007220025ED2F07C5C3C1ADDADAD8F4DB0361C802
:10073200DD3B23559E31730A9501311C61D8A131ED
:1007420075F6618A4C80618ADC11DF0633718C3365
:10075200DE0983DF0604010061D8857174DB35612F
:10076200FB9DDB6571F99DDA637064BDD8C0C2C4BC
:01077200D7AF
:100773005208EF065203EF025206FEE600FE1B008C
:10078300DC16089F03088F0408089F040862FE24F0
:1007930000089F0408EEBF00EEBA00C1C514410E65
:1007A30011D9D0FF118FD1FF312E45C4C0D7F231FB
:1007B300A2C401E2D79DE261DD4C09DF12717BFA2D
:1007C300C18F06089F7FFAC0CF060800EE270031CD
:1007D300F2FA04CF0608004C00DF05D50008DD1649
:1007E30061DD717BFAD50608DD0ACDE31F61CD61BA
:1007F300CDEE160061CDFED40061FFFE9A00FCF839
:10080300FF0EFEB20061CDFED5004C09DF0EC18F95
:1008130006086F7FFA9F0608C0EE0400CF060800A3
:10082300F8E3D75200EF025202FE3700CF7EFA0000
:10083300CF060800BF0408C716629F0008410011D5
:100843008F5C209B4100118F5D209F0108C65100E2
:10085300FE62FFEF025205CF060800C1510CFE0AEB
:1008630000C0D7C1511DFE0200C0D761DD717BFA04
:1008730070CEC0A59EC47CFF9EC4609EC461CDD7CC
:1008830061DD717BFAC18EC45C1BFED6FFCF060807
:1008930001FED7FFC061CDD731F2FA1AC1AEE4BF72
:1008A30070FAAEE6BF72FAAED4BF74FA30FFFFBE81
:1008B300E4BEE6BED4C0D731F2FA11C1AF70FABEBE
:1008C300E4AF72FABEE6AF74FABED4C0D7C1BF7646
:1008D300FA13BF78FA15BF7AFA17BF7CFAC0D7AFFD
:1008E30076FADB78FAEB7AFAFB7CFAD7534B305281
:1008F3005430324E323030475631323000C5C15158
:10090300045001EE0000FE5AFF9F03085109FEA4A4
:10091300FEC4D2DF0908C3618AF3FE0500C2C4EE38
:1009230035FFC1C7FB040861C999A58392DFF8C6E7
:10093300C0D7FFC150FEFEAB0061DD717BFACF066D
:100943000800FE0A00FE6FFF61CDF8E3EECF00C79B
:10095300FB0408BF70FA8FC0009C05C5C3370406AB
:1009630000BF72FA35369A09300000522BFE66003A
:10097300C2C4C6304809B800300000B8022004AF32
:1009830072FAB800300F00B802AF70FA61FF520A72
:10099300FE05FFECF8FF0E717BFAC1C7FB04088C60
:1009A30005C65C80FE0200C0D761DD717BFA70CFA3
:1009B300C0FFA59FC0007CFF9FC000609FC0006177
:1009C300CDD7618BFEE2FF717BBE410011FB0000BE
:1009D30017CEFC0061CB089EFDF31161C999A58375
:1009E30092DFF7D7FE7CFED57EFADF23C1CF030863
:1009F300035109FEBFFDC0D2DF37FE3800A2040851
:100A0300CF0308075109FEACFDD2B20408DF22C7A9
:100A1300FB0408318302C6D7C6510AFE97FD624C18
:100A23001FDF06CF7EFA01EF04CF7EFA00C0EE2669
:100A3300FEC0EE20FEC7C1FB04088B31196C0161B7
:100A4300589BC0C6D7717BFAFE18FEAF0408040694
:100A530000C11436AC09300000522DF3FE77FF8F2E
:100A6300C000FEF6FD61CF5C807C8073C00419007A
:100A7300CEFC0F61CBC55404EF03C55417FEE3FD51
:100A8300C7360008BB629C0288089C03D1DD334C47
:100A930041DE2F70F1312DB161090033081C0008CC
:100AA30051FF612A410E118FD0FF613B118FD1FF9E
:100AB3006138DC0E8B5C03DF0964C6C4FEF6FCEE12
:070AC30095FDC6C4EE8EFD97
:100ACA00400EF90161FC61FC61FC61FC61FCC1C37F
:100ADA00C5C7520C929269D4FEC1DFF88EFD708EA2
:100AEA00FCC1301324FDA533C09EFC609EFD34D4A6
:100AFA00FE5206C0B9A5A592DFF9C6C4C2C061FC00
:100B0A00C1C3C5C7520C929269D4FEC1DFF88EFDEB
:100B1A00708EFCC13184510DF562FA71483002FDC4
:100B2A00EC2BED130C31A25139F562FA71483002FF
:100B3A0071603002FDEC2BD542F9DF0FD543F9DFA6
:100B4A000AD544F9DF05D545F9DD11710A233102C9
:100B5A000302EFFA710303710B23EF03710A23ED0A
:100B6A00130C319451124062FA03DD064062FA0412
:100B7A00DF06F562FAFDEC2B8F62FAD1DD0891DD12
:100B8A001291DD29EF467140300271503002E56260
:100B9A00FAEF768E509F08F971503002D908F9F1B0
:100BAA00FD792E629F0AF9CF62FA02EF5C31945105
:100BBA001731C45106CF62FA03EF11F562FA714890
:100BCA00300271603002EF41CF62FA044062FA03E8
:100BDA00DF0E8F0AF99E50D908F9F1FD912EEF1513
:100BEA008E509F0AF9D90AF9F1C1D908F9FD372CB3
:100BFA00C071503002A008F94062FA03DF0BD9082D
:100C0A00F9F1FD792E629F0AF9C09EFC609EFD34BF
:100C1A00D4FE5206C0B9A5A592DFF9C6C4C2C06106
:100C2A00FCC1C7F616710BE2714AE5717BBD710A08
:100C3A00E651405F0401D1DD05A7F647DFF3710AEB
:100C4A00E6300400BF2401F6BF2A01300B0BBF288F
:100C5A000100000000510FBF280100000000500FE2
:100C6A00BF2801715320716320C6C061FCC1C53120
:100C7A00542016D51AF9DD0EEB18F9899E44A218EC
:100C8A00F9B01AF9EF2B715320710AE6300400BF4C
:100C9A002401F6BF2A01300B0BBF28010000000017
:100CAA00510FBF280100000000500FBF28017163D7
:100CBA0020C4C061FCEFFE61FCEFFE61FCEFFE6147
:100CCA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61F2
:100CDA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61E2
:100CEA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61D2
:100CFA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61C2
:100D0A00FCEFFE61FCEFFE61FCEFFE61FCEFFE61B1
:100D1A00FCE51CF961FC71422161FCC18F6CF94F41
:100D2A0096FFDF2B8F6DF94F97FFDF238F6EF94FF9
:100D3A0098FFDF1B8F4BF95C04D1DF13712043F955
:100D4A00710303710B23400EF90161F8E50FF9C035
:100D5A0061FC61FCC1C3C5C7520C929269D4FEC141
:100D6A00DFF88EFD708EFCC1717AFA8E312C06DDA9
:100D7A000991DD1D91DD3191EF49D9AEF9F104A553
:100D8A00F9148D1F9930A5F9FDE932629F3AF9EFFE
:100D9A0032D9AEF9F104A8F9148D1F9930A8F9FDDA
:100DAA00E932629F3BF9EF1BD9AEF9F104ABF914B2
:100DBA008D1F9930A5F9FDE932629F02F93012229E
:100DCA00FDA5334031FF08DD05A031FFEF1771584B
:100DDA00F00071322140AEF902DF03F1EF048FAE69
:100DEA00F9819FAEF9C09EFC609EFD34D4FE520686
:100DFA00C0B9A5A592DFF9C6C4C2C061FCC1C3C50A
:100E0A00C7520C929269D4FEC1DFF88EFD708EFC37
:100E1A00C18F72F95C03D1DD16400EF903DD06407D
:100E2A000EF905DF0A31240F0630B737FDA533C0A6
:100E3A009EFC609EFD34D4FE5206C0B9A5A592DF81
:070E4A00F9C6C4C2C061FC3F
:0A0FF60030383A34353A3339000040
:10200000EA0102030405060708090A0B0C0D0E0F6E
:10201000101112131415161718191A1B1C1D1E1F48
:10202000202122232425262728292A2B2C2D2E2F38
:10203000303132333435363738393A3B3C3D3E3F28
:102040004A574000F6DA6E9472362B329223D2272A
:0E2050008F29EB2AC52F653168311035080144
:10205E000B001F0000000000000000000000000048
:06206E000000000000006C
:08207400317503F7332312D785
:0A21000030383A34353A3339000024
:10210A00F7D7C7C1FBF8FF31642002EFFA715220FA
:10211A00340020C5304000C1C1506CFD05261006B0
:10212A0017C1E6A1C1500EC1506CFD492510061712
:10213A00C1E6A1C1500EC1506CFD4925100617C158
:10214A00E6A1C1A1A1C1506CFD4925100617C1E63F
:10215A00A1C1500EC1506CFD05261006CC0100CC61
:10216A00000017C1E6A1C1503EC1506CFD05261002
:10217A0006CF03F99EAF5AFABF04F9AF5CFABF065D
:10218A00F9C0C6D7C72006FBF8FFC7170403001615
:10219A00F74940209BA3A75102614ADFF4C6C7173B
:1021AA00A116F74942209BA3A75102614ADFF4C650
:1021BA0017A1C1E6A1C15006C1506CFD0526100643
:1021CA0017040300C1E6A1C1503EC1506CFD0526AB
:1021DA001006716201300900FD3B3362316A9C05C9
:1021EA00716301FD0C21717201300800FD3B3362FD
:1021FA009F02F9301222FDA533F6C15084FDD02486
:10220A00C0629C051006C6D7C7C1FBF8FF51E0D9CA
:10221A0002F9D651A36128319E9F3DF92F5EFA310A
:10222A008EFD74201344040071FEDE05D55FFADFCB
:10223A00548F3DF97C804C95DC15D93DF9F1241475
:10224A0000BDD8AF04F9FDEF0512F623BBEF13D991
:10225A003DF9F1241400BDD8AF06F9FDEF0512F6D9
:10226A0023BBD903F9F1610900BB17C1E6A1C1502B
:10227A000CC1506CFD05261006D2DF068F3DF99F72
:10228A005EFAA05FFAF7C0C6D7300500FDEC34301D
:10229A000500FDEC34717041F9E7D7303300FDECED
:1022AA0034F6C1E6A1C15084FDC5251004717841F8
:1022BA00F9F7D7300A00FDEC34716041F9E7D771BC
:1022CA006841F9F7D7F7D7FDCF22F7D7FD9322F761
:1022DA00D7FDBD22F7D7FDC922F7D7FDA522F7D72B
:1022EA00C75A00FC8E205CFC9E2071030E715207B7
:1022FA0030A000FDEC34715307300400C1506CFD6E
:10230A00D024C056C866318EF7BDD813BDDAFD1089
:10231A0007C9DCCCCC30F440FD7C06DE03E7EF2BAA
:10232A00669F3CF9710A2071003000711200710237
:10233A000E306400FDEC343102000F5A00FC8E208E
:10234A005CFC9E2071030EE7EF01F7C6D73104004B
:10235A00245A00FC8E205CFC9E2071030E715207E9
:10236A0030FA00FDEC3430FA00FDEC3430FA00FDAE
:10237A00EC347153075A00FC8E205CFC9E207103DA
:10238A000EF7D7FDA522F7D7D560FADD04B060FABB
:10239A00D7CF60FA3331040706713041F9EF04717F
:1023AA003841F931120506714041F9EF047148418B
:1023BA00F9403DF957DC09403DF9B861D8E561FAC1
:1023CA00403DF947DC09403DF9BD61D8F561FA4065
:1023DA0061FA01DF0C403DF947DC06403DF9BDDCFE
:1023EA0011D561FADF11403DF957DC0B403DF9B8D0
:1023FA00DE05712204EF03712304311205058F5A99
:10240A00F9EF01F1318EBE6AD7F7D77140F000714A
:10241A00783002713AE6713BE2713BEA713BEE5A5F
:10242A0006FCCF34024AE552FF711A52710A527100
:10243A004830027130300271203002CF330208CFA7
:10244A0032020A71303102713BE6717030028E2617
:10245A005CFC9E26D7717830027148F000D7FD6186
:10246A002BFD65278F10F9313305F50EF9EF04CFEF
:10247A000EF903FD2B2CFDA62EFD3727FDAD24FDFD
:10248A006B33715221717AFAFD5D02FD6E3331545C
:10249A002108715321FD6E33EFF4FD7834FD660196
:1024AA00EFE6D731020403F1EF01E13410F9718C40
:1024BA008971899931120403F1EF01E13410F9713C
:1024CA008C89719999D7C7C1C1FBF8FF3172200372
:1024DA00FD37273164200300EFF9716220F51BF9FB
:1024EA008C02318EFD8826D2DD0ACF1BF902716378
:1024FA0020F7EF478C0A318EFD9E26FDE8268C02D6
:10250A006C01318EFD9E26300400BF240130174035
:10251A00BF1C01300400BF2201F6BF2A01710BE281
:10252A00CE44FF3182E202EFFA8E449C01FD13276A
:10253A00710BE27163208C01318E121004C6D7C769
:10254A00C1FBF8FF31722003FD37273164200300F5
:10255A00EFF97162208B318EFD8826D2DD06716318
:10256A0020E7EF548C08318EFD9E26FDE8268B6C01
:10257A0001318EFD9E26300400BF2401301740BF72
:10258A001C01300400BF22018C0A91DF04F6BF2A25
:10259A0001710BE2CE44FF3182E202EFFAAC0C1475
:1025AA008E449961790C61690A8C0AD1DFDAFD13CC
:1025BA0027710BE2716320F7C0C6D7C7C1FBF8FFCA
:1025CA0031722003FD37273164200300EFF971626D
:1025DA0020710AE68B318EFD8826D2DD06716320D2
:1025EA00E7EF158C08318EFD9E268C0A318EFD9EF2
:1025FA0026FD1327716320F7C0C6D7C7C1FBF8FFB2
:10260A0031722003FD37273164200300EFF971622C
:10261A0020710AE6710BE28B318EFD8826D2DD0924
:10262A00716320717AFAE7EF52710BE23152203965
:10263A00C73414F9AC0C1652048B99A5A792DFF98A
:10264A00C63184BD02EFFA717ABDCEB144CBB4145F
:10265A00F98C0A318EBEB8CEBB48714BE1714BE59D
:10266A00710ABD8C089E44EF118C089E44710BE6DA
:10267A008C0A9F1AF9AC0CBF18F9F7C0C6D7C7164F
:10268A00FDBF2617F1FD9E26D2DD06FD1327E7EFD3
:10269A0001F7C6D7C716710BE2669E443182E20380
:1026AA0000EFF9F6420401DD09AF0401BF0C01E7AE
:1026BA00EF01F7C6D7AF2801085CFB08BF28010065
:1026CA00000000AF28015CFBBF2801300400BF2ACC
:1026DA0001301780BF1C01300400BF2201D7AF248C
:1026EA0001086C0408BF2401AF28016C0F086C0BA9
:1026FA0008BF280100000000AF2A01085CFB08BFE0
:10270A002A0100000000EDBF26300400BF2401F6B4
:10271A00BF2A01300B0BBF280100000000510FBF78
:10272A00280100000000500FBF2801D7D7710BBD48
:10273A00717BBD7132057120F00000000000F6BF08
:10274A0026015014BF1401CB44000A300F0FBF28D2
:10275A0001716320715320717220D731642002EF16
:10276A00FAFDE8267133057128F000717320D7D776
:10277A00D77100F200301100BFB601300188BF9056
:10278A0001300984BF9E01BF9C01BF9A01BF980115
:10279A00BF9601BF9401BF9201F53CFF30FE00BF16
:1027AA00BE015004BFBC01F6BFB80150EEBFBA016A
:1027BA00A1BFB201C918FE00D730EF00BFB401F6BD
:1027CA00BFBA017108F200D78F5BF9D1DD1191DD33
:1027DA004991DD4291DD2091DD4491DD49EF3B8F46
:1027EA000EF92C03DC47D1DD0A91DD4191DF04FDAE
:1027FA00D528D7FD3828D7F6426CFF61E8E1318F3A
:10280A0012AE6C23BE6CF6426EFF61E8E1318F12A4
:10281A00AE6E23BE6ED7FDD528D7FD3828D7F6BEB3
:10282A006CCB6EFF00D7CB6CFF00F6BE6ED78F3C29
:10283A00F9318EF7BDD813BDDAFD1007C9DC0000E7
:10284A00304C41FD7C06DE17A01DF9401DF97FDEE4
:10285A0007F6BE6CBE6EEF06D95AF9F1BE6ED78F77
:10286A003CF9318EF7BDD813BDDAFD1007C9DC007B
:10287A0000304C42FD7C06DE29F6426CFF61E8B26C
:10288A006CFFD95AF9F1426EFFDD3FD95AF912AEFF
:10289A006E43DE03E1EF0251FF318F12AE6E03BECB
:1028AA006ED7D95AF9F1426CFFDD16D95AF912AE30
:1028BA006C43DE03E1EF0251FF318F12AE6C03BEAF
:1028CA006CF6426EFF61E8B26EFFD7D51EF9DD04E1
:1028DA00B01EF9D7CF1EF903AE6E4222F9DD13AF4F
:1028EA0022F9426EFFDE05B26EFFEF06AE6EA1A1BF
:1028FA00BE6EAE6C4220F9DD13AF20F9426CFFDEEA
:10290A0005B26CFFEF06AE6CA1A1BE6C8F1FF9D1A8
:10291A00DD082C02DD042C02DF338F3CF9318EF7FF
:10292A00BDD813BDDAFD1007C9DC0000304C42FDEA
:10293A007C06DE0CF6BF20F9D95AF9BF22F9EF332B
:10294A00D95AF9F1BF20F9F6BF22F9EF268F3CF9DF
:10295A00318EF7BDD813BDDAFD1007C9DC0000308F
:10296A004C42FD7C06DE07E6A1BF22F9EF05E6A18F
:10297A00BF20F9AE6C4220F9DF0AAE6E4222F9613D
:10298A00F8A01FF9D7C7D524F9DD06B024F9EDE977
:10299A002A8F5CF9D1DD1491DD2391DD359161F83F
:1029AA00ED322A9161F8ED612AEF12F6BE66F51C46
:1029BA00F9F526F9F525F9714302EDE92AD95AF90B
:1029CA00F1BE66F51CF9F526F9F525F9714202ED15
:1029DA00E92AD51CF9DD07F51CF9CF25F902D52519
:1029EA00F9DD358F26F991DD082C02DD042C02DF92
:1029FA0008F6BE66714302EF09D95AF9F1BE66714B
:102A0A004202A026F94026F920DF06F526F9B0256C
:102A1A00F9CF24F916EDE92AD95AF9F1BE667142BD
:102A2A0002CF24F9C8EDE92A7142028F26F991DD15
:102A3A00082C02DD042C02DF08D95AF9F1BE66EF30
:102A4A0003F6BE66A026F94026F91061F8F526F9C4
:102A5A00CF24F932EDE92A714202D525F9DD0CF6C7
:102A6A00BE66F525F9CF24F93CEF748F26F95C038D
:102A7A003119728F26F931AE0444201489D2DD054A
:102A8A00311992DFFB318FF1085CC076D1DF03F197
:102A9A00EF048F26F9819F26F966D1DD0E2C40DDE1
:102AAA00162C40DD1E2C40DD29EF0CF6BE66F525FE
:102ABA00F9CF24F9B4EF28F6BE66E525F9CF24F953
:102ACA003CEF1CD95AF9F1BE66E525F9CF24F93C49
:102ADA00EF0DD95AF9F1BE66E525F9CF24F9B4C646
:102AEA00D7D527F9DD04B027F9D78F5DF9D1DD0FE6
:102AFA0091DD1D91DD1091DD1791DD2F91DD43F6FA
:102B0A00BE64F564FAD7D95AF9F1BE64F564FAD706
:102B1A00D564FADF0BD95AF9F1BE64E564FAEF0617
:102B2A00F6BE64F564FACF27F9FAD7D564FADF0E50
:102B3A00D95AF9F1BE64E564FACF27F9FAD7F55DF7
:102B4A00F9D7D564FADF0BF6BE64E564FACF27F944
:102B5A00FAD7CF5DF902D7C736F00071F4DC1371EA
:102B6A0070F000CE9D08CE9EC0CE9F80CE9C7FE5A1
:102B7A0034F9711BE3712BE3711AE7712BE7717A50
:102B8A009D710A9E31929E02EFFA710B9E7103218A
:102B9A00711321712321C6D7C73102211E71022167
:102BAA00710A9E31929E02EFFA3462F93692FF520E
:102BBA00078B99A5A792DFF9710B9EC6D7C788061E
:102BCA001631122115711221C7342AF93092FF16D3
:102BDA0052078B99A5A792DFF9C6667367182AF977
:102BEA00C6D7C77103213114211E711321710A9EA0
:102BFA0031929E02EFFA3492FF362AF952078B99E4
:102C0A00A5A792DFF9710B9E31242113717B9E8F48
:102C1A006AF99E9A8F6BF99E9B711321717A9EC6EF
:102C2A00D7CF5AF9FFF532F9CF33F905D7C7880656
:102C3A001666320002F02361F8EDE52C912361D883
:102C4A00EDF22C2361D8ED012DD161F8ED0A2D2C7E
:102C5A00032361D8ED622E2C0C2C0461D8ED262DAD
:102C6A002C0461F8ED2F2D9161F8ED412D2361F8C7
:102C7A00ED6A2E912C0461D8EDC72DD161F8EDD003
:102C8A002D9161F8EDD92D9161F8EDE22D9161F860
:102C9A00EDEB2D9161F8EDF42D2C042C0761D8EDA4
:102CAA00FC2DD161F8ED0B2E912361D8ED152E2C58
:102CBA000361D8ED202E2C0361F8ED282E9161F8DE
:102CCA00ED362E2361F8ED442E9161F8ED4C2E2C51
:102CDA00072C0361D8ED5A2EED772E675CBF72661A
:102CEA0073621832F9ED772E30D122FDA53366735F
:102CFA00671832F9ED772E6673671832F9ED772E79
:102D0A006673671832F94037F96ADF0D4038F96897
:102D1A00DF074C6C61F8FD6102ED772E6673671868
:102D2A0032F9ED772E6673671832F9D1DD0630A0D5
:102D3A0031FDA533ED772E6673671832F9D1DD7A46
:102D4A008F53F95C01D1DD05308000EF01F6609FF9
:102D5A0092F98F53F95C02D1DD03E1EF01F172348C
:102D6A0092F989616A998F53F95C04D1DD045102A1
:102D7A00EF01F1723492F989616A998F53F95C080B
:102D8A00D1DD045120EF01F1723492F989616A9917
:102D9A008F53F95C10D1DD045110EF01F1723492B6
:102DAA00F989616A998F53F95C20D1DD045140EFAA
:102DBA0001F1723492F989616A99ED772E66736727
:102DCA001832F9ED772E6673671832F9ED772E66A9
:102DDA0073671832F9ED772E6673671832F9ED7753
:102DEA002E6673671832F9ED772E6673671832F913
:102DFA00EF7B67318EC1662C30318EFDC72BC0EF59
:102E0A006C6673671832F99E99EF626673671832B7
:102E1A00F9712221EF576673671832F9EF4F66731B
:102E2A00671832F9303139FDA533EF4166736718F7
:102E3A0032F930EA38FDA533EF336673671832F991
:102E4A00EF2B6673671832F9300D39FDA533EF1D84
:102E5A006673671832F9EF156673671832F9EF0D62
:102E6A006673671832F92C7261F8CEABAAC6D7C757
:102E7A0016664C30DC074C3761D8FDA22B66730905
:102E8A0032F9318E12C6D7C716664C13DF0CF545D8
:102E9A00F9F544F9F543F9F542F9C6D7CF82F93580
:102EAA00CF88F90FCF89F907CF8DF903E58EF9E5B8
:102EBA0091F9CF92F960D7C7880616662C042C02BE
:102ECA00DC0B912C05DC062C062C08DE06667367E3
:102EDA001882F9662C04DF1667D1DD128F4DF95C72
:102EEA0010D1DF0A714045F9710303710B23C6D76C
:102EFA00C71666730982F9318E12C6D7C7C1C1FBDC
:102F0A00F8FF8C025CF09C018C025C0F9B8C014CDC
:102F1A0081DC05F792EDC12F8C014C50DF05F79249
:102F2A00EDC12F8C014C31DE468C014C11DE1E8C1A
:102F3A00014C10DF0D8B4C03DE3351030D318E1221
:102F4A00EF758B4C03DE268B318E12EF6A8C014CA7
:102F5A0020DF0D8B4C02DE1551060D318E12EF5714
:102F6A008B4C02DE5051080D318E12EF4AEF468C1F
:102F7A00014C61DE208C014C60DF0D8B4C04DE3588
:102F8A00510E0D318E12EF2F8B4C02DE28510A0D95
:102F9A00318E12EF228C014C70DF0D8B4C08DE153E
:102FAA0051120D318E12EF0F8B4C02DE08511A0DA1
:102FBA00318E12EF02F7921004C6D7C7D566FADD32
:102FCA0006B066FAED6331CF66FA02713203312434
:102FDA000C06712041F9EF04712841F931140706F2
:102FEA00711041F9EF04711841F9713303400EF978
:102FFA0003DD09400EF90561E8ED63318F41F97F80
:10300A009EF976D161F8ED51318F41F99F9EF966AB
:10301A005C80D1DD2E8F41F95C80D1DD148F4DF9B2
:10302A005C08D1DF1E713045F9710303710B23EF80
:10303A00128F4DF95C04D1DF0A712045F97103033F
:10304A00710B23665C40D1DD2E8F41F95C40D1DDE6
:10305A00148F4DF95C02D1DF1E711045F97103031B
:10306A00710B23EF128F4DF95C01D1DF0A71004514
:10307A00F9710303710B23665C10D1DD2E8F41F9C0
:10308A005C10D1DD148F4CF95C80D1DF1E71704465
:10309A00F9710303710B23EF128F4CF95C40D1DFF6
:1030AA000A716044F9710303710B23665C08D1DD70
:1030BA002E8F41F95C08D1DD148F4CF95C20D1DFE9
:1030CA001E715044F9710303710B23EF128F4CF9EF
:1030DA005C10D1DF0A714044F9710303710B236656
:1030EA005C04D1DD2E8F41F95C04D1DD148F4CF9DB
:1030FA005C04D1DF1E712044F9710303710B23EFC5
:10310A00128F4CF95C08D1DF0A713044F97103035C
:10311A00710B23665C02D1DD2E8F41F95C02D1DD91
:10312A00148F4CF95C02D1DF1E711044F97103034C
:10313A00710B23EF128F4CF95C01D1DF0A71004445
:10314A00F9710303710B238F72F95C03D1DD0A3124
:10315A00240F0630B737FDA533C6D7C7C6D7C72051
:10316A0004FBF8FF400EF903DD06400EF905DF22E5
:10317A008F42F99C038F43F99C028F44F99C018F7B
:10318A0041F99B17C1300400C1F6C15044FD052620
:10319A0010061004C6D78F52F95C01D1DD05F50E71
:1031AA00F9EF398F52F95C02D1DD0C5A00FC8E20FE
:1031BA005CFC9E2071030E8F52F95C04D161E871A8
:1031CA0013008F52F95C08D161E871030E300500D3
:1031DA00FDEC34710A2071120071020E8F52F95CF3
:1031EA0020D1DD0830DB22FDA533EF0E8F52F95CCA
:1031FA0010D1DD0630E022FDA5338F52F95C80D173
:10320A00DD0830D622FDA533EF0E8F52F95C40D18E
:10321A00DD0630E522FDA533F552F9F7D700EFFDBB
:10322A00D7C7400EF903DD09400EF90561E8EDE75D
:10323A003231342170D568FADD06B068FAEDE7322A
:10324A00CF68FA088FA3F92F3BF9318EFD7420134A
:10325A0044040071FEDC258F3BF99FA3F98F3BF9EB
:10326A00315A4FA4F9DD159FA4F98F4AF95C40D170
:10327A00DF0A716042F9710303710B238F3BF94F27
:10328A00A1F9DD1E8F3BF9311A738F3BF9312A619F
:10329A000B9FA1F9D9A1F9F1C1F6C15050FDC5257D
:1032AA0010047133217150F000CE301BCF17000685
:1032BA00CE3106717A30710BE3710BE78F5EF991AB
:1032CA00DD0591DD0AEF13D95AF9F1BD1AEF0E5156
:1032DA00FF2F3AF9318EBD1AEF03F6BD1AC6D7C7CA
:1032EA00C1C1FBF8FFAC021489728A016142DE1186
:1032FA00899C01AC02148A017299AC02148C019A5D
:10330A0001AC021489728A01614ADC0689318E1283
:10331A00EF1BAC02148A01728A02614ADE078A0133
:10332A00318E12EF08AC02148A02318E121004C6D2
:10333A00D7C716710AE7710BE37150F000717B3041
:10334A00CE3023CF170006669E31717A30710BE7B3
:10335A003182E302EFFA8D1F7158F000318E12C6E6
:10336A00D7ED8D33C73144211771432130482016D8
:10337A0017445C20DD0AABCEFC0061CAA7A7EFF0B8
:10338A00F7C6D7C75600664C0FDE0BF0317E12F631
:10339A0078B0F986EFF0F56AFAC6D7717BFAC7C139
:1033AA00C1FBF8FFD56BFADD0300EFFDE56BFA40D0
:1033BA006AFA0FDC0300EFFDCC01008C014F6AFAB8
:1033CA00DE1D8C01F0317E1279B0F9614902DF0A03
:1033DA0000F56BFA717AFAE7EF60615901EFDCCC1C
:1033EA0001008C014C0FDE188C01F0317E04B0F91B
:1033FA0014A96168DF05AC02B9EF05615901EFE272
:10340A00A06AFACC0000CC01008C014C0EDE168CAE
:10341A0001F0317E04B0F914A9616861E8615900CC
:10342A00615901EFE48B4F6AFADD0300EFFDF56B9A
:10343A00FA717AFAF7EF0300EFFD1004C6D7C71640
:10344A00667767F0317E04B0F914A96168DD1A67FE
:10345A004C0FDE1581F0317E04B0F914A91267F021
:10346A00317E3378B0F987EFD9B06AFAC6D7C72068
:10347A0004FBF8FFCC0200CC03008C034C0FDE39AE
:10348A008C03F0317E04B0F914A96168DD26A9CE57
:10349A00FC0061CAD2DF1DD50EF9DF0BCC01008C0E
:1034AA0001D1DF0300EFF8717BFA8C03318EFD48FE
:1034BA0034717AFA615903EFC1CC03008C034C0FC3
:1034CA00DE168C03F0317E04B0F914A9616861E854
:1034DA00615902615903EFE48C02D1DF97F71004B6
:1034EA00C6D7C7C1C1FBF8FFFD5D028C02D1DD1250
:1034FA0061690230AE01BBF6614900DDEE61890007
:10350A00EFF51004C6D7C7712BE78F0EF9D161F812
:10351A00ED103691DD1B9161F8EDC2359161F8ED40
:10352A00F5359161F8EDFC359161F8ED0536ED6DF3
:10353A00368F0FF991DD30D5CEF9DF05D5D1F9DD1A
:10354A0005F56CFAEF03A06CFA8F6CFA01DE09F547
:10355A000EF9715221ED703640CEF903DE0940D1E1
:10356A00F90361D8ED7036F56CFA716221710222A5
:10357A00711222FD3727FD8E21FD0A21D2DD097144
:10358A005221F50EF900EFFDFDEA22D2DD0C71524F
:10359A0021FD6527E50EF9ED7036FDCF227163072F
:1035AA00D50FF9DF05F55BF9EF04CF5BF903CF0E11
:1035BA00F902715221ED7036FD7B27CF37001DCB02
:1035CA00E43BEFCBE6F6F0CED4EFFD1524FD7A27E7
:1035DA00714A9DCF0EF903308000C15008C1505086
:1035EA00FDC525100400F50FF9EF7B31020001003B
:1035FA00EF74CF0EF905FDC922EF6BCF0EF9023138
:10360A0002006300EF60FDC327FD5F24FD7927F503
:10361A0042F9F543F9F544F9F545F9717301717BFE
:10362A00FA716207FD5723CF350003CF370019CE51
:10363A003708CBE4BFFFCBE6FFF5CED4FFF6BEE0FA
:10364A00BEE2BED0F56CFAE50EF931949E02EFFAAD
:10365A00FD652761FD713AE7712BE7717AFA7152BC
:10366A0021EF0300EFFDC6D7D56FFADD04B06FFA7C
:10367A00D7CF6FFA08400EF903DD06400EF901DFD5
:10368A006331340708716321F5CEF9EF15316421EE
:10369A0005F5CEF9EF0CA0CEF9D5CEF961F8CFCE6B
:1036AA00F9FF31440708711322F5D1F9EF153114E6
:1036BA002205F5D1F9EF0CA0D1F9D5D1F961F8CFEE
:1036CA00D1F9FF31040208710322F5D0F9EF15315F
:1036DA00042205F5D0F9EF0CA0D0F9D5D0F961F89C
:1036EA00CFD0F9FF8F0EF9D1DD092C03DD122C02A0
:1036FA00DD0ED7F5CEF9F5D1F9F5D0F9F56DFAD792
:10370A00D5CEF9DF20406EFA04DC40406EFA32DE94
:10371A003A8F4AF95C04D1DF32712042F97103030E
:10372A00710B23EF2640CEF932DF148F4AF95C0879
:10373A00D1DF18713042F9710303710B23EF0C408A
:10374A00CEF9C8DF06F50EF97152218FCEF99F6EB8
:10375A00FA8F42F95C08D1DD20A06DFA406DFA0DAE
:10376A00DC1ACF5BF903F6426CFFDF10426EFFDF13
:10377A000BF50EF9715221EF03F56DFA40D1F90AF2
:10378A00DF128F4AF95C10D1DF0A714042F97103E6
:10379A0003710B2340D0F90ADF128F4AF95C20D15A
:1037AA00DF0A715042F9710303710B23D7C7400E28
:1037BA00F90361E8EDD9383477F9C5300600C1500C
:1037CA00A8C15030FD492510068F78F9F0F977F92C
:1037DA00F303FD7420131431FF31EE05312FC18F2D
:1037EA007AF9F0F979F9F303FD7420C01413C514BA
:1037FA0031FF31EE05312FC405C18F7CF9F0F97B19
:10380A00F9F303FD7420C01413C51431FF31EE051A
:10381A00312FC40516F1609F77F917709F78F98FD9
:10382A0056FA5C1FF0317E04D2F914A9BDDCF6BD4C
:10383A00DEAF52FABDD8AF54FABDDAADDEFD0F06DF
:10384A00ADDABF54FAADD8BF52FA8F56FA5C1FF000
:10385A00317E121778D2F9BDDCF6BDDEAF52FABD61
:10386A00D8AF54FABDDAADDEFD0006ADDABF54FAC0
:10387A00ADD8BF52FAA056FAAF52FABDD8AF54FA31
:10388A00BDDA5106FD2106C9DCFF00F6FD40068DB2
:10389A00D89F79F9AF52FABDD8AF54FABDDA5106BA
:1038AA00FD21065108FD2106C9DCFF00F6FD400690
:1038BA008DD89F7AF98F72F95C03D1DD128F4BF99B
:1038CA005C10D1DF0A714043F9710303710B238F36
:1038DA0072F95C02D1DD068F72F95C01D1F7C6D7A5
:1038EA00D973F9F1C15030FDD024C0629F76F971C5
:1038FA003043F98F4BF95C08D1DF06710303710B72
:10390A0023F7D7D976F9F1C1D975F9C15030FDC578
:10391A00251004713043F98F4BF95C08D1DF067129
:10392A000303710B23F7D7C72004FBF8FF300F00FE
:10393A00C15030FDD024C0401BF902DF03F7EF3736
:10394A00CC0100CC0202CC03808F72F95C03D1DF78
:10395A0005CC0007EF108F72F95C01D1DD05CC00B0
:10396A002FEF03CC002F17C1300400C150A0C15063
:0B397A0030FD05261006F71004C6D72C
:103986004040666D756C00004040666469760000D4
:1039960040406661646400004040667375620000E2
:1039A600404066636D70000061636F730000000045
:1039B6006173696E000000006174616E00000000B2
:1039C6006174616E32000000636F730000000000D6
:1039D60073696E000000000074616E000000000054
:1039E600636F73680000000073696E680000000072
:1039F60074616E68000000006578700000000000C9
:103A060066726578700000006C646578700000006E
:103A16006C6F6700000000006C6F673130000000BB
:103A26006D6F646600000000706F77000000000094
:103A360073717274000000006365696C0000000019
:0E3A4600666C6F6F72000000666D6F640000AA
:0A47F60030383A34353A3339000008
:00000001FF


File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -7,15 +7,16 @@
// u16 tot;
#if 0
#ifndef _PMIC_CTR_
#define IRQ0_neg { PM3.0 = 1; }
#define IRQ0 ( P3.0 )
#else
#define IRQ0_neg { PM7.6 = 1; }
#define IRQ0 ( P7.6 )
#endif
#endif
#ifdef _MCU_BSR_
@ -26,12 +27,12 @@
#define ACKE ACKE1
#define COI COI1
#define IICAEN IICA1EN
#define IICAPR0 IICAPR10
#define IICRSV IICRSV1
#define IICA IICA1
#define IICAIF IICAIF1
#define IICAMK IICAMK1
#define IICAPR1 IICAPR11
#define IICAPR0 IICAPR11
#define IICAPR1 IICAPR01
#define IICCTL0 IICCTL10
#define IICE IICE1
#define IICF IICF1
@ -74,6 +75,7 @@ __interrupt void int_iic_ctr( )
static u8 reg_adrs_internal;
static u8 trx_buf;
EI();
if( SPD )
{
@ -300,7 +302,7 @@ void IIC_ctr_Init( void )
IICAMK = 1; /* INTIICA disable */
IICAIF = 0; /* clear INTIICA interrupt flag */
IICAPR0 = 0; /* set INTIICA high priority */
IICAPR0 = 1; /* set INTIICA high priority */
IICAPR1 = 0; /* set INTIICA high priority */
#ifdef _MODEL_WM0_

View File

@ -74,7 +74,7 @@ u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
#else
while( 1 )
{
};
}
#endif
}
@ -145,7 +145,7 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
#else
while( 1 )
{
};
}
#endif
}
while( iic_mcu_busy )
@ -227,7 +227,7 @@ err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
#else
while( 1 )
{
};
}
#endif
}
while( iic_mcu_busy )
@ -283,7 +283,7 @@ err iic_mcu_write( u8 slave, u8 adrs, u8 len, u8 * src )
#else
while( 1 )
{
};
}
#endif
}
while( iic_mcu_busy )
@ -320,7 +320,7 @@ err iic_mcu_write( u8 slave, u8 adrs, u8 len, u8 * src )
// DMAƒZƒbƒg
while( DST1 )
{;
};
}
DEN1 = 1;
DSA1 = ( u8 ) ( &SIO10 );

View File

@ -17,12 +17,12 @@ extern u8 vreg_twl[];
#define ACKE ACKE0
#define COI COI0
#define IICAEN IICA0EN
#define IICAPR0 IICAPR00
#define IICRSV IICRSV0
#define IICA IICA0
#define IICAIF IICAIF0
#define IICAMK IICAMK0
#define IICAPR1 IICAPR01
#define IICAPR0 IICAPR00
#define IICAPR1 IICAPR10
#define IICCTL0 IICCTL00
#define IICE IICE0
#define IICF IICF0

View File

@ -5,7 +5,6 @@
#pragma stop
#pragma halt
#pragma section @@CODE ROM_CODE
//#pragma section @@CNST ROM_CNST

View File

@ -1,9 +1,12 @@
#pragma nop
#include "config.h"
//#pragma interrupt INTWDTI fn_intwdti // 未使用
//#pragma interrupt INTLVI fn_intlvi // 未使用
#pragma interrupt INTP0 intp0_slp // SLP (CPUより、要求
#pragma interrupt INTP0 intp0_slp // SLP (CPUより、要求) ポーリング
//#pragma interrupt INTP1 fn_intp1 // (I2C)
//#pragma interrupt INTP2 fn_intp2 // (I2C)
//#pragma interrupt INTP3 fn_intp3 // 未搭載
@ -43,16 +46,9 @@
#pragma interrupt INTIICA int_iic_ctr // CTR側
#else
//#ifdef _MODEL_WM0_
#pragma interrupt INTIICA0 int_iic_twl // テレコのWM0仕様
// TSはマザボでテレコ、WMは回路図がテレコで結局一致…
#pragma interrupt INTIICA0 int_iic_twl
#pragma interrupt INTIICA1 int_iic_ctr
/*
#else
#pragma interrupt INTIICA0 int_iic_ctr // CTR側
#pragma interrupt INTIICA1 int_iic_twl // TWL側
#endif
*/
#endif
//#pragma interrupt INTTM00 fn_inttm00
@ -79,58 +75,70 @@ __interrupt void fn_intwdti( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_intlvi( )
{
while( 1 )
{
};
NOP();
}
}
//__interrupt void fn_intp0(){} // tasks.c
/*
__interrupt void fn_intp0(){
} // tasks.c
*/
__interrupt void fn_intp1( )
{
while( 1 )
{
};
NOP();
}
} //
__interrupt void fn_intp2( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_intp3( )
{
while( 1 )
{
};
NOP();
}
}
//__interrupt void fn_intp4(){ while(1){}; } // pm.c
//__interrupt void fn_intp5(){ while(1){}; } // pm.c
//__interrupt void fn_intp6(){ while(1){}; } // pm.c
//__interrupt void fn_intp7(){ while(1){}; } // led.c
//__interrupt void fn_intp21(){ while(1){}; } // led.c
//__interrupt void fn_intp4(){ while(1){} } // pm.c
//__interrupt void fn_intp5(){ while(1){} } // pm.c
//__interrupt void fn_intp6(){ while(1){} } // pm.c
//__interrupt void fn_intp7(){ while(1){} } // led.c
//__interrupt void fn_intp21(){ while(1){} } // led.c
__interrupt void fn_intcmp0( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_intcmp1( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_intdma0( )
{
while( 1 )
{
};
NOP();
}
}
//__interrupt void fn_intdma1(){} // i2c_mcu.cにある
@ -139,7 +147,8 @@ __interrupt void fn_intst0( )
{
while( 1 )
{
};
NOP();
}
}
/* __interrupt void fn_intcsi00(){} */
@ -147,7 +156,8 @@ __interrupt void fn_intsr0( )
{
while( 1 )
{
};
NOP();
}
}
/* __interrupt void fn_intcsi01(){} */
@ -155,29 +165,33 @@ __interrupt void fn_intsre0( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_intst1( )
{
while( 1 )
{
};
NOP();
}
}
/* __interrupt void fn_intcsi10(){} */
//__interrupt void fn_intiic10(){ while(1){}; }
//__interrupt void fn_intiic10(){ while(1){} }
__interrupt void fn_intsr1( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_intsre1( )
{
while( 1 )
{
};
NOP();
}
}
//__interrupt void fn_intiica(){} // i2c.cにある
@ -186,27 +200,32 @@ __interrupt void fn_inttm01( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_inttm02( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_inttm03( )
{
while( 1 )
{
};
NOP();
}
}
//__interrupt void fn_intad(){ while(1){}; } // adc.c
//__interrupt void fn_intad(){ while(1){} } // adc.c
__interrupt void fn_intrtc( )
{
while( 1 )
{
};
NOP();
}
}
//__interrupt void int_rtcint(){} // rtc.cにある
@ -215,30 +234,38 @@ __interrupt void fn_intmd( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_inttm04( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_inttm05( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_inttm06( )
{
while( 1 )
{
};
NOP();
}
}
__interrupt void fn_inttm07( )
{
while( 1 )
{
};
NOP();
}
}

View File

@ -33,7 +33,9 @@ typedef unsigned char err;
#define set_irq( irqreg, bitpos ) \
{ \
if( ( vreg_ctr[ irqreg+8 ] & bitpos ) == 0 ){ \
IRQ0_neg; \
vreg_ctr[ irqreg ] |= bitpos; \
while( !IRQ0 ); \
IRQ0_ast; \
} \
}

View File

@ -64,7 +64,7 @@ void LED_init( )
<< BIT_CIS0 | 4 << BIT_MD123 | 1 << BIT_MD0;
ISC = 0;
TOM0 = 0b0000000011111110; // 出力モード。4はPWM出力しないが1にしないとTO5以降にクロックが届かない
TOL0 = 0b0000000000000100; // 出力を反転させるかフラグ
TOL0 = 0b0000000000000000; // 出力を反転させるかフラグ
TO0 = 0; // タイマー動作中で、タイマー出力にしてないときのピンのラッチ。タイマー出力を使わないなら0
TOE0 = 0b0000000011101110; // TOxをタイマーモジュールが制御
@ -116,19 +116,15 @@ void tsk_led_pow( )
case ( LED_POW_ILM_AUTO ):
switch ( system_status.pwr_state )
{
case ( SLEEP ):
case SLEEP:
led_pow_hotaru( );
break;
case ( ON ):
default:
case ON:
led_pow_normal( );
break;
case ( ON_TRIG ):
case ( SLEEP_TRIG ):
case ( OFF_TRIG ):
case ( OFF ):
default:
break;
}
break;
@ -165,7 +161,6 @@ void tsk_led_pow( )
/* ========================================================
 
======================================================== */
static void led_pow_normal( )
{
@ -221,7 +216,6 @@ static void led_pow_normal( )
/* ========================================================
======================================================== */
static void led_pow_hotaru( )
{
@ -453,11 +447,12 @@ void tsk_led_wifi( )
}
/* ========================================================
/******************************************************//**
wifi_TXピン割り込み
 LED点滅のフラグ操作のみ
  tsk_led_wifi
======================================================== */
\n  LED点滅のフラグ操作のみ
\n   tsk_led_wifi
*********************************************************/
__interrupt void intp21_RFTx( )
{
wifi_TX = 1;
@ -465,21 +460,15 @@ __interrupt void intp21_RFTx( )
/* ========================================================
/******************************************************//**
LED_Cam TO02
======================================================== */
\n BLINK,*_PLUSE 1
\n OFFBLINK OFFが無視されます
*********************************************************/
void tsk_led_cam( )
{
static u8 state_led_cam = 0;
static u8 task_interval;
static u8 reg_old;
/*
if( reg_old != vreg_ctr[ VREG_C_LED_CAM ] ){
reg_old = vreg_ctr[ VREG_C_LED_CAM ];
task_interval = 1;
}
*/
if( task_interval != 0 )
{
@ -501,7 +490,6 @@ void tsk_led_cam( )
break;
case ( CAM_LED_BLINK ):
case ( CAM_LED_BY_TWL ):
if( state_led_cam == 0 )
{
LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT];
@ -541,13 +529,34 @@ void tsk_led_cam( )
}
break;
case ( CAM_LED_BY_TWL ):
switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){
case( TWL_CAMLED_OFF ):
LED_duty_CAM = 0;
state_led_cam = 0;
break;
case( TWL_CAMLED_BLINK ):
if( state_led_cam == 0 )
{
LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT];
state_led_cam = 1;
}
else
{
LED_duty_CAM = 0;
state_led_cam = 0;
}
task_interval = 250;
break;
case( TWL_CAMLED_ON ):
case( TWL_CAMLED_DEF_ON ):
default:
LED_duty_CAM = vreg_ctr[VREG_C_LED_BRIGHT];
state_led_cam = 0;
break;
}
}
return;
}
// 捨て看板
/* ========================================================
// LED_Charge 5     →PM
LED_TUNE 4
======================================================== */

View File

@ -15,6 +15,7 @@
#pragma halt
#pragma opc
#include "incs_loader.h"
#include "fsl.h"
@ -25,6 +26,8 @@
#include "pm.h"
#include "rtc.h"
#include "reboot.h"
// ========================================================
#if (FSL_DATA_BUFFER_SIZE>0)
@ -49,6 +52,7 @@ static fsl_u08 fsl_MK2H_bak_u08; /* }
#define MGC_HEAD 0x2100
#define MGC_FOOT 0x47F6
u8 temp;
// ========================================================
@ -72,7 +76,34 @@ void main( )
if( RTCEN )
{
system_status.reboot = 1;
// 旧版対応 強制リセット
WDTE = 0x00;
/*
#asm
mov A,PSW
and A,#06h
mov !_temp,A
#endasm
if( temp != 6 ){
// 新ファームにしてジャンプしてきた場合
while( SW_TUNE_n ){
WDT_Restart( );
DBG_LED_WIFI_on;
DBG_LED_WIFI_off;
}
my_reboot();
}else{
// ↑で強制的にリセットベクタに"リターンした"場合
system_status.reboot = 1;
while( SW_WIFI_n ){
WDT_Restart( );
DBG_LED_WIFI_2_on;
DBG_LED_WIFI_2_off;
}
}
*/
}
else
{
@ -90,15 +121,14 @@ void main( )
}
while( pwup_delay0 != 0 );
hdwinit2( ); // ?
}
hdwinit2( );
#if 1
// ファームの整合性チェック //
{
u8 i;
u8 comp = 0;
// ローダーと本体は同じバージョンか?
for( i = 0; i < sizeof( __TIME__ ); i++ )
{ // sizeof( __TIME__ ) = 8 らし
@ -119,9 +149,8 @@ void main( )
// 帰ってこない。リセットをかける。
}
}
#endif
chk_bootCluster( );
// chk_bootCluster( );
// 通常運転
main_loop( );
@ -281,7 +310,7 @@ void hdwinit2( )
PR01L = 0b11111111;
PR11L = 0b11111110;
PR01H = 0b11111111;
PR11H = 011111111;
PR11H = 0b11111111;
PR02L = 0b11111111;
PR12L = 0b11111111;

View File

@ -19,7 +19,7 @@
#include "rtc.h"
#include "pm.h"
#include "accero.h"
#include "led.h"
// ========================================================
@ -56,35 +56,30 @@ void main_loop( void )
// 電池投入時の1回のみ
RTC_init( ); // 内部でリブートか判定しています
iic_mcu_stop( );
if( system_status.reboot == 0 )
{
/*
{
u8 temp;
temp = ( RESF & 0b10010001 );
if( temp != 0 ){
vreg_ctr[ VREG_C_IRQ1 ] |= REG_BIT_WDT_DET;
system_status.pwr_state = ON;
}else{
PM_reset();
system_status.pwr_state = OFF_TRIG;
}
}
*/
system_status.pwr_state = OFF_TRIG;
}
else
{
system_status.pwr_state = ON;
vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO;
system_status.pwr_state = ON_TRIG;
iic_mcu_start( );
// リセットだけ、かけてみる
PM_reset_ast( );
RESET2_ast;
FCRAM_RST_ast;
wait_ms( 1 );
FCRAM_RST_neg;
RESET2_neg;
PM_reset_neg( );
}
vreg_ctr_init( );
vreg_twl_init( );
iic_mcu_start( );
read_dipsw( );
// 特定スイッチで何かするか?
@ -93,6 +88,8 @@ void main_loop( void )
renge_task_interval_run_force = 1;
EI( );
// メインループ //
while( 1 )
{ // システムtick、または割り込みで廻ります。

View File

@ -64,45 +64,61 @@ err PM_bt_auth( )
/* ========================================================
/******************************************************//**
PMIC達の初期化
ICのセット
\n
\n ICのセット
\n
\n
\n
\n PM_BT_DET,_P
*********************************************************/
#define swap_endian_16( x ) (unsigned int)( x << 8 | x >> 8 )
PM_BT_DET,_P
======================================================== */
void PM_init( )
{
u8 temp;
u8 dat[2];
u8 origParam[4];
union{
u16 _u16; // ↓でわかるように、little endian です。注意。
struct{
u8 lsb;
u8 msb;
}chars;
}dat_16;
#if 1
wait_ms( 200 );
// -1. なんかおかしい… リセットをかけてみる
dat_16._u16 = swap_endian_16( 0x5400 ); // reset
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_COMMAND, 2, &dat_16.chars.lsb );
#endif
wait_ms( 200 );
// 0. バッテリ残量IC クイックスタート
dat[0] = 0x40; // quick start
dat[1] = 0x00;
if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, dat ) != ERR_SUCCESS ){
dat_16._u16 = swap_endian_16( 0x4000 ); // quick start
if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16.chars.lsb ) != ERR_SUCCESS )
{
vreg_ctr[ VREG_C_STATUS_X ] |= 0x01;
}else{
}
else
{
// 1. ロック解除
dat[0] = 0x40; // unlock key
dat[1] = 0x57;
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, dat );
dat_16._u16 = swap_endian_16( 0x4057 ); // unlock key
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16.chars.lsb );
// 2. 初期パラメータを一時保存
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
// 3. 一時的にOCVを変更
dat[0] = 0xD4;
dat[1] = 0xC0;
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_OCV, 2, dat );
dat_16._u16 = swap_endian_16( 0xD4C0 ); // マジックナンバー的なもの。メーカー指定
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_OCV, 2, &dat_16.chars.lsb );
// 4. 一時的にRCOMPを変更
dat[0] = 0xFF;
dat[1] = 0x00;
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 2, dat );
dat_16._u16 = swap_endian_16( 0xFF00 );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 2, &dat_16.chars.lsb );
// 電池メーカーの識別
BT_DET_P = 1;
@ -113,9 +129,10 @@ void PM_init( )
// 5.メーカー別パラメータのロード
switch ( temp )
{
default:
// case( BT_VENDER_PANA ):
// iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 64, BT_BT_PARAM_PANA );
default:
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 64, BT_BT_PARAM_PANA );
/*
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 16, BT_BT_PARAM_PANA );
iic_mcu_set_wo_dma( );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM+16, 16, &BT_BT_PARAM_PANA[16] );
@ -123,7 +140,7 @@ void PM_init( )
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM+16*2, 16, &BT_BT_PARAM_PANA[32] );
iic_mcu_set_wo_dma( );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM+16*3, 16, &BT_BT_PARAM_PANA[48] );
*/
rcomp = BT_PANA_RCOMP;
temp_co_up = BT_PANA_TEMPCOUP;
temp_co_dn = BT_PANA_TEMPCODN;
@ -134,17 +151,16 @@ void PM_init( )
wait_ms( 200 );
// 7. OCVに「とある値」を書く
dat[0] = 0xD4;
dat[1] = 0xC0;
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_OCV, 2, dat );
dat_16._u16 = swap_endian_16( 0xD4C0 );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_OCV, 2, &dat_16.chars.lsb );
// 8. 150600ms待つ。600msは厳守
wait_ms( 200 );
// 9. SOCを読む。ベリファイのため。
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC, 2, dat );
temp = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC );
if( 0x6D == dat[0] || dat[0] == 0x6E || dat[0] == 0x6F ){
if( 0x6D == temp || temp == 0x6E || temp == 0x6F ){
// カスタムモデル書き込みOK
}else{
// 失敗だったらリトライするのか?
@ -154,9 +170,8 @@ void PM_init( )
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam );
// 11. ロック
dat[0] = 0x00; // lock key
dat[1] = 0x00;
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, dat );
dat_16._u16 = swap_endian_16( 0x0000 ); // lock key
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16.chars.lsb );
// おしまい //
}
@ -167,7 +182,7 @@ void PM_init( )
renge_task_immed_add( PM_bt_temp_update );
// PMIC バージョン読み出し
temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
// temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
// vreg_ctr[ VREG_C_PM_INFO ] = temp;
}
@ -321,7 +336,7 @@ err PM_LCD_on( )
iic_mcu_write_a_byte( IIC_SLA_PMIC, 0x22, 0x4A ); // バグ持ちPMIC対策
vreg_ctr[VREG_C_STATUS] |= REG_BIT_LCD_POW;
SLP_O = 0; // 1でミュート
SND_DEPOP = 0; // 1でミュート
return ( PM_chk_LDSW( ) );
}
@ -334,7 +349,7 @@ err PM_LCD_off( )
// PM_VDDLCD_off(); // 残ってたの全部止めます。
vreg_ctr[VREG_C_STATUS] &= ~REG_BIT_LCD_POW;
SLP_O = 1;
SND_DEPOP = 1;
return ( ERR_SUCCESS );
}

View File

@ -30,15 +30,15 @@ void RTC_init( void )
RTCC0 = 0b00001000; /* 動作停止、24時間制、32k出力「まだなし」、定周期割り込みなし */
RTCC1 = 0b11000000; /* アラーム割り込み有効&動作開始 */
RTCC2 = 0b10000000; /* インターバル:32k/2^6=2ms、RTCDIV出力なし */
/*
SEC = 0;
MIN = 0;
HOUR = 0;
DAY = ((1<<4) + 7);
WEEK = 0;
MONTH = 9;
YEAR = 9;
*/
SEC = 0;
MIN = 0;
HOUR = 15;
DAY = ((1<<4) + 7);
WEEK = 0;
MONTH = 10;
YEAR = 9;
ALARMWW = 0x7F;
vreg_ctr[VREG_C_MCU_STATUS] = REG_BIT_RTC_BLACKOUT;

View File

@ -70,9 +70,6 @@ static void FSL_Open( void );
static void FSL_Close( void );
err firm_restore( );
extern void self_update_reboot( u8 flag );
// magic.c の記述と違わないように注意!
#define N_MGC_L 0x1FF6
#define N_MGC_T 0x47F6
@ -243,8 +240,9 @@ err firm_update( )
if( comp == 0 )
{
FSL_InvertBootFlag( );
// FSL_ForceReset();
FSL_SwapBootCluster( );
// FSL_SwapBootCluster( ); // リセットせずに頭から
FSL_ForceReset(); // リセット
// FSL_SwapActiveBootCluster(); // ←スワップされてしまうので、続けられず暴走!
// 戻ってこない //
}
else
@ -412,3 +410,5 @@ static void FSL_Close( void )
MK2H = fsl_MK2H_bak_u08; /* } */
#endif
}

View File

@ -7,11 +7,14 @@
#include "renge.h"
#include "pm.h"
#include "accero.h"
extern u8 boot_ura;
#define INTERVAL_TSK_MISC_STAT 4
/* ========================================================
======================================================== */
@ -128,7 +131,7 @@ void tsk_misc_stat( )
}
}
#ifdef _MCU_KE3_
//#ifdef _MCU_KE3_
/* ========================================================
@ -139,10 +142,16 @@ void tsk_misc_stat( )
{
if( ACC_VALID )
{
renge_task_immed_add( tsk_cbk_accero );
// renge_task_immed_add( tsk_cbk_accero );
}
}
#endif
//#endif
// 割り込みの取りこぼし?
if( !PM_IRQ_n ){
// renge_task_immed_add( ntr_pmic_comm );
NOP();
}
}
return;
}
@ -157,15 +166,19 @@ void tsk_debug( )
u8 temp;
static u8 count = 0;
static u8 task_interval;
if( !SW_SEL_n ){
if( system_status.pwr_state == ON_TRIG ){
if( system_status.pwr_state == ON_TRIG ){
if( !SW_SEL_n ){
renge_task_immed_add( tski_PM_LCD_on );
wait_ms( 50 );
renge_task_immed_add( tski_PM_BL_on );
}
// vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x03;
// renge_task_immed_add( acc_hosu_set );
}
/*
temp = iic_mcu_read_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO );
count += 1;
@ -326,7 +339,7 @@ task_status_immed do_command0( )
======================================================== */
__interrupt void intp0_slp( )
{ // SLP
/*
/*
if( SLP_REQ ){
system_status.pwr_state = SLEEP_TRIG;
}else{
@ -338,5 +351,5 @@ __interrupt void intp0_slp( )
}
}
renge_task_interval_run_force = 1;
*/
*/
}

View File

@ -76,6 +76,7 @@ void tsk_sys( )
// 電源投入 //
iic_mcu_start( );
// ↓で電池残量ICの起動待ちウェイトなどがあります。
PM_init( ); // 電池残量ICの設定
// todo bt_auth
@ -159,21 +160,28 @@ void tsk_sys( )
#endif
system_status.poweron_reason = PWSW;
return;
break;
case ON: //---------------------------------------------
if( !RESET1_n )
{
// 電源異常チェック
/// コマンドで、正規にリセットをかけたときには、
/// このチェックに引っかからないので大丈夫
NOP( );
// ステータス類の設定、電源のフラグなどの整理
// system_status.pwr_state = OFF_TRIG;
// renge_task_interval_run_force = 1;
static u8 count;
if( !RESET1_n )
{
count += 1;
}
else
{
count = 0;
}
if( count > 50 ){
// 電源異常チェック
/// コマンドで、正規にリセットをかけたときには、
/// このチェックに引っかからないので大丈夫
system_status.pwr_state = OFF_TRIG;
renge_task_interval_run_force = 1;
}
}
return;
break;
case SLEEP_TRIG: //-------------------------------------

View File

@ -49,7 +49,11 @@ extern unsigned char temp_teg;
#ifdef _PMIC_TWL_
#define PM_TEG_PWSW P7.5 // TEGÌÝ
#define PM_TEG_LCD_dis( val ) ( P7.6 = val ) // TEGÌÝ
#define SLP_O P7.7
#else
#define SLP_ACK P7.5
#endif
@ -62,11 +66,16 @@ extern unsigned char temp_teg;
// SoC
#ifndef _MODEL_TS0_
#define IRQ0_ast { P3.0 = 0; PM3.0 = 0; }
//#define IRQ0_neg { PM3.0 = 1; }
#define IRQ0 ( P3.0 )
#else
#define IRQ0_ast { P7.6 = 0; PM7.6 = 0; }
#define IRQ0_neg { PM7.6 = 1; }
#define IRQ0 ( P7.6 )
#endif
//#define IRQ0_neg { PM3.0 = 1; }
// <20>«Œëã“ühŽ~
#define RESET1_n ( P0.0 )
#define RESET1_ast { P0.0 = 0; PM0.0 = 0; }
@ -90,13 +99,9 @@ extern unsigned char temp_teg;
// CODEC
#define PM_IRQ P7.2 // INTP6
#define PM_IRQ_n P7.2 // INTP6
#ifndef _PMIC_CTR_
#define SND_DEPOP P7.7
#else
#define SLP_O P7.7
#endif
// PM
#define PM_EXTDC P7.0 // INTP7
@ -179,8 +184,9 @@ extern unsigned char temp_teg;
#endif
#ifdef _MODEL_WM0_
#define ACC_VALID P2.5
#define ACCEL_INT1 P20.5
// テレコになっていたが、センサ側の設定を変えたため、TS0と同じでよい
#define ACC_VALID P20.5
#define ACCEL_INT1 P2.5
#endif
/*
@ -211,6 +217,7 @@ extern unsigned char temp_teg;
#define INT_MSK2_IIC_TWL ( 0b0000000100000000 )
#define INT_MSK2_WIFI_TX_BSR ( 0b0000010000000000 )
#define INT_MSK2_RSV ( 0b1111101111111111 )
#define INT_MSK2_CODEC_PMIRQ ( 0b0000000000001000 )
#define INT_MSK2_RSV ( 0b1111101111110111 )
#endif

View File

@ -16,13 +16,6 @@ u8 vreg_ctr[VREG_C_ENDMARK_];
// ********************************************************
#ifndef _PMIC_CTR_
#define IRQ0_neg { PM3.0 = 1; }
#else
#define IRQ0_neg { PM7.6 = 1; }
#endif
// ********************************************************
// 非ゼロの初期値の指定が必要なアドレス
void vreg_ctr_init( )

View File

@ -20,7 +20,8 @@ u8 vreg_twl[_REG_TWL_INT_ADRS_EDNMARK];
======================================================== */
void vreg_twl_init( )
{
vreg_twl[REG_TWL_INT_ADRS_BL] = 0x03;
vreg_twl[0x03] = 0x03;
// vreg_twl[0x03] = 0x03;
}
@ -39,7 +40,8 @@ void vreg_twl_write( u8 adrs, u8 data )
vreg_twl[adrs] = ( data & 0x03 );
break;
case ( REG_TWL_INT_ADRS_BL ):
case ( REG_TWL_INT_ADRS_WIFI ):
case ( REG_TWL_INT_ADRS_TEMP0 ):
vreg_twl[adrs] = data;
break;
@ -54,7 +56,6 @@ void vreg_twl_write( u8 adrs, u8 data )
}
// ========================================================
// I2C仮想レジスタから読みます。
// 引数 adrs 外から見たときの、アドレス
@ -65,13 +66,27 @@ u8 vreg_twl_read( u8 phy_adrs )
u8 temp;
switch( phy_adrs ){
case( REG_TWL_INT_ADRS_VER_INFO ): return( TWL_REG_VER_INFO );
case( REG_TWL_INT_ADRS_POWER_INFO ): return( 0x0F );
case( REG_TWL_INT_ADRS_VER_INFO ):
return( TWL_REG_VER_INFO );
case( REG_TWL_INT_ADRS_POWER_INFO ):
vreg_twl[ REG_TWL_INT_ADRS_POWER_INFO ] = 0x0F;
if( PM_EXTDC )
{
return ( vreg_twl[ REG_TWL_INT_ADRS_POWER_INFO ] | 0x80 );
}
else
{
return ( vreg_twl[ REG_TWL_INT_ADRS_POWER_INFO ] );
}
case( REG_TWL_INT_ADRS_IRQ ):
temp = vreg_twl[ REG_TWL_INT_ADRS_IRQ ];
vreg_twl[ REG_TWL_INT_ADRS_IRQ ]= 0;
return( temp );
temp = vreg_twl[ REG_TWL_INT_ADRS_IRQ ];
vreg_twl[ REG_TWL_INT_ADRS_IRQ ]= 0;
return( temp );
default: return( vreg_twl[ phy_adrs ] );
case( 0xFF ): return( 0x00 );
}
}
@ -89,8 +104,10 @@ u8 adrs_table_twl_ext2int( u8 img )
case( REG_TWL_ADRS_COMMAND ): return( REG_TWL_INT_ADRS_COMMAND );
case( REG_TWL_ADRS_MODE ): return( REG_TWL_INT_ADRS_MODE );
case( REG_TWL_ADRS_POWER_INFO ): return( REG_TWL_INT_ADRS_POWER_INFO );
case( REG_TWL_ADRS_WIFI ): return( REG_TWL_INT_ADRS_WIFI );
case( REG_TWL_ADRS_CAM ): return( REG_TWL_INT_ADRS_CAM );
case( REG_TWL_ADRS_BL ): return( REG_TWL_INT_ADRS_BL );
case( REG_TWL_ADRS_VOL ): return( REG_TWL_INT_ADRS_VOL );
case( REG_TWL_ADRS_TEMP0 ): return( REG_TWL_INT_ADRS_TEMP0 );
default: return( 0xFF );
}
}

View File

@ -1,5 +1,10 @@
#ifndef __vreg_twl__
#define __vreg_twl__
/* ========================================================================= */
extern u8 vreg_twl[];
/*
*
@ -62,17 +67,17 @@ enum REG_TWL_ADRS_INT
REG_TWL_INT_ADRS_MODE,
REG_TWL_INT_ADRS_POWER_INFO, // 0x20,
// REG_TWL_INT_ADRS_POWER_SAVE,
// REG_TWL_INT_ADRS_WIFI, // 0x30,
REG_TWL_INT_ADRS_WIFI, // 0x30,
REG_TWL_INT_ADRS_CAM,
/// REG_TWL_INT_ADRS_VOL, // 0x40,
REG_TWL_INT_ADRS_BL,
REG_TWL_INT_ADRS_VOL, // 0x40,
// REG_TWL_INT_ADRS_BL,
// REG_TWL_INT_ADRS_CODEC_MIC_GAIN, // 0x50,
// REG_TWL_INT_ADRS_CODEC_MIC_GAIN_RELOAD,
// REG_TWL_INT_ADRS_ADC_CALIB, // 0x60,
// REG_TWL_INT_ADRS_ADC_CALIB_STATUS,
// REG_TWL_INT_ADRS_ADC_CALIB_VALUE,
// REG_TWL_INT_ADRS_POWER_LED,
// REG_TWL_INT_ADRS_TEMP0, // 0x70 - 0x77
REG_TWL_INT_ADRS_TEMP0, // 0x70 - 0x77
// REG_TWL_INT_ADRS_TEMP1,
// REG_TWL_INT_ADRS_TEMP2,
// REG_TWL_INT_ADRS_TEMP3,
@ -88,11 +93,6 @@ enum REG_TWL_ADRS_INT
/* ========================================================================= */
extern u8 vreg_twl[];
/* ========================================================================= */
#define is_TWL ( vregs[ REG_TWL_INT_ADRS_MODE ] & 0x01 )
#define with_NAND ( vregs[ REG_TWL_INT_ADRS_MODE ] & 0x02 )
@ -102,6 +102,13 @@ extern u8 vreg_twl[];
#define reg_wifi_led_blink ( vregs[ REG_TWL_INT_ADRS_WIFI ] & 0x02 )
typedef enum twl_camLed_mode_{
TWL_CAMLED_OFF,
TWL_CAMLED_ON,
TWL_CAMLED_BLINK,
TWL_CAMLED_DEF_ON
}camLed_mode;
/* ========================================================================= */
void vreg_twl_init( );

View File

@ -1,6 +1,19 @@
C:\WINDOWS\system32\cmd.exe /c echo touch magic.c
touch magic.c
"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qcvjl1wt -sainter_asm -zp -no ini_VECT.c
Compilation complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\ini_VECT.asm
Assembly complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qcvjl1wt -sainter_asm -zp -no tasks.c
tasks.c(34) : CC78K0R warning W0401: Conversion may lose significant digits
Compilation complete, 0 error(s) and 1 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -c9F0104 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\tasks.asm
Assembly complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\lk78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -obsr.lmf "..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r\s0rm.rel" -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFFFh -pbsr_k0r.map -nkd -kp -gb7EFBFFh -b"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\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 ini_VECT.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel tasks.rel adc.rel renge.rel tasks_sys.rel accero.rel self_flash.rel reboot.rel
Link complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\oc78k0r.exe" -y"C:\Program Files\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 C:\Cygwin\home\fujita_ryohei\ctr\nec_s_2_bsrbin.rb bsr.hex
C:/Cygwin/home/fujita_ryohei/ctr/nec_s_2_bsrbin.rb:2: warning: variable $KCODE is no longer effective; ignored
Build Total error(s) : 0 Total warning(s) : 0
Build Total error(s) : 0 Total warning(s) : 1

View File

@ -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
@ -23,7 +23,7 @@ SubClock=None
Count=0
[Main]
Geometry=211, 16, 1295, 1189
Window=Normal
Window=Max
MDI_MAX=OFF
Button=ON
Mode=Auto
@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C
Kanji=SJIS
[Source]
Geometry=246, 15, 1090, 974
Window=Hide
DispStart=1
CaretPos=0,0
Geometry=304, 189, 1090, 857
Window=Normal
DispStart=70
CaretPos=71,0
Mode=Normal
DispFile=
Address1=
@ -139,11 +139,35 @@ SaveRange=Screen
SaveStart=
SaveEnd=
Accumulative=ON
[Source1]
Geometry=189, 181, 1090, 857
Window=Normal
DispStart=69
CaretPos=70,0
Mode=Normal
DispFile=adc.c
Accumulative=ON
[Source2]
Geometry=330, 40, 1090, 857
Window=Normal
DispStart=9
CaretPos=10,0
Mode=Normal
DispFile=tasks_sys.c
Accumulative=ON
[Source3]
Geometry=100, 100, 1090, 857
Window=Normal
DispStart=78
CaretPos=79,0
Mode=Normal
DispFile=loader.c
Accumulative=ON
[Assemble]
Geometry=0, 0, 0, 0
Window=Hide
DispStart=864338944
CaretPos=0,0
Geometry=118, 76, 600, 937
Window=Normal
DispStart=1375
CaretPos=1443,27
Address1=
Address2=
Address3=
@ -179,21 +203,22 @@ Data16=
Case=ON
Scan=OFF
Direction=Down
FindStart=
FindEnd=
FindStart=0
FindEnd=0
SaveRange=Screen
SaveStart=
SaveEnd=
[Memory]
Geometry=0, 0, 0, 0
Window=Hide
Boundary=0
Geometry=1046, 57, 584, 926
Window=Normal
Boundary=163
Format=Hex
Mode=Byte
Endian=
Endian=Little
Ascii=OFF
Idtag=OFF
Address=
DispStart=FFFFFFFF
DispStart=00000000
CaretPosData=0, 0
CaretPosAscii=0, 0
Address1=
@ -238,7 +263,6 @@ SaveRange=Screen
SaveStart=
SaveEnd=
Accumulative=ON
Idtag=OFF
[Memory fill]
Scope=0, 0
Code=0
@ -251,9 +275,9 @@ Destination=0
[I/O Port]
Line=0
[Stack]
Geometry=0, 0, 0, 0
Window=Hide
Boundary=0
Geometry=803, 784, 400, 300
Window=Normal
Boundary=13762687
Mode=Proper
[Sfr]
Geometry=0, 0, 0, 0
@ -277,7 +301,7 @@ Address16=
Boundary=0, 0
Mode=Hex
Attribute=Show
Sort=Address
Sort=Unsort
Pickup=OFF
SelectSort=Address
Last Name=
@ -814,9 +838,9 @@ L529=IICWL1
L530=IICWH1
L531=SVA1
[Local Variable]
Geometry=0, 0, 0, 0
Window=Hide
Boundary=0
Geometry=1192, 334, 400, 300
Window=Normal
Boundary=13041851
Mode=Proper
[Trace View]
Geometry=0, 0, 0, 0
@ -866,14 +890,14 @@ SaveRange=Screen
SaveStart=
SaveEnd=
[Register]
Geometry=0, 0, 0, 0
Window=Hide
Geometry=36, 663, 250, 400
Window=Normal
Mode=Hex
Boundary=0
Boundary=62
Pickup=OFF
Name=Functional
Register Bank=0
RP0=3
RP0=7
RP1=3
RP2=3
RP3=3
@ -882,48 +906,6 @@ SP=3
PSW=3
ES=3
CS=3
[Quick Watch]
0=
1=
2=
3=
4=
5=
6=
7=
8=
9=
10=
11=
12=
13=
14=
15=
[Software Break]
Geometry=0, 0, 0, 0
Window=Hide
Width=150 30 200 100
Name0=Swb00006
Address0=vreg_ctr.c#_vreg_ctr_write+0x18b
Window0=ASM
Status0=ON
Count=0
[Reset]
Debugger=ON
Symbol=OFF
Target CPU=OFF
[Extended Option]
OnClick Software Break=ON
TraceTimetag=x1
Redraw=500
Break When Access Function=OFF
Break When Access Whole=Select
Verify=ON
Break Sound=ON
TraceAutoClear=OFF
RRM Clock=Internal
CKC Register Value=0x09
RRM Internal Clock Frequency=8.000
[Event Manager]
Geometry=0, 0, 0, 0
Window=Hide
@ -999,10 +981,72 @@ Detail=OFF
Last Name=
Count=0
[Variable]
Geometry=0, 0, 0, 0
Window=Hide
Boundary=0
Line=0
Geometry=1138, 6, 440, 300
Window=Normal
Boundary=13762700
0=.system_status,.,N,A,+,1
1=.RTCEN,P,S,A,+,1
2=.P2,B,S,A,+,1
3=.PM2,B,S,A,+,1
4=.PM20,B,S,A,+,1
5=.P20,B,S,A,+,1
6=.wifi_TX,P,N,A,+,1
7=.temp,P,N,A,+,1
Line=8
[Quick Watch]
0=temp,P,A,1
1=wifi_TX,P,A,1
2=P20,P,A,1
3=P2,B,A,1
4=PM2,B,A,1
5=PM20,B,A,1
6=RTCEN,P,A,1
7=system_status,P,A,1
8=
9=
10=
11=
12=
13=
14=
15=
[Software Break]
Geometry=51, 459, 500, 200
Window=Normal
Width=150 30 200 100
Name0=Swb00001
Address0=self_flash.c#_firm_update+0x209
Window0=ASM
Status0=ON
Name1=Swb00002
Address1=adc.c#_tsk_adc+0x86
Window1=ASM
Status1=ON
Name2=Swb00003
Address2=tasks_sys.c#_tsk_sys+0x4
Window2=ASM
Status2=ON
Name3=Swb00004
Address3=loader.c#_main+0x82
Window3=ASM
Status3=ON
Count=4
[Reset]
Debugger=ON
Symbol=OFF
Target CPU=OFF
[Extended Option]
OnClick Software Break=ON
TraceTimetag=x1
Redraw=500
Break When Access Function=OFF
Break When Access Whole=Select
Verify=ON
Break Sound=ON
TraceAutoClear=OFF
RRM Clock=Internal
CKC Register Value=0x09
RRM Internal Clock Frequency=8.000
[About]
Version=Program
[Pseudo Emulation]

View File

@ -39,26 +39,6 @@ TargetFile=0
[BuildBefore-AfterCmd]
Before1=echo touch magic.c
After1=ruby C:\Cygwin\home\fujita_ryohei\ctr\nec_s_2_bsrbin.rb bsr.hex
[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=ini_VECT.c
Source10=led.c
Source11=rtc.c
Source12=vreg_ctr.c
Source13=vreg_twl.c
Source14=tasks.c
Source15=adc.c
Source16=renge\renge.c
Source17=tasks_sys.c
Source18=accero.c
Source19=self_flash.c
[Options.RA78K0R 0]
Version=100
G=1
@ -494,74 +474,6 @@ 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
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
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=user_define.h
Include4=config.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=loader.h
Include11=i2c_mcu.h
Include12=WDT.h
Include13=fsl.h
Include14=fsl_user.h
Include15=i2c_ctr.h
Include16=pm.h
Include17=rtc.h
Include18=adc.h
Include19=led.h
Include20=incs.h
Include21=vreg_twl.h
Include22=accero.h
Include23=i2c_twl_defs.h
Include24=renge\renge_task_intval.h
Include25=i2c_twl.h
Include26=..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
Include27=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
[Options.CC78K0R 0]
Version=210
Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
@ -1028,6 +940,96 @@ VfiFileBoot0=
VfiFileBoot1=boot.vfi
VF78K0Rchk=0
VF78K0Rvs=
[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
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
[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=ini_VECT.c
Source10=led.c
Source11=rtc.c
Source12=vreg_ctr.c
Source13=vreg_twl.c
Source14=tasks.c
Source15=adc.c
Source16=renge\renge.c
Source17=tasks_sys.c
Source18=accero.c
Source19=self_flash.c
Source20=reboot.c
[IncFile]
Include1=incs_loader.h
Include2=jhl_defs.h
Include3=user_define.h
Include4=config.h
Include5=bsr_system.h
Include6=renge\renge.h
Include7=renge\renge_defs.h
Include8=renge\renge_task_immediate.h
Include9=vreg_ctr.h
Include10=loader.h
Include11=i2c_mcu.h
Include12=WDT.h
Include13=fsl.h
Include14=fsl_user.h
Include15=i2c_ctr.h
Include16=pm.h
Include17=rtc.h
Include18=adc.h
Include19=led.h
Include20=incs.h
Include21=vreg_twl.h
Include22=accero.h
Include23=i2c_twl_defs.h
Include24=renge\renge_task_intval.h
Include25=i2c_twl.h
Include26=..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
Include27=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
Include28=reboot.h
[ToolSet]
ToolSetName=(•Ï<E280A2>X)78K0R Software Package V1.10
Tool1=CC78K0R|W2.10

View File

@ -1,7 +1,7 @@
[ProjectManager]
FrameMax=0
FrameX=110
FrameY=74
FrameMax=1
FrameX=111
FrameY=10
FrameCX=1376
FrameCY=1066
OpenFile1=i2c_mcu.c,0,330,330,1204,1087,48,321,48,0
@ -9,18 +9,22 @@ OpenFile2=renge\\renge_defs.h,0,330,330,1574,1087,0,47,0,0
OpenFile3=user_define.h,0,176,176,1420,933,0,33,20,0
OpenFile4=vreg_ctr.c,0,345,273,1060,932,0,47,0,0
OpenFile5=i2c_ctr.c,0,242,242,1425,868,0,116,0,0
OpenFile6=led.c,0,286,286,1469,912,0,454,21,0
OpenFile7=rtc.c,0,308,308,1491,934,0,31,17,0
OpenFile8=tasks_sys.c,0,220,220,1403,846,16,392,17,0
OpenFile9=loader.c,0,264,264,1447,890,0,139,0,0
OpenFile10=magic.c,0,242,242,1486,999,3,8,0,0
OpenFile11=adc.c,0,166,66,1349,692,0,210,0,0
OpenFile12=accero.c,0,154,154,1398,911,25,119,0,0
OpenFile13=pm.c,0,88,88,1144,747,50,218,32,0
OpenFile14=ProjectWindow
OpenFile6=rtc.c,0,308,308,1491,934,0,31,17,0
OpenFile7=magic.c,0,242,242,1486,999,3,8,0,0
OpenFile8=vreg_twl.c,0,314,110,1558,867,21,72,21,0
OpenFile9=adc.c,0,166,66,1349,692,0,210,0,0
OpenFile10=accero.c,0,154,154,1398,911,25,237,25,0
OpenFile11=tasks.c,0,44,41,1288,801,0,161,0,0
OpenFile12=inter_asm\self_flash.asm,0,118,281,1362,1038,0,933,0,0
OpenFile13=loader.c,0,255,224,1438,850,14,85,0,0
OpenFile14=main.c,0,124,87,1368,844,0,45,0,0
OpenFile15=reboot.c,0,110,110,1354,867,20,18,16,0
OpenFile16=led.c,0,286,286,1469,912,6,81,6,0
OpenFile17=ProjectWindow
PrjPos=0,2,754,3,253
OpenFile15=OutputWindow
OutputPos=0,67,1023,707,1568
OpenFile18=config.h,0,259,332,1503,1089,19,14,19,0
OpenFile19=OutputWindow
OutputPos=0,134,1090,377,1505
ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow]
ProjectWindowDispType=0

View File

@ -1,7 +1,7 @@
[SdbInfo]
Ver=5
[loader.c]
T=4adbffdf
T=4ae01ded
1=incs_loader.h
2=fsl.h
3=fsl_user.h
@ -9,22 +9,24 @@ T=4adbffdf
5=i2c_mcu.h
6=pm.h
7=rtc.h
8=reboot.h
[pm.c]
T=4adc1fa6
T=4ade715b
1=incs.h
2=adc.h
3=led.h
4=pm.h
[i2c_ctr.c]
T=4aca8ef0
T=4add1541
1=incs.h
[main.c]
T=4aca8ef0
T=4adee91e
1=incs.h
2=WDT.h
3=rtc.h
4=pm.h
5=accero.h
6=led.h
[magic.c]
T=4ad3e9ff
1=config.h
@ -36,18 +38,18 @@ T=4ad70c7e
1=incs.h
2=i2c_mcu.h
[i2c_twl.c]
T=4aca8ef0
T=4add157f
1=incs.h
2=i2c_twl_defs.h
[ini_VECT.c]
T=4adc1fec
T=4addae30
1=config.h
[led.c]
T=4adc1fee
T=4ae5247d
1=incs.h
2=led.h
[rtc.c]
T=4ad42ad0
T=4adee281
1=incs.h
[vreg_ctr.c]
T=4adbcc88
@ -58,17 +60,18 @@ T=4adbcc88
5=accero.h
6=pm.h
[vreg_twl.c]
T=4ad6dc31
T=4ade5fd9
1=incs.h
2=jhl_defs.h
3=vreg_twl.h
[tasks.c]
T=4adc2aa4
T=4adee905
1=incs.h
2=renge\renge.h
3=pm.h
4=accero.h
[adc.c]
T=4aca9609
T=4addae7b
1=incs.h
2=adc.h
3=pm.h
@ -81,7 +84,7 @@ T=4ac96eb4
4=WDT.h
5=bsr_system.h
[tasks_sys.c]
T=4ad42ad0
T=4adeeabd
1=incs.h
2=i2c_twl.h
3=i2c_ctr.h
@ -90,15 +93,18 @@ T=4ad42ad0
6=pm.h
7=rtc.h
[accero.c]
T=4adc2c13
T=4adebaab
1=incs.h
2=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
[self_flash.c]
T=4aca8ef0
T=4ae01cd5
1=incs_loader.h
2=..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
3=fsl_user.h
4=i2c_ctr.h
[reboot.c]
T=4ae01bca
1=incs_loader.h
[incs_loader.h]
T=4aca8c17
1=jhl_defs.h
@ -112,10 +118,10 @@ T=4aca8c17
[jhl_defs.h]
T=4aca8c17
[user_define.h]
T=4adc252d
T=4adebcdf
1=config.h
[config.h]
T=4adc2bf0
T=4ae54846
[bsr_system.h]
T=4aca8c17
[renge\renge.h]
@ -128,7 +134,7 @@ T=4ac96e5c
T=4ad68780
1=renge\renge_defs.h
[vreg_ctr.h]
T=4ad68b93
T=4adc45cd
1=config.h
[loader.h]
T=4aca8c17
@ -153,7 +159,7 @@ T=4aca8c17
[led.h]
T=4aca8c17
[incs.h]
T=4aca8c17
T=4ae508d8
1=jhl_defs.h
2=user_define.h
3=bsr_system.h
@ -163,7 +169,7 @@ T=4aca8c17
7=i2c_mcu.h
8=rtc.h
[vreg_twl.h]
T=4ad6dc31
T=4ade50c3
[accero.h]
T=4aca8c17
1=jhl_defs.h
@ -178,3 +184,5 @@ T=4aca8c17
T=49a3bd4e
[..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h]
T=45f12258
[reboot.h]
T=4ae008e4