diff --git a/trunk/adc.c b/trunk/adc.c index 70bfcd5..2c8a769 100644 --- a/trunk/adc.c +++ b/trunk/adc.c @@ -27,7 +27,7 @@ extern void nop8(); // ===================================================== // -#define INTERVAL_TSK_ADC 3 +#define INTERVAL_TSK_ADC 15 @@ -169,7 +169,7 @@ void tsk_adc( ) iic_mcu_write_a_byte( IIC_SLA_DCP, 0, slider_to_codec[ ( 255 - vol_old ) / 4 ] ); #endif // set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE ); // 割り込み廃止 - force_update_vol = 200; + force_update_vol = 10; } } @@ -255,7 +255,7 @@ __interrupt void int_adc( ) static u8 hist_bt_temp[3]; static u8 index; - EI( ); +// EI( ); switch ( ADS ) { /* @@ -285,8 +285,13 @@ case ( ADC_SEL_AMB_BRIT ): // adc_raw_vol = ( 255 - getmean3( hist_snd_vol )); } #else - adc_raw_vol = getmean3( hist_snd_vol ); + adc_raw_vol = getmean3( hist_snd_vol ); #endif + if( adc_raw_vol == 0 ) + { + NOP(); + } + break; case ( ADC_SEL_BATT_TEMP ): @@ -306,6 +311,7 @@ case ( ADC_SEL_AMB_BRIT ): // if( ADS != ADC_SEL_BATT_TEMP ) { // 電池判別は電源投入の一回のみ ADS += 1; // 次のチャンネル + ADIF = 0; } else { diff --git a/trunk/bsr_system.h b/trunk/bsr_system.h index 59944a3..4fcbf1e 100644 --- a/trunk/bsr_system.h +++ b/trunk/bsr_system.h @@ -43,6 +43,7 @@ typedef struct unsigned char dipsw1:1; unsigned char dipsw2:1; unsigned char reboot:1; + unsigned char info_fullcolor:1; enum model_ model; } system_status_; diff --git a/trunk/config.h b/trunk/config.h index 3420693..f55a4e7 100644 --- a/trunk/config.h +++ b/trunk/config.h @@ -6,9 +6,7 @@ #define MCU_VER_MAJOR 0x00 -#define MCU_VER_MINOR 0x11 - -#define _OVERCLOCK_ +#define MCU_VER_MINOR 0x14 //#define PM_CCIC_TIM @@ -25,14 +23,12 @@ #define _MODEL_CTR_ // ↑TS board, WM1,1 TS-CTRC -//#define _MODEL_CTR_NOTIFY_FULLCOLOR_ +#define _MODEL_CTR_NOTIFY_FULLCOLOR_ // ↑TS board, WM1,1 TS-CTRC // 特殊仕様 // //#define _SW_HOME_ENABLE_ -//#define _PARRADIUM_ 廃止 -//#define _PM_BUG_ // バグ持ち CTR PMIC 廃止 #define _FOR_E3_ // ---------------------------------- // diff --git a/trunk/i2c_ctr.c b/trunk/i2c_ctr.c index 7b363ae..fef4857 100644 --- a/trunk/i2c_ctr.c +++ b/trunk/i2c_ctr.c @@ -78,6 +78,7 @@ __interrupt void int_iic_ctr( ) static u8 reg_adrs_internal; static u8 tx_buf; u8 rx_buf; + static u8 adrs_access_from; EI(); @@ -145,6 +146,7 @@ __interrupt void int_iic_ctr( ) case ( IIC_RCV_REG_ADRS ): // 2バイト目(レジスタアドレス)受信後に来る // レジスタアドレス受信 reg_adrs = IICA; + adrs_access_from = reg_adrs; tx_buf = vreg_ctr_read( reg_adrs ); // データの準備をしておく if( reg_adrs != VREG_C_INFO ) { @@ -197,14 +199,16 @@ __interrupt void int_iic_ctr( ) // レジスタアドレスのインクリメント /// アクセスポインタを進めない特殊なレジスタ - switch( reg_adrs ) + switch( adrs_access_from ) { case( VREG_C_ACC_HOSU_HIST ): case( VREG_C_INFO ): case( VREG_C_FREE_DATA ): case( VREG_C_LED_NOTIFY_DATA ): + case( VREG_C_LED_POW ): break; default: + iic_burst_state = 0; // 保険 reg_adrs += 1; } diff --git a/trunk/i2c_mcu.c b/trunk/i2c_mcu.c index 80c48e3..c780db0 100644 --- a/trunk/i2c_mcu.c +++ b/trunk/i2c_mcu.c @@ -570,13 +570,7 @@ void iic_mcu_start( ) SPS0 = 0x0000; // シリアルユニットのクロック0。(8M/2)/1 SMR02 = bSMR0n_FIXEDBIT | bMD0n2; // 簡易I2Cに設定 -#ifdef _OVERCLOCK_ -// todo -// SDR02 = 12 << 9; // ボーレート設定 8M/1/(x+1)/2 - SDR02 = 13 << 9; // ボーレート設定 (8M/2)/1/(x+1)/2 -#else - SDR02 = 5 << 9; // ボーレート設定 (8M/2)/1/(x+1)/2 -#endif + SDR02 = 10 << 9; // ボーレート設定 8M/1/(x+1)/2 SO0 = 0x0404 | TAUS_MASK; // 最初はHH iic_mcu_busy = 0; diff --git a/trunk/i2c_twl.c b/trunk/i2c_twl.c index e07b908..51dcf0e 100644 --- a/trunk/i2c_twl.c +++ b/trunk/i2c_twl.c @@ -70,10 +70,11 @@ u16 tot; // 注! ↓はマクロなので、returnはメインループに戻ります。 #define wait_next { \ - tot = 0; \ + tot = 0; \ while( IICAIF != 1 ){ \ if( SPD ){ \ LREL = 1; \ + NOP(); \ return; \ } \ tot++; \ @@ -105,8 +106,8 @@ __interrupt void int_iic_twl( ) wait_next; // 1バイト受信完了を待つ // 2回目 R/W レジスタアドレス - temp = IICA; IICAIF = 0; + temp = IICA; WREL = 1; vreg_adrs = adrs_table_twl_ext2int( temp ); diff --git a/trunk/led.c b/trunk/led.c index ea3ca2e..86099f8 100644 --- a/trunk/led.c +++ b/trunk/led.c @@ -34,55 +34,7 @@ static void led_pow_hotaru( ); // ======================================================== // お知らせLEDのパターンデータ -uni_info_LED info_LED = { - 32, // 1フレームの長さ - 32, // グラデーション時間 - 0, // 最終フレームをn回繰り返す - 0, // 予備 - { - {255, 0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - - {0,255,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - - {0,0,255}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - - {255,255,255}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - {0,0,0}, - } -}; - - -//調光可能LEDのワークというか -st_LED_dim_status LED_dim_status_pow_B; -st_LED_dim_status LED_dim_status_3D; -st_LED_dim_status LED_dim_status_WiFi; +uni_info_LED info_LED; // 赤LEDの電池残量LEDの点滅パターン @@ -507,24 +459,29 @@ void tsk_led_notify( ) // 次のフレームに進める? if( time_to_next_frame == 0 ) { - st_info_LED_ptn temp; - time_to_next_frame = info_LED.info_LED.term; frame += 1; // 最後のフレームリピート - if( frame > NOTIFY_LED_TERM + info_LED.info_LED.last_loop ) + if( frame > NOTIFY_LED_TERM ) { - frame = 0; + if( !info_LED.info_LED.last_loop ) + { + frame = 0; + vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP; + } + else + { + frame = NOTIFY_LED_TERM; + vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP; + } } if( frame < NOTIFY_LED_TERM ) { - temp = info_LED.info_LED.ptn[ frame ]; - - LED_dim_status_info_R.to = temp.red * 128; - LED_dim_status_info_G.to = temp.grn * 128; - LED_dim_status_info_B.to = temp.blu * 128; + LED_dim_status_info_R.to = info_LED.info_LED.red[frame] * 128; + LED_dim_status_info_G.to = info_LED.info_LED.grn[frame] * 128; + LED_dim_status_info_B.to = info_LED.info_LED.blu[frame] * 128; // グラデーションのデルタを計算 LED_dim_status_info_R.delta = (( LED_dim_status_info_R.to - LED_dim_status_info_R.now ) ) / info_LED.info_LED.fade_time; diff --git a/trunk/led.h b/trunk/led.h index 311eec7..def5fc2 100644 --- a/trunk/led.h +++ b/trunk/led.h @@ -7,12 +7,14 @@ #ifdef _MODEL_CTR_NOTIFY_FULLCOLOR_ // LED_DUTY -#define LED_duty_pow_blu TDR06 -#define LED_duty_WiFi TDR03 +#define LED_duty_pow_blu TDR05 +#define LED_duty_WiFi TDR02 + #define LED_duty_3d TDR01 #define LED_duty_notify_red TDR07 -#define LED_duty_notify_grn TDR05 -#define LED_duty_notify_blu TDR02 +#define LED_duty_notify_grn TDR03 +#define LED_duty_notify_blu TDR06 + // これらはduty変えられません #define LED_pow_red P7.5 @@ -100,18 +102,14 @@ enum // お知らせLED調光関係 // -typedef struct{ - u8 red; - u8 grn; - u8 blu; -}st_info_LED_ptn; - typedef struct{ u8 term; // 1フレーム何チック? u8 fade_time; // 何チックで次のフレームの色に達するか u8 last_loop; // 最終フレームを u8 resv1; - st_info_LED_ptn ptn[ NOTIFY_LED_TERM ]; + u8 red[32]; + u8 grn[32]; + u8 blu[32]; }st_info_LED; typedef union{ @@ -122,7 +120,7 @@ typedef union{ extern uni_info_LED info_LED; - +// 赤LED 点滅向け // typedef struct{ u8 dats[4]; }st_u8s4; @@ -132,7 +130,6 @@ typedef union{ st_u8s4 dats; }uni_led_red_batt_empty; - extern uni_led_red_batt_empty led_red_batt_empty; diff --git a/trunk/loader.c b/trunk/loader.c index 90e4366..e0f7ef1 100644 --- a/trunk/loader.c +++ b/trunk/loader.c @@ -159,11 +159,7 @@ void hdwinit( void ) #ifdef _MCU_BSR_ OSMC = 0x01; /* 隠しレジスタ */ #endif -#ifdef _OVERCLOCK_ CKC = 0b00001000; /* CPU/周辺クロック=fMAIN、fMAIN=fMX、fCLK=fMX */ -#else - // CKC デフォルトでよい -#endif /*--- 低電圧検出回路の設定 ---*/ /* リセット解除時のデフォルトは、オプション・バイトにて指定される */ @@ -207,6 +203,43 @@ void hdwinit2( ) P14 = 0b00000000; } + +#ifdef _MCU_BSR_ + PM20 = 0b11111100; +#else + PM8 = 0b11111111; +#endif + + +#ifdef _MCU_BSR_ + P20 = 0b00000000; +#else + P8 = 0b00000000; +#endif + +#ifdef _MCU_BSR_ +# ifdef _MODEL_CTR_ +# ifdef _SW_HOME_ENABLE_ + PU20 = 0b00010101; +# else + PU20 = 0b00000101; +# endif +# else + PU20 = 0b00000100; +# endif + if( !INFO_LED_IS_FULLCOLOR_n ) + { + system_status.info_fullcolor = 1; + } + else + { + system_status.info_fullcolor = 0; + } + INFO_LED_IS_FULLCOLOR_PM = 0; + INFO_LED_IS_FULLCOLOR_PU = 0; +#endif + + #ifdef _MCU_BSR_ PM0 = 0b11111111; // BSRマイコンでは、reset1は監視のみになる。 #else @@ -222,13 +255,6 @@ void hdwinit2( ) P6 = 0b00000000; P7 = 0b01000000; P12 = 0b00000000; - -#ifdef _MCU_BSR_ - P20 = 0b00000000; -#else - P8 = 0b00000000; -#endif - P15 = 0b00000000; @@ -236,15 +262,10 @@ void hdwinit2( ) PM2 = 0b11101001; #ifdef _PMIC_CTR_ -# ifdef _MODEL_CTR_NOTIFY_FULLCOLOR_ PM4 = 0b11110011; -# else - PM4 = 0b11110111; -# endif #else PM4 = 0b11111011; #endif - PM5 = 0b11110010; PM6 = 0b11111100; // I2CのラインがL出力になってしまうが、システムがOFFなのでかまわない #ifdef _PMIC_CTR_ @@ -255,12 +276,6 @@ void hdwinit2( ) PM12 = 0b11111111; // 32kHzクロックのピン設定はどっちでもよい PM15 = 0b11111111; -#ifdef _MCU_BSR_ - PM20 = 0b11111100; -#else - PM8 = 0b11111111; -#endif - // プルアップ ///////////////////////////////////////// PU0 = 0b00000000; // バッテリ認証後にそれぞれセット PU1 = 0b00000000; @@ -271,17 +286,6 @@ void hdwinit2( ) PU12 = 0b00000000; PU14 = 0b00000000; -#ifdef _MCU_BSR_ -# ifdef _MODEL_CTR_ -# ifdef _SW_HOME_ENABLE_ - PU20 = 0b00010001; -# else - PU20 = 0b00000001; -# endif -# else - PU20 = 0b00000000; -# endif -#endif // ポート入力モード・レジスタ設定 ///////////////////// // [0:通常入力バッファ 1:TTL入力バッファ] diff --git a/trunk/pedo_alg_thre_det2.c b/trunk/pedo_alg_thre_det2.c index 7063071..60cdb36 100644 --- a/trunk/pedo_alg_thre_det2.c +++ b/trunk/pedo_alg_thre_det2.c @@ -265,7 +265,7 @@ static void hosu_increment() u8 temp; temp = p_record; - if( now_min < vreg_ctr[ VREG_C_ACC_HOSU_ORIGIN ] ) + if( now_min < vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] ) { temp -= 1; if( PEDOMETER_LOG_SIZE >= temp ) diff --git a/trunk/pm.c b/trunk/pm.c index 4529e33..ef69c91 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -487,6 +487,8 @@ task_status_immed ntr_pmic_comm( ) } } + EI(); + vreg_ctr[ VREG_C_STATUS_1 ] = ( vreg_ctr[ VREG_C_STATUS_1 ] & ~0x0C ) | ( reg_shadow & 0x0C ); // TWLバックライト情報のミラー #ifdef _type1_ diff --git a/trunk/renge/renge.c b/trunk/renge/renge.c index a646dcd..163f160 100644 --- a/trunk/renge/renge.c +++ b/trunk/renge/renge.c @@ -193,11 +193,16 @@ err renge_task_immed_run(){ else #endif { - if( tasks_immed[ list_id ]() == ERR_SUCCESS ) + u8 temp; + + temp = tasks_immed[ list_id ](); + DI(); + if( temp == ERR_SUCCESS ) { tasks_immed[ list_id ] = TSK_IMM_DELETED_; } last_task_id = list_id; + EI(); } } #ifdef _renge_test_ @@ -221,12 +226,6 @@ err renge_task_immed_run(){ if( last_task_id != 0xFF ) { u8 i,j; - -#ifdef _renge_test_ - if ( tasks_immed[ 1 ] != 0 ){ - NOP(); - } -#endif // リスト前詰め i = 0; // 前詰め後リストの最後尾 @@ -254,7 +253,6 @@ err renge_task_immed_run(){ } } #endif - EI(); break; } if( tasks_immed[ j ] != TSK_IMM_DELETED_ ) @@ -287,7 +285,6 @@ err renge_task_immed_run(){ // リストの最後だった } } - DI(); // ここまでで完全に前詰めされている for( j = 0; j < TASK_IMMED_RUN_LIST_MAX; j++ ) @@ -295,7 +292,6 @@ err renge_task_immed_run(){ if( tasks_immed[ j ] == TSK_IMM_EMPTY_ ) { #ifdef _renge_test_ - NOP(); j += 1; for( ; j < TASK_IMMED_RUN_LIST_MAX; j++ ) { @@ -308,13 +304,15 @@ err renge_task_immed_run(){ break; // リストの最後 } + DI(); if( tasks_immed[ j ] == TSK_IMM_DELETED_ ) { tasks_immed[ j ] = TSK_IMM_EMPTY_; } + EI(); } - EI(); } + EI(); } } #if 0 @@ -347,11 +345,7 @@ void wait_ms( u8 ms ){ // まだ適当です! while( ms != 0 ){ ms--; -#ifdef _OVERCLOCK_ fine = 860; -#else - fine = 430; -#endif while( fine != 0 ){ fine -= 1; } diff --git a/trunk/task_debug.c b/trunk/task_debug.c index df4ff5d..ca5b23b 100644 --- a/trunk/task_debug.c +++ b/trunk/task_debug.c @@ -38,7 +38,7 @@ void tsk_debug( ) // 7セグ 4バイト版 -# define IIC_SLA_DBG_MONITOR 0x24 +# define IIC_SLA_DBG_MONITOR 0x44 void tsk_debug2( ) { @@ -68,7 +68,7 @@ void tsk_debug2( ) // iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_STATUS ] ); // iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] ); - iic_mcu_write( IIC_SLA_DBG_MONITOR, 0, 4, &str[0] ); +// iic_mcu_write( IIC_SLA_DBG_MONITOR, 0, 4, &str[0] ); } return; } diff --git a/trunk/user_define.h b/trunk/user_define.h index 471a2f6..8312921 100644 --- a/trunk/user_define.h +++ b/trunk/user_define.h @@ -44,7 +44,7 @@ #define IIC_SLA_CODEC 0xA4 -#define IIC_SLA_ACCEL 0x30 // ST LIS331DLH +#define IIC_SLA_ACCEL 0x30 // ST LIS331DLH // PMxは0で出力モード @@ -260,6 +260,14 @@ #define KR_SW_WIFI ( 1 << 4 ) +#define INFO_LED_IS_FULLCOLOR_n P20.2 +#define INFO_LED_IS_FULLCOLOR_PM PM20.2 +#define INFO_LED_IS_FULLCOLOR_PU PU20.2 + + + +/////////////////////////////////////////////////////////// + #define INT_MSK0_IIC_M_DMA 0b0001000000000000 #define INT_MSK0_SHELL 0b0000000010000000 #define INT_MSK0_EXTDC 0b0000000001000000 diff --git a/trunk/vreg_ctr.c b/trunk/vreg_ctr.c index 2afe32d..6592d47 100644 --- a/trunk/vreg_ctr.c +++ b/trunk/vreg_ctr.c @@ -62,9 +62,6 @@ void vreg_ctr_init( ) // を使用しないと、I2C_mcu使用中でエラー終了した場合にリトライしません。 void vreg_ctr_write( u8 adrs, u8 data ) { - if( adrs >= VREG_C_ENDMARK_ ) - return; - switch ( adrs ) { @@ -160,6 +157,18 @@ void vreg_ctr_write( u8 adrs, u8 data ) break; case ( VREG_C_LED_POW ): + if( iic_burst_state == 0 ) + { + vreg_ctr[adrs] = data; + iic_burst_state += 1; + } + else if( iic_burst_state < 5 ) + { + led_red_batt_empty.dats.dats[ iic_burst_state -1 ] = data; + iic_burst_state += 1; + } + break; + case ( VREG_C_LED_WIFI ): case ( VREG_C_LED_CAM ): case ( VREG_C_LED_TUNE ): @@ -167,24 +176,12 @@ void vreg_ctr_write( u8 adrs, u8 data ) break; case ( VREG_C_LED_NOTIFY_DATA ): - if( iic_burst_state == 0 ) + if( iic_burst_state < sizeof( uni_info_LED ) ) { - iic_burst_state += 1; - vreg_ctr[adrs] = data; - } - else - { - if( iic_burst_state > sizeof( uni_info_LED ) ) - { - iic_burst_state = 1; - } - info_LED.bindata[ iic_burst_state -1 ] = data; + info_LED.bindata[ iic_burst_state ] = data; iic_burst_state += 1; } - case ( VREG_C_LED_NOTIFY_OPTION ): - vreg_ctr[adrs] = data; - break; /// 非同期で動いているためここでは書かない。 // 予約するだけでstopで書く @@ -274,7 +271,7 @@ void vreg_ctr_write( u8 adrs, u8 data ) } break; - case ( VREG_C_ACC_HOSU_ORIGIN ): + case ( VREG_C_ACC_HOSU_HOUR_BOUNDARY ): vreg_ctr[adrs] = data; break; @@ -305,17 +302,8 @@ void vreg_ctr_write( u8 adrs, u8 data ) } vreg_ctr[adrs] = data; break; - - case( VREG_C_BATT_EMPTY_PATTERN ): - { -#ifdef _MODEL_CTR_NOTIFY_FULLCOLOR_ - if( iic_burst_state < 4 ) - { - led_red_batt_empty.dats.dats[ iic_burst_state ] = data; - iic_burst_state += 1; - } -#endif - } + + default: break; } return; @@ -427,14 +415,14 @@ void set_irq( u8 irqreg, u8 irq_flg ) { u8 tot; - DI(); +// DI(); if( ( vreg_ctr[ irqreg + 8 ] & irq_flg ) == 0 ){ vreg_ctr[ irqreg ] |= irq_flg; - IRQ0_neg; // 一瞬上げて落とし直す。 + IRQ0_neg; // 一瞬上げて... // EI(); tot = 0; while( !IRQ0 && ( ++tot != 0 ) ){;} // O.D.なのでちゃんとあがるのを待つ & IRQ_mcu がLに縛られてると困る(基板不良) - IRQ0_ast; + IRQ0_ast; // 落とし直す。 } - EI(); +// EI(); } diff --git a/trunk/vreg_ctr.h b/trunk/vreg_ctr.h index 86f1a7b..fd212d8 100644 --- a/trunk/vreg_ctr.h +++ b/trunk/vreg_ctr.h @@ -120,6 +120,11 @@ #define REG_BIT_TWL_REQ_RESET ( 1 << 0 ) + +// VREG_C_LED_NOTIFY_FLAG +#define REG_BIT_IN_LOOP ( 1 << 0 ) + + /* テンプレ #define REG_BIT_ ( 1 << 7 ) @@ -189,7 +194,6 @@ enum VREG_C VREG_C_LED_CAM, VREG_C_LED_TUNE, VREG_C_LED_NOTIFY_DATA, - VREG_C_LED_NOTIFY_OPTION, VREG_C_LED_NOTIFY_FLAG, VREG_C_RTC_SEC = 0x30, @@ -211,8 +215,6 @@ enum VREG_C VREG_C_RTC_SEC_FINE_L, VREG_C_RTC_SEC_FINE_H, - VREG_C_ACC_HOSU_ORIGIN, - VREG_C_ACC_CONFIG = 0x40, VREG_C_ACC_R_ADRS, VREG_C_ACC_RESERVE, @@ -231,12 +233,13 @@ enum VREG_C VREG_C_ACC_HOSU_H, VREG_C_ACC_HOSU_SETTING, VREG_C_ACC_HOSU_HIST = 0x4F, + VREG_C_ACC_HOSU_HOUR_BOUNDARY = 0x50, - VREG_C_FREE_ADRS = 0x50, + // とりあえず15バイトのスキマ + + VREG_C_FREE_ADRS = 0x60, VREG_C_FREE_DATA, - VREG_C_BATT_EMPTY_PATTERN, - VREG_C_ENDMARK_ }; #define VREG_C_INFO 0x7F diff --git a/trunk/vreg_twl.c b/trunk/vreg_twl.c index 8b00ebd..a562d4d 100644 --- a/trunk/vreg_twl.c +++ b/trunk/vreg_twl.c @@ -141,8 +141,8 @@ u8 adrs_table_twl_ext2int( u8 img ) case( REG_TWL_ADRS_IRQ ): return( REG_TWL_INT_ADRS_IRQ ); case( REG_TWL_ADRS_COMMAND ): return( REG_TWL_INT_ADRS_COMMAND ); case( REG_TWL_ADRS_POWER_INFO ): return( REG_TWL_INT_ADRS_POWER_INFO ); - case( REG_TWL_ADRS_CAM ): return( REG_TWL_INT_ADRS_CAM ); case( REG_TWL_ADRS_VOL ): return( REG_TWL_INT_ADRS_VOL ); + case( REG_TWL_ADRS_CAM ): return( REG_TWL_INT_ADRS_CAM ); case( REG_TWL_ADRS_TEMP0 ): return( REG_TWL_INT_ADRS_TEMP0 ); case( REG_TWL_ADRS_VER_INFO ): return( REG_TWL_INT_ADRS_VER_INFO ); case( REG_TWL_ADRS_MODE ): return( REG_TWL_INT_ADRS_MODE ); diff --git a/trunk/yav_mcu_bsr.prj b/trunk/yav_mcu_bsr.prj index 1bf690d..e0ec3f8 100644 --- a/trunk/yav_mcu_bsr.prj +++ b/trunk/yav_mcu_bsr.prj @@ -112,114 +112,6 @@ ZF=0 S=1 E=0 CommandFile=0 -[Options.RA78K0R 0] -Version=100 -G=1 -GA=1 -E=0 -COMMON=0 -COMPATI=0 -P=1 -KA=1 -KS=0 -KX=0 -LF=0 -LW=132 -LL=0 -LT=8 -Z=0 -CommandFile=0 -RA_OPT= -[Options.RA78K0R 1] -Version=100 -G=0 -GA=0 -E=0 -COMMON=0 -COMPATI=0 -P=1 -KA=1 -KS=0 -KX=0 -LF=0 -LW=132 -LL=0 -LT=8 -Z=0 -CommandFile=0 -RA_OPT= -[Options.RA78K0R 2] -Version=100 -G=1 -GA=1 -E=0 -COMMON=0 -COMPATI=0 -P=1 -KA=1 -KS=0 -KX=0 -LF=0 -LW=132 -LL=0 -LT=8 -Z=0 -CommandFile=0 -RA_OPT= -[Options.RA78K0R 3] -Version=100 -G=1 -GA=1 -E=0 -COMMON=0 -COMPATI=0 -P=1 -KA=1 -KS=0 -KX=0 -LF=0 -LW=132 -LL=0 -LT=8 -Z=0 -CommandFile=0 -RA_OPT= -[Options.RA78K0R 4] -Version=100 -G=1 -GA=1 -E=0 -COMMON=0 -COMPATI=0 -P=1 -KA=1 -KS=0 -KX=0 -LF=0 -LW=132 -LL=0 -LT=8 -Z=0 -CommandFile=0 -RA_OPT= -[Options.RA78K0R 5] -Version=100 -G=1 -GA=1 -E=0 -COMMON=0 -COMPATI=0 -P=1 -KA=1 -KS=0 -KX=0 -LF=0 -LW=132 -LL=0 -LT=8 -Z=0 -CommandFile=0 -RA_OPT= [Options.LCNV78K0R 0] Version=100 LCNV_GO=0 @@ -502,16 +394,6 @@ 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 [BuildBefore-AfterCmd] Before1=touch magic.c After1=ruby nec_s_2_bsrbin2.rb bsr.hex @@ -574,6 +456,129 @@ Include31=sw.h Include32=self_flash.h Include33=pool.h Include34=pedo_lpf_coeff.h +[ToolSet] +ToolSetName=(変更)78K0R Software Package V1.10 +Tool1=CC78K0R|W2.10 +Tool2=RA78K0R|W1.31 +Tool3=ID78K0R-QB|V3.60 +[Options.RA78K0R 0] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 1] +Version=100 +G=0 +GA=0 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 2] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 3] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 4] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 5] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[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 @@ -750,7 +755,7 @@ Unsignedchar=0 Usesaddrchk=0 Autoallocationchk=1 Jumpoptimize=1 -Librarycallchk=1 +Librarycallchk=0 Librarycall=1129 Aggressivechk=1 Relativebranchchk=1 @@ -801,88 +806,6 @@ VfiFileBoot0= VfiFileBoot1=boot.vfi VF78K0Rchk=0 VF78K0Rvs= -[Options.CC78K0R 2 led.c] -Version=210 -Define0= -Define1=_debug_,_TEG_,proc_is_ke3 -Define2=_debug_,_TEG_,proc_is_ke3,%time% -Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include1=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include2=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include3=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include4=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Memorymodel=1 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=0 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=1 -Jumpoptimize=1 -Librarycallchk=1 -Librarycall=1132 -Aggressivechk=1 -Relativebranchchk=1 -Debugoptchk=0 -Outdebugchk=1 -Outdebug=1153 -Outasmsrccmb0=inter_asm -Outasmsrccmb1=bsr.asm -Outasmsrcchk=1 -Outasmsrc=1158 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1174 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=1 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=1 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=1 -Startupchk=1 -Fixation=0 -FarROMization=0 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rm.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VfiFileBoot0= -VfiFileBoot1=boot.vfi -VF78K0Rchk=0 -VF78K0Rvs= [Options.CC78K0R 3] Version=210 Define0=_debug_,proc_is_bsr,_TEG_ @@ -1122,89 +1045,3 @@ VfiFileBoot0= VfiFileBoot1=boot.vfi VF78K0Rchk=0 VF78K0Rvs= -[Options.CC78K0R 2 pm.c] -Version=210 -Define0= -Define1=_debug_,_TEG_,proc_is_ke3 -Define2=_debug_,_TEG_,proc_is_ke3,%time% -Define3=_TEG_,proc_is_ke3 -Define4=proc_is_ke3 -Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r -Memorymodel=1 -Flashobj=0 -FlashStartadr= -FlashBranchStartadr= -Mirror=0 -Saddrglobalchk=0 -Saddrglobal=1066 -Saddrstaticchk=0 -Saddrstatic=1072 -Bitfieldmsb=0 -Onebytechk=0 -Pacstructchk=0 -AssignROMchk=0 -AssignROM=0 -Maxoptimizechk=0 -Maxoptimize=1104 -Charunexpandchk=0 -Unsignedchar=0 -Usesaddrchk=0 -Autoallocationchk=1 -Jumpoptimize=1 -Librarycallchk=1 -Librarycall=1132 -Aggressivechk=1 -Relativebranchchk=1 -Debugoptchk=0 -Outdebugchk=1 -Outdebug=1153 -Outasmsrccmb0=inter_asm -Outasmsrccmb1=bsr.asm -Outasmsrcchk=1 -Outasmsrc=1158 -Outasmoptall=1 -Common=0 -Outerrlistchk=0 -Outerrlist=1174 -Xreference=0 -Preprocess=0 -Prenocomment=0 -Predefine=0 -Preifdef=1 -Preinclude=1 -Preline=1 -Prenumber=1 -Formfeed=0 -Columns=132 -Lines=0 -Tablength=8 -Ansi=0 -Cpraspras=1 -Commentnest=0 -Intunexpand=0 -Kanjicode=1210 -Verbose=0 -CommandFile=0 -Warninglevel=1 -Startupchk=1 -Fixation=0 -FarROMization=0 -Objectsel=1305 -Librarychk=1 -Floatingpoint=0 -Muldivunit=1 -Mulunit=1 -Startup=s0rm.rel -Library1=cl0rdm.lib -Library2=cl0rm.lib -Library3=cl0rmf.lib -VfiFileBoot0= -VfiFileBoot1=boot.vfi -VF78K0Rchk=0 -VF78K0Rvs= -[ToolSet] -ToolSetName=(変更)78K0R Software Package V1.10 -Tool1=CC78K0R|W2.10 -Tool2=RA78K0R|W1.31 -Tool3=ID78K0R-QB|V3.60