diff --git a/trunk/adc.c b/trunk/adc.c index 7ef2996..be9d13d 100644 --- a/trunk/adc.c +++ b/trunk/adc.c @@ -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 ); diff --git a/trunk/bsr_system.h b/trunk/bsr_system.h index 478ead4..9332094 100644 --- a/trunk/bsr_system.h +++ b/trunk/bsr_system.h @@ -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; diff --git a/trunk/loader.c b/trunk/loader.c index a914abe..4aa775b 100644 --- a/trunk/loader.c +++ b/trunk/loader.c @@ -245,11 +245,7 @@ void hdwinit2( ) #endif PM1 = 0b00000000; -#ifdef _MODEL_CTR_JIKKI_ PM2 = 0b11101001; -#else - PM2 = 0b11101111; -#endif #ifdef _PMIC_CTR_ PM4 = 0b11110111; diff --git a/trunk/main.c b/trunk/main.c index 84c2094..29ae02c 100644 --- a/trunk/main.c +++ b/trunk/main.c @@ -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; /* 割り込み(アラーム&インターバル)許可 */ // メインループ // diff --git a/trunk/pm.c b/trunk/pm.c index 65e31c7..357bcf5 100644 --- a/trunk/pm.c +++ b/trunk/pm.c @@ -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; -// デバッグ用 +// デバッグ用は別にまとめた } diff --git a/trunk/pm.h b/trunk/pm.h index 2978f4d..19a2916 100644 --- a/trunk/pm.h +++ b/trunk/pm.h @@ -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 +}; //========================================================= diff --git a/trunk/sw.c b/trunk/sw.c index c9f744a..f836b30 100644 --- a/trunk/sw.c +++ b/trunk/sw.c @@ -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 ) ) diff --git a/trunk/task_debug.c b/trunk/task_debug.c index fe91426..75d3e41 100644 --- a/trunk/task_debug.c +++ b/trunk/task_debug.c @@ -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 diff --git a/trunk/task_misc.c b/trunk/task_misc.c index 22c8779..8deb18e 100644 --- a/trunk/task_misc.c +++ b/trunk/task_misc.c @@ -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 ); diff --git a/trunk/user_define.h b/trunk/user_define.h index 1740ebf..1a689be 100644 --- a/trunk/user_define.h +++ b/trunk/user_define.h @@ -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_ diff --git a/trunk/vreg_ctr.c b/trunk/vreg_ctr.c index 15877cd..79c5a64 100644 --- a/trunk/vreg_ctr.c +++ b/trunk/vreg_ctr.c @@ -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; diff --git a/trunk/yav_mcu_bsr.plg b/trunk/yav_mcu_bsr.plg index 5348c75..123c86c 100644 --- a/trunk/yav_mcu_bsr.plg +++ b/trunk/yav_mcu_bsr.plg @@ -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 diff --git a/trunk/yav_mcu_bsr.pri b/trunk/yav_mcu_bsr.pri index 3989fdb..45e6b04 100644 --- a/trunk/yav_mcu_bsr.pri +++ b/trunk/yav_mcu_bsr.pri @@ -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 diff --git a/trunk/yav_mcu_bsr.prk b/trunk/yav_mcu_bsr.prk index dd17098..542d110 100644 --- a/trunk/yav_mcu_bsr.prk +++ b/trunk/yav_mcu_bsr.prk @@ -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 diff --git a/trunk/yav_mcu_bsr.sdb b/trunk/yav_mcu_bsr.sdb index 47b58c3..f1d483e 100644 --- a/trunk/yav_mcu_bsr.sdb +++ b/trunk/yav_mcu_bsr.sdb @@ -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]