From 8aa11a947acb1a68ecdf63923547a194d52a18ed Mon Sep 17 00:00:00 2001 From: n2232 Date: Thu, 26 Jan 2012 08:10:44 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=A4=E3=83=9E=E3=83=8Fcodec=E5=AF=BE?= =?UTF-8?q?=E7=AD=96=E3=83=96=E3=83=A9=E3=83=B3=E3=83=81(C:\78k=5Fdata\yav?= =?UTF-8?q?-mcu-basara\branches)=E3=81=8B=E3=82=89=E6=89=8B=E5=8B=95?= =?UTF-8?q?=E3=83=9E=E3=83=BC=E3=82=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@444 013db118-44a6-b54f-8bf7-843cb86687b1 --- trunk/VCProj/bsr_trunk.sdf | Bin 2248704 -> 2248704 bytes trunk/VCProj/bsr_trunk.suo | Bin 72192 -> 72704 bytes trunk/accero.c | 3 ++- trunk/adc.c | 7 ++++++- trunk/config.h | 2 +- trunk/i2c_mcu-sub.c | 18 +++++++++++++----- trunk/pm.c | 4 ++-- 7 files changed, 24 insertions(+), 10 deletions(-) diff --git a/trunk/VCProj/bsr_trunk.sdf b/trunk/VCProj/bsr_trunk.sdf index 18e9f3ee00ef54856b5fb4ea59fb58e5fd966fa4..30aa000d26e504de9e3ce78238b0c653c874cd1f 100644 GIT binary patch delta 1969 zcmd6n4Qv!e6vyAZy}jPt9dwQYCvEB7_6pQOp|n7y@^P5*Q3|vuG<3-@Vp2L}6kdbSjvp~stg!&Qy#SHMZvy*hM0JwPQ z7oxlB|2gvkuF3#u3jlTmMxxW~$eBhOTxwmHlydB3@|`%X>ZEO_ypJ*Kf^An`onrC= z^b1+tIf%JqwHxipHjD02FNZou*cp9t(`Caa7NYJ^e{`|MA!4%6gb*fMV?|o5h>)=L zyM{S!2ySo}s@Aa7J}M205oQC72Oq*VfJ_LRVG}?xL}eHUFb2-r;bVYB;I@Jaa10_Q z)zm7DBPHsjR!K>$K_~)f0&g#<189MW1tI`5AdKq9R%uKhkYGQ+T<}uJAg~;~vU;Lb zYBl))R;bl&(mVDtfLt9B2Wa%qo~pfgT-t6Ax{)!`w9rg|LAv0nKkDJ_aV~?Cc%6## zhb^>kY3YZB0@JDh^~R{O{s7tVWe3R&_zM-)myI56?otdR{VIC!VDq^SGFWXGk4m5^ ze`sK3{%ej$Tk;1wTRMna1Xsjx2OI?h#Ojd1w8?&YYx9iu7O^QU;FzTE84}8vVkdOo z7I~ps)!gj86kMJB2cz&`H@J;oE zRu=9ej*YvoxTc6xCW(x8F{qwZ6&>^hif1M|K6}NYl;JX)x@8ZpQR!ZEYGq02M9rRpX(V-X1;HDY1mAv%;05t*6!YWa8xiwwHxOJ| zp+4@y>A15(eb^+2#~`Fm%tep7ZVc|F9p5a-`t{ik z(n|-T3Hv28{rt0nA3hO5Qj8!i6EH(tH39u3SdMOb?MPeR7Ln1T(TJ%lo;G&>Y}7vN zzoeX#b^3n9teJMJqydF@F z_IVSV$6n}ZX}oA@Z=>VC18bp~#(Hm^%YD4US7#Y^yUynCcvVSWs=d7U^%9XdR~!Zf zuMaL>$5~?DtkGIA=MjnSd}G~N7&jlS}y4|$XPT!W67GJ zu$5`FO0TO}W_13w${*JXTf$MQyOj%5w7%8oQ0mCj|?Q9>C1uWA&Q-84IKkpZOiE|93GKCe2lFS=9`(d zd+l3>Y7H@~{_=$W_w?$Lu2;b#&HtIHCTuF5b?2@bG?k2(@>myj=QMQeGwhxs=z)JyKpPKPcsq ze<EmDV(`Db91HyS*rIpU(ZET delta 2094 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 delta 2285 zcma)7e^8U>9e=)W-n_ns01054Mj9ektu0{z9U{eAAT1tMf=D^fQ5AyJF-kcayWI_0 z#`=eaRB1lI+aJ~<*P~vGJ>|7xw~jbhM|huvy#e|R^&<#ty)bLx zs<8zH0=_O>pqAKs4aRhi-aLnnEj(%>>#G|x)sL1sjn+V`w>t9D(V^RK74-bvx8$j1 zn&$gQn&#>EJ6C+Ulrrb;2DXHj8QR&;!reIr#(bc?mH1J;WZbEz8R^+(7+`)}G3TJF z=NAyqR;!c0X_bV{3@5Lz$2Ywe+KHQktMT2feDwFq_-Ai}hQeOiOagp;o5n+;fZ(!P z%Es^4K8?IRS+L}lpn9*2fql*R_7w-BLmde1ljpTFKPzDk_|>b6)!hDfM0_w5q% zYC)O23Z4N6`oGQMVQxj)&<@ldSdY>n8L?h3x)g^Y!~;$LY!{r01DCFNabzG3=O;y4 ziJN1YBdA=s)PtwWS9wh;h_c!%pEP1`5@UjEES?^UxaH?Bxb+WWv7DsRUTY$KT1kCQstE zce6$giR8i4V{db19ke9ieA%lt;oOomtc+A)_@ad9q&-ftD*P>y zLCxy-kqQAreNIGA$p}n(@z^OBqEEEaLi~NoueW>aWSZX9M>shi)ycAF%EIejk3*;1 z;@0XpcbZ{6^HYeQwBXXThf~mtn(1tupB4?_1b=F#T|!XnYxe@iN_oWlS%t<+R>L~k z^XysN{p5_Xj>{X8>8Y_#c^53thPeHFY&*LT(%A-tKkMY>%^LsQBcLlHjMZXcPk2@Tr2s=~S%8@1_*J2SbdcX%na_o$Whj!OG4()fkbbZ?J} zbS9}c{&0~b_8d1N{U_)@hJ_z|Vw+GnV2Ay(i??WdctbroL1UG8v%-YOuSmS;TZBDY zonFM`6&r^Cyp^Y1j1I+&(-jX>27Cu9aeCH5UHJ9v6YzYUh5Xmk@NS#-gx&aJb{j6u zuE*I<6aW1r+*cbD>1UR)VphObuzWrcI{1gN?TGaF5L#=-JJ%XU{vyoZp(`1?pHHj} zsQ+e<-pcN4E^d>L177aXT3P2qp8Dps9b)<}rj3^u64(4ZINv=_k4k){m`AP)>20i$ zo7kB!vV=43nR}fiw(%SF(*K(zFCsXap$)Vj8X|UV9^0?Y5B1osT+#=~^7$sVFoQ8O z3n@n>YDDY5@&qLbUFB_>&Sdqrc-J9x4JpA*^!lKoUp2B9oyQs0H*j-T2yu#ho>|g2jc>JD~Ek(t} zJAUlh?Tvd@s#2-k+Ra-QUyGxC{E(x(l}d+g&ZLxoui^WCzP->Ro{LEt&LErhfjQ)j zNHsqfD2HWgRo*v{TL(;hnoiHraTAfC6j|wv)h#4%xT2-}Y*x$}^q$q6lxjBkc4>Cn zmGdGk*X<~QObRLe61nuB3wR9^Yge=)aVl3fT6uAJ(F)0{9FZs-zxodwow7ch#Pe@2 z-?B1&AC(L_=%lgH!~fuw-7@9aEOV%(Q7tuDL%$MF{25B*WLri_m>8|)XQPJt@3P+I z4<)`9N8Q>O(VVRs%_70DdR2kuR5>ZoCPQPhUn#TD<5pJ!&SzD0k#<%#SZQ#`PV2~= LoC6a9JB8@q;`1Ur diff --git a/trunk/accero.c b/trunk/accero.c index f5d4eaa..16819dc 100644 --- a/trunk/accero.c +++ b/trunk/accero.c @@ -137,7 +137,8 @@ task_status_immed tski_cbk_accero( ) } if( (( system_status.pwr_state == ON ) ||( system_status.pwr_state == SLEEP )) - &&( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU )) + &&( ( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU ) != 0 ) + ) { pedometer(); // 歩数計 } diff --git a/trunk/adc.c b/trunk/adc.c index 419be87..2cea7a5 100644 --- a/trunk/adc.c +++ b/trunk/adc.c @@ -284,17 +284,20 @@ __interrupt void int_adc( ) switch ( ADS ) { /* -case ( ADC_SEL_AMB_BRIT ): // 環境明るさ + case ( ADC_SEL_AMB_BRIT ): + // 環境明るさ // vreg_ctr[ VREG_C_AMBIENT_BRIGHTNESS ] = adc_data; break; */ case ( ADC_SEL_3D ): + // 3Dボリューム // EI(); adc_raw_dep = adc_data; break; case ( ADC_SEL_VOL ): + // 音量スライダ // EI(); if( system_status.model == MODEL_TS_BOARD ) { @@ -308,6 +311,7 @@ case ( ADC_SEL_AMB_BRIT ): // break; case ( ADC_SEL_BATT_TEMP ): + // バッテリ温度 // EI(); #ifdef _ENABLE_HAL_ if( vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] == 0xFF ) // HAL無効 @@ -334,6 +338,7 @@ case ( ADC_SEL_AMB_BRIT ): // /* 呼ばれません case ( ADC_SEL_BATT_DET ): + // バッテリメーカー識別 // break; */ } diff --git a/trunk/config.h b/trunk/config.h index 98e745c..5689f51 100644 --- a/trunk/config.h +++ b/trunk/config.h @@ -7,7 +7,7 @@ */ #define MCU_VER_MAJOR 0x02 -#define MCU_VER_MINOR 0x19 +#define MCU_VER_MINOR 0x1x ( Eより大きいこと) // デバッグ向けスイッチ diff --git a/trunk/i2c_mcu-sub.c b/trunk/i2c_mcu-sub.c index dde1f10..2cebe19 100644 --- a/trunk/i2c_mcu-sub.c +++ b/trunk/i2c_mcu-sub.c @@ -43,10 +43,11 @@ extern i2c_err iic_mcu_call_slave( u8 slave ); iic_mcu_write_a_byte CODEC不具合ワークアラウンド ***********************************************/ +#define YAMAHA_CODEC_ERRATA_CHECK_MASK ( 0x7D ) i2c_err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat ) { u8 pm_reg_original; - u8 rv; + i2c_err rv; // ヤマハcodecワークアラウンド SPIとの共用レジスタの中身を取得 if(( rv = iic_mcu_read( IIC_SLA_CODEC, CODEC_REG_PM, 1, &pm_reg_original )) != I2C_ERR_OK ) @@ -62,7 +63,12 @@ i2c_err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat ) } // ヤマハcodecワークアラウンド - if( dat != 0 ) // 書き込むのが0だったらチェックもしない + if( ( pm_reg_original & YAMAHA_CODEC_ERRATA_CHECK_MASK ) == 0 ) // はじめから共有レジスタが0だったらテストもしない + // (& リセット要求が立ってたらどうせリセットかかるので) + { + return( I2C_ERR_OK ); + } + { // 共有レジスタが 0x00 に書き換わっている(エラッタ発生!)ようなら書き戻す u8 pm_reg_after; @@ -72,16 +78,18 @@ i2c_err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat ) return( rv ); } - if( ( pm_reg_after & 0x7C ) != 0x00 ) + if( ( pm_reg_after & YAMAHA_CODEC_ERRATA_CHECK_MASK ) != 0x00 ) { + // コンフリクトはなかった or リセット要求など return( I2C_ERR_OK ); } // else { - return iic_mcu_codec_write_low( CODEC_REG_PM, pm_reg_original ); + rv = iic_mcu_codec_write_low( CODEC_REG_PM, pm_reg_original ); // 書き戻すが、再チェックはしない + return ( rv ); // エラーが返ることもあるかも // リトライなどは無し } - return( I2C_ERR_OK ); + return( rv ); // no reach // } diff --git a/trunk/pm.c b/trunk/pm.c index 5905990..87705f1 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -1051,7 +1051,7 @@ err PM_sys_pow_on( ) RESET2_neg; codec_reg_init(); // CODEC 不定レジスタ初期化(reset2の後でないといけないので) - ntr_pm_reg_shadow = 3<<2; //  〃 こんなところで... 0x00はヤマハcodecバグ対策で書けないので、影響のない値 + ntr_pm_reg_shadow = 0; //  〃 こんなところで... return ( ERR_SUCCESS ); } @@ -1125,7 +1125,7 @@ __interrupt void intp6_PM_irq( ) /********************************************//** - PMICからの割り込みを受けて、NTR PMIC互換レジスタからリード + CODECからの割り込みを受けて、NTR PMIC互換レジスタからリード ***********************************************/ task_status_immed tski_ntr_pmic_comm( ) {