音量が一時的に急に変わるのを修正
 ADCのチャンネル切り替え後、割り込みフラグをクリアするのを忘れていた
フルカラーお知らせランプの自動判別
 そのため、ポートの初期化順なども一部変更
同、パラメータの受信フォーマットの変更
8MHz動作しかしないので、4MHz動作の#ifdefを削除
I2C_TWL 反応遅延が激しいので逐次タスクの削除周り修正、割り込み禁止区間を細切れにしたり



git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@146 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
N2232 2010-05-17 00:10:17 +00:00
parent ce9ed926a0
commit 6bc39a3e62
18 changed files with 262 additions and 470 deletions

View File

@ -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
{

View File

@ -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_;

View File

@ -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_
// <20>ªTS board, WM1,1 TS-CTRC
//#define _MODEL_CTR_NOTIFY_FULLCOLOR_
#define _MODEL_CTR_NOTIFY_FULLCOLOR_
// <20>ªTS board, WM1,1 TS-CTRC
// “ÁŽêŽd—l //
//#define _SW_HOME_ENABLE_
//#define _PARRADIUM_ 廃止
//#define _PM_BUG_ // バグ持ち CTR PMIC 廃止
#define _FOR_E3_
// ---------------------------------- //

View File

@ -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;
}

View File

@ -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;

View File

@ -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 );

View File

@ -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;

View File

@ -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;

View File

@ -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入力バッファ]

View File

@ -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 )

View File

@ -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_

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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

View File

@ -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();
}

View File

@ -120,6 +120,11 @@
#define REG_BIT_TWL_REQ_RESET ( 1 << 0 )
// VREG_C_LED_NOTIFY_FLAG
#define REG_BIT_IN_LOOP ( 1 << 0 )
/*
ƒƒvƒŒ
#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

View File

@ -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 );

View File

@ -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=(•Ï<E280A2>X)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=(•Ï<E280A2>X)78K0R Software Package V1.10
Tool1=CC78K0R|W2.10
Tool2=RA78K0R|W1.31
Tool3=ID78K0R-QB|V3.60