機種判定レジスタの定義変更に対応

実機とTS、白箱を自動判別

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@103 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
fujita_ryohei 2010-03-25 09:50:03 +00:00
parent 6044c2fdc3
commit 52c14bcfdd
15 changed files with 97 additions and 70 deletions

View File

@ -139,7 +139,7 @@ void tsk_adc( )
// codecに伝える
iic_mcu_write_a_byte( IIC_SLA_CODEC, CODEC_REG_VOL, temp );
#ifndef _MODEL_CTR_JIKKI_
#ifndef _MODEL_CTR_
iic_mcu_write_a_byte( IIC_SLA_DCP, 0, slider_to_codec[ ( 255 - adc_raw_vol ) / 4 ] ); // todo
#endif
set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE );

View File

@ -22,6 +22,18 @@ enum poweron_reason_
};
enum model_
{
MODEL_JIKKI = 0,
MODEL_TS_BOARD,
MODEL_SHIROBAKO,
MODEL_RESERVED1,
MODEL_RESERVED2,
MODEL_RESERVED3,
};
// タスクシステムの状態情報など
typedef struct
{
@ -31,10 +43,12 @@ typedef struct
unsigned char dipsw1:1;
unsigned char dipsw2:1;
unsigned char reboot:1;
enum model_ model;
}
system_status_;
extern system_status_ system_status;

View File

@ -245,11 +245,7 @@ void hdwinit2( )
#endif
PM1 = 0b00000000;
#ifdef _MODEL_CTR_JIKKI_
PM2 = 0b11101001;
#else
PM2 = 0b11101111;
#endif
#ifdef _PMIC_CTR_
PM4 = 0b11110111;

View File

@ -38,6 +38,8 @@ void main_loop( void )
renge_init( );
iic_mcu_start( );
EI( );
PM_init();
if( system_status.reboot )
@ -73,8 +75,6 @@ void main_loop( void )
renge_task_interval_run_force = 1;
EI( );
RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */
// メインループ //

View File

@ -49,21 +49,22 @@ void PM_init( )
}chars;
}dat_16;
system_status.model = MODEL_JIKKI;
wait_ms( 150 );
// -1. なんかおかしい… リセットをかけてみる
dat_16._u16 = swap_endian_16( 0x5400 ); // reset
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_COMMAND, 2, &dat_16 );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_COMMAND, 2, &dat_16 ); // こいつはNACKを返す
// 0. バッテリ残量IC クイックスタート
dat_16._u16 = swap_endian_16( 0x4000 ); // quick start
if( iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_MODE, 2, &dat_16 ) != ERR_SUCCESS )
{
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_GASGAUGE_ERR;
system_status.model = MODEL_TS_BOARD;
}
else
{
// 1. ロック解除
dat_16._u16 = swap_endian_16( 0x4057 ); // unlock key
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_LOCK, 2, &dat_16 );
@ -88,9 +89,14 @@ void PM_init( )
// 5.メーカー別パラメータのロード
switch ( temp )
{
// case( BT_VENDER_PANA ):
case( BT_VENDER_SHIROBAKO ):
system_status.model = MODEL_SHIROBAKO;
break;
case( BT_VENDER_PANA ):
case( BT_VENDER_MAXELL ):
default:
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 64, &BT_PARAM[0] );
iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM, 64, &BT_PARAM[0] );
rcomp = BT_PANA_RCOMP;
temp_co_up = BT_PANA_TEMPCOUP;
temp_co_dn = BT_PANA_TEMPCODN;
@ -134,7 +140,7 @@ void PM_init( )
// PMIC バージョン読み出し
// temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
// vreg_ctr[ VREG_C_PM_INFO ] = temp;
// デバッグ用
// デバッグ用は別にまとめた
}

View File

@ -32,7 +32,12 @@ enum BT_GAUGE_REG_ADRS
BT_GAUGE_REG_COMMAND = 0xFE
};
enum BT_VENDER
{
BT_VENDER_SHIROBAKO = 0,
BT_VENDER_PANA = 3,
BT_VENDER_MAXELL = 7
};
//=========================================================

View File

@ -25,6 +25,7 @@
u8 SW_pow_count, SW_home_count, SW_wifi_count;
bit SW_pow_mask, SW_home_mask, SW_wifi_mask;
bit SW_HOME_n;
//=========================================================
@ -133,6 +134,19 @@ void tsk_sw( )
}
// HOME スイッチ //
switch( system_status.model )
{
case( MODEL_JIKKI ):
SW_HOME_n = SW_HOME_n_JIKKI;
break;
case( MODEL_TS_BOARD ):
case( MODEL_SHIROBAKO ):
SW_HOME_n = SW_HOME_n_TSBOARD;
break;
default:
SW_HOME_n = 1;
}
if( SW_HOME_n )
{
if( ( CLICK_THRESHOLD < SW_home_count ) && ( SW_home_count <= HOLD_THREASHOLD ) )

View File

@ -23,7 +23,7 @@ void tsk_debug( )
#ifdef _MODEL_WM0_
PM_CHG_TIMEOUT_DISABLE(); // /WL_RST に配線されています
#endif
#ifndef _MODEL_CTR_JIKKI_
#ifndef _MODEL_CTR_
iic_mcu_write_a_byte( IIC_SLA_DCP, 0x08, 0x80 ); // ACR←0x80 揮発モードへ
#endif

View File

@ -259,13 +259,12 @@ task_status_immed tski_mcu_info_read()
IICA = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION + 1 );
break;
default:
/*
IICA = 0xEE;
/*/
goto end;
//*/
case( 4 ):
IICA = (u8)system_status.model;
break;
default:
goto end;
}
return( ERR_CONTINUE );

View File

@ -165,12 +165,9 @@
//#define VOL P2.7
// ANI7
#ifdef _MODEL_CTR_JIKKI_
#define SW_HOME_n P20.4
#define SW_HOME_n_JIKKI P20.4
// INTP22
#else
#define SW_HOME_n P2.0
#endif
#define SW_HOME_n_TSBOARD P2.0
// WiFi
#ifndef _TEG_

View File

@ -42,23 +42,11 @@ void vreg_ctr_init( )
{
vreg_ctr[VREG_C_LED_BRIGHT] = 0xFF;
vreg_ctr[VREG_C_MCU_VER_MAJOR] = MCU_VER_MAJOR;
#ifdef _MODEL_TEG2_
vreg_ctr[VREG_C_MCU_VER_MAJOR] |= 0x00;
vreg_ctr[VREG_C_MCU_VER_MAJOR] = MCU_VER_MAJOR;
#else
vreg_ctr[VREG_C_MCU_VER_MAJOR] = MCU_VER_MAJOR | 0x10;
#endif
#ifdef _MODEL_WM0_
vreg_ctr[VREG_C_MCU_VER_MAJOR] |= 0x08;
#endif
#ifdef _MODEL_TS0_
vreg_ctr[VREG_C_MCU_VER_MAJOR] |= 0x10;
#endif
#ifdef _MODEL_CTR_TS_
vreg_ctr[VREG_C_MCU_VER_MAJOR] |= 0x18;
#endif
#ifdef _MODEL_CTR_JIKKI_
vreg_ctr[VREG_C_MCU_VER_MAJOR] |= 0x1C;
#endif
vreg_ctr[VREG_C_MCU_VER_MINOR] = MCU_VER_MINOR;
vreg_ctr[VREG_C_VCOM_T] = 92;

View File

@ -1,4 +1,16 @@
C:\WINDOWS\system32\cmd.exe /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 -qvjl3wt -sainter_asm -zp -no pm.c
pm.c(173) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(184) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(188) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(239) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(276) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(355) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(363) : CC78K0R warning W0401: Conversion may lose significant digits
pm.c(885) : CC78K0R warning W0401: Conversion may lose significant digits
Compilation complete, 0 error(s) and 8 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\pm.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 -qvjl3wt -sainter_asm -zp -no magic.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\magic.asm
@ -13,4 +25,4 @@ intel-HEX to bsr bin converter
file converted!
Build Total error(s) : 0 Total warning(s) : 0
Build Total error(s) : 0 Total warning(s) : 8

View File

@ -142,8 +142,8 @@ Accumulative=ON
[Assemble]
Geometry=24, 657, 600, 400
Window=Normal
DispStart=17413
CaretPos=17413,27
DispStart=17446
CaretPos=17446,27
Address1=
Address2=
Address3=
@ -1020,50 +1020,46 @@ Geometry=1085, 803, 500, 296
Window=Normal
Width=150 30 200 100
Name0=Swb00001
Address0=task_misc.c#_tski_mcu_info_read+0x48
Address0=task_misc.c#_tski_mcu_info_read+0x3d
Window0=ASM
Status0=ON
Name1=Swb00002
Address1=task_misc.c#_tski_mcu_info_read+0x5c
Address1=task_misc.c#_tski_mcu_info_read+0x5a
Window1=ASM
Status1=ON
Name2=Swb00003
Address2=task_misc.c#_tski_mcu_info_read+0x5c
Address2=task_misc.c#_tski_mcu_info_read+0x5a
Window2=ASM
Status2=ON
Name3=Swb00005
Address3=task_misc.c#_tski_mcu_info_read+0x5c
Address3=task_misc.c#_tski_mcu_info_read+0x5a
Window3=ASM
Status3=ON
Name4=Swb00004
Address4=task_misc.c#_tski_mcu_info_read+0x3a
Address4=task_misc.c#_tski_mcu_info_read+0x21
Window4=ASM
Status4=ON
Name5=Swb00015
Address5=pm.c#_ntr_pmic_comm+0x32
Window5=ASM
Status5=ON
Name6=Swb00006
Address6=task_misc.c#es_F0059+0xa4
Name6=Swb00008
Address6=pm.c#_ntr_pmic_comm+0x3e
Window6=ASM
Status6=ON
Name7=Swb00008
Address7=pm.c#_ntr_pmic_comm+0x3e
Name7=Swb00012
Address7=pm.c#_ntr_pmic_comm+0x51
Window7=ASM
Status7=ON
Name8=Swb00012
Address8=pm.c#_ntr_pmic_comm+0x51
Name8=Swb00013
Address8=pm.c#_ntr_pmic_comm+0x59
Window8=ASM
Status8=ON
Name9=Swb00013
Address9=pm.c#_ntr_pmic_comm+0x59
Name9=Swb00014
Address9=pm.c#_ntr_pmic_comm+0x65
Window9=ASM
Status9=ON
Name10=Swb00014
Address10=pm.c#_ntr_pmic_comm+0x65
Window10=ASM
Status10=ON
Count=11
Count=10
[Reset]
Debugger=ON
Symbol=OFF

View File

@ -1,5 +1,5 @@
[ProjectManager]
FrameMax=1
FrameMax=0
FrameX=75
FrameY=122
FrameCX=1299
@ -10,14 +10,14 @@ OpenFile3=renge\\renge_defs.h,0,293,307,1537,1033,18,37,18,0
OpenFile4=renge\renge_defs.h,0,667,22,1514,748,0,16,0,0
OpenFile5=sw.c,0,264,264,1508,990,0,105,0,0
OpenFile6=adc.c,0,286,286,1530,1012,24,134,50,0
OpenFile7=ProjectWindow
OpenFile7=task_sys.c,0,330,330,1574,1056,0,172,37,0
OpenFile8=loader.c,0,296,307,1286,923,20,214,20,0
OpenFile9=pm.h,0,254,446,1244,1062,0,115,0,0
OpenFile10=ProjectWindow
PrjPos=0,2,754,3,253
OpenFile8=task_sys.c,0,330,330,1574,1056,0,172,37,0
OpenFile9=loader.c,0,296,307,1286,923,20,214,20,0
OpenFile10=pm.h,0,254,446,1244,1062,0,115,0,0
OpenFile11=config.h,0,257,193,1501,919,0,22,21,0
OpenFile11=config.h,0,257,193,1501,919,22,24,0,0
OpenFile12=OutputWindow
OutputPos=0,544,1010,68,1126
OutputPos=0,438,904,19,1077
ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow]
ProjectWindowDispType=0

View File

@ -32,7 +32,7 @@ T=4b999c7e
6=led.h
7=adc.h
[magic.c]
T=4bab04b9
T=4bab0559
1=config.h
[WDT.c]
T=4afd21ca
@ -157,7 +157,7 @@ T=4b90c1b8
[user_define.h]
T=4ba9e8b6
[config.h]
T=4bab04b9
T=4bab0559
[bsr_system.h]
T=4b3064de
[renge\renge.h]