V0.25的な物。 自己アップデータの確認で一時的に巻き戻したいため。

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@6 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
fujita_ryohei 2009-09-02 10:35:20 +00:00
parent 5812913f0d
commit 604432135f
17 changed files with 12734 additions and 79 deletions

View File

@ -38,7 +38,7 @@ task_interval tsk_adc(){
|| ( system_status.pwr_state == SLEEP )){
if( adc_updated ){
#if 0
#if 0
3D depth Vol
// 3D
if( abs( old_3ddepth - vreg_ctr[ VREG_C_3D_DEPTH ] ) >= 4 ){
@ -86,14 +86,12 @@ task_interval tsk_adc(){
ADIF = 0;
ADMK = 0;
LED_duty_3D = (u16)( vreg_ctr[ VREG_C_3D_DEPTH ] );
LED_duty_3D = 0x03FC - ((u16)( vreg_ctr[ VREG_C_3D_DEPTH ] ) << 2);
return( 8 );
}
}
/* ========================================================
 minでもMAXでもない値を返す
 
@ -107,7 +105,7 @@ static u8 getmean3( u8* hist ){
*hist = *(hist+1);
*(hist+1) = temp;
}
if( !( *hist > *(hist+1) )){
return *hist;
}else{

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

4164
trunk/hex/ctr_wm0.hex Normal file

File diff suppressed because it is too large Load Diff

2119
trunk/hex/ctr_wm0_2.hex Normal file

File diff suppressed because it is too large Load Diff

View File

@ -317,11 +317,51 @@ err PM_BL_on(){ return( PM_chk_LDSW() ); }
err PM_BL_off(){ return( PM_chk_LDSW() ); }
err PM_LCD_off(){
PM_TEG_LCD_OFF = 1;
return( PM_chk_LDSW() );
return( PM_chk_LDSW() );
}
err PM_LCD_vcom_set(){
return( ERR_SUCCESS );
}
task_status_immed tski_vcom_set(){
PM_LCD_vcom_set();
return( ERR_FINISED );
}
#else
/* ========================================================
======================================================== */
err PM_LCD_vcom_set(){
u8 rv;
rv = iic_mcu_write_a_byte(
IIC_SLA_PMIC,
PM_REG_ADRS_POW_DAC1,
vreg_ctr[ VREG_C_VCOM_T ] ); // がっかりなことに、PMICはバースト書き込み不可
rv |= iic_mcu_write_a_byte(
IIC_SLA_PMIC,
PM_REG_ADRS_POW_DAC2,
vreg_ctr[ VREG_C_VCOM_B ] );
return( rv );
}
/* ========================================================
 I2Cの取り合いの関係でここから呼ぶ
======================================================== */
task_status_immed tski_vcom_set(){
PM_LCD_vcom_set();
return( ERR_FINISED );
}
/* ========================================================
======================================================== */
err PM_LCD_on(){
PM_VDDLCD_on();
wait_ms( DELAY_PM_TSS_50B );
@ -363,7 +403,6 @@ err PM_LCD_off(){
0
1
POW_CONT1,2 TEG電源のみ
======================================================== */

View File

@ -62,7 +62,8 @@ err PM_bt_auth();
task_status_immed PM_bt_temp_update();
void PM_init();
err PM_reset();
err PM_LCD_vcom_set();
task_status_immed tski_vcom_set();
//  これを呼ぶ前に、現在温度を教えておく必要があります。
#define PM_get_batt_left() ( iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC ) )

View File

@ -73,7 +73,7 @@ err firm_restore();
// magic.c の記述と違わないように注意!
#define N_MGC_L 0x1FF6
#define N_MGC_T 0x6FF6
#define N_MGC_T 0x47F6
/* ========================================================
@ -212,7 +212,7 @@ firm_update_end:
// 少なくとも、ローダーのマジックと、本文の末尾のマジックは同じか確認
for( i = 0; i < sizeof( __TIME__ ); i++ ){
comp += ( *(u8*)( N_MGC_L + i ) == *(u8*)( N_MGC_T + i ) )? 0: 1;
comp += ( *(u8*)( N_MGC_L - sizeof( __TIME__ ) + i ) == *(u8*)( N_MGC_T - sizeof( __TIME__ ) + i ) )? 0: 1;
}
if( comp == 0 ){

View File

@ -89,8 +89,8 @@ task_interval tsk_debug2(){
&& ( system_status.pwr_state != ON_TRIG )){
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, vreg_ctr[ VREG_C_IRQ0 ] );
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_IRQ1 ] );
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_SND_VOL ] );
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_3D_DEPTH ] );
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_SND_VOL ] );
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_3D_DEPTH ] );
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] );
}
return( 50/2 );
@ -204,6 +204,7 @@ task_status_immed do_command1(){
vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x02 ) != 0 )? 0x01: 0x00; //reset_det
vreg_twl[ REG_TWL_ADRS_IRQ ] = (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x01 ) != 0 )? 0x80: 0x00; //pwsw_det
vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x02 ) != 0 )? 0x01: 0x00; //reset_det
vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x04 ) != 0 )? 0x02: 0x00; //off_det
vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x08 ) != 0 )? 0x20: 0x00; //batt_low
vreg_twl[ REG_TWL_ADRS_IRQ ] |= (( vreg_ctr[ VREG_C_COMMAND1 ] & 0x10 ) != 0 )? 0x10: 0x00; //batt_empty

View File

@ -57,7 +57,7 @@ task_interval tsk_sys(){
// “dŒ¹“Š“ü //
iic_mcu_start();
PM_init();
PM_init(); // 電池残量ICの設定
// todo bt_auth
if( PM_bt_auth() != ERR_SUCCESS ){
@ -76,6 +76,9 @@ task_interval tsk_sys(){
system_status.pwr_state = OFF;
return( 0 );
}
PM_LCD_vcom_set(); // LCDの対向電圧値など書き込み
if( PM_LCD_on() == 0 ){
renge_task_interval_run_force = 1;
iic_mcu_stop();

View File

@ -8,7 +8,7 @@ CTR MCU I2C
#include "rtc.h"
#include "led.h"
#include "accero.h"
#include "pm.h"
// ********************************************************
@ -39,7 +39,9 @@ void vreg_ctr_init(){
// ********************************************************
// I2C仮想レジスタに書きます。
// 引数 adrs は内部アドレス
//  存在しないアドレスにアクセスした場合、何もしません。
//  書けないアドレスにアクセスした場合、何もしません。
// ●書き込んだ結果、I2C_mcu通信が発生する場合、renge_task_immed_add()
// を使用しないと、I2C_mcu使用中でエラー終了した場合にリトライしません。
void vreg_ctr_write( u8 adrs, u8 data ){
switch( adrs ){
case( VREG_C_IRQ_MASK0 ):
@ -61,6 +63,12 @@ void vreg_ctr_write( u8 adrs, u8 data ){
}
break;
case( VREG_C_VCOM_T ):
case( VREG_C_VCOM_B ):
renge_task_immed_add( tski_vcom_set );
vreg_ctr[ adrs ] = data;
break;
case( VREG_C_LED_BRIGHT ):
set_LED_cam();
vreg_ctr[ adrs ] = data;
@ -93,6 +101,7 @@ void vreg_ctr_write( u8 adrs, u8 data ){
case( VREG_C_RTC_MONTH ):
case( VREG_C_RTC_YEAR ):
// ここでは書かない。セットするだけでstopで書く
/// 非同期で動いているため。
set_rtc( adrs - VREG_C_RTC_SEC, data );
break;
@ -151,8 +160,11 @@ void vreg_ctr_write( u8 adrs, u8 data ){
vreg_ctr[ adrs ] = data;
if(( vreg_ctr[ VREG_C_DBG1 ] == 'j' )
&& ( vreg_ctr[ VREG_C_DBG2 ] == 'h' )
&& ( data == 'l' )){
firm_update(); // 戻ってこない
&& ( data == 'l' )
){
firm_update(); // 戻ってこない
}
}
}
break;
}

View File

@ -106,8 +106,10 @@ enum VREG_C{ //
//VREG_C_BT_INFO,
VREG_C_VCOM_T,
VREG_C_VCOM_B,
VREG_C_VCS_T,
VREG_C_VCS_B,
// VREG_C_VCS_T,
// VREG_C_VCS_B,
VREG_C_RESERVED3,
VREG_C_RESERVED4,
VREG_C_BT_TEMP,

View File

@ -3,9 +3,30 @@ C:\WINDOWS\system32\cmd.exe /c touch magic.c
Compilation complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -cF100964 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\magic.asm
Assembly complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\bin\cc78k0r.exe" -cF100964 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qcjl1wtg -sainter_asm -zp -w0 -no vreg_ctr.c
Compilation complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\ra78k0r.exe" -cF100964 -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff inter_asm\vreg_ctr.asm
Assembly complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\lk78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -obsr_k0r.lmf "..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r\s0rml.rel" -go85h,0FC00h,1024 -gi0FFFFFFFFFFFFFFFFFFFFh -pbsr_k0r.map -nkd -kp -gb6EFBFFh -b"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files\NEC Electronics Tools\CC78K0R\W2.10\lib78k0r" -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel ini_VECT.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel tasks.rel adc.rel renge.rel tasks_sys.rel accero.rel self_flash.rel
Link complete, 0 error(s) and 0 warning(s) found.
"C:\Program Files\NEC Electronics Tools\RA78K0R\W1.31\bin\oc78k0r.exe" -y"C:\Program Files\NEC Electronics Tools\DEV" -_msgoff -o.\bsr.hex bsr_k0r.lmf
Object Conversion Complete, 0 error(s) and 0 warning(s) found.
C:\WINDOWS\system32\cmd.exe /c ruby C:\Cygwin\home\fujita_ryohei\nesdev\jhl\inthex_flatter.rb bsr.hex
C:/Cygwin/home/fujita_ryohei/nesdev/jhl/inthex_flatter.rb:28: syntax error, unexpected ',', expecting tASSOC
src_in = { "len", tempA[0][1], "offset", tempA...
^
C:/Cygwin/home/fujita_ryohei/nesdev/jhl/inthex_flatter.rb:28: syntax error, unexpected ',', expecting tCOLON2 or '[' or '.'
...{ "len", tempA[0][1], "offset", tempA[0][2], "type", tempA[0...
... ^
C:/Cygwin/home/fujita_ryohei/nesdev/jhl/inthex_flatter.rb:28: syntax error, unexpected ',', expecting tCOLON2 or '[' or '.'
... "offset", tempA[0][2], "type", tempA[0][3], "data", tempA[0...
... ^
C:/Cygwin/home/fujita_ryohei/nesdev/jhl/inthex_flatter.rb:28: syntax error, unexpected ',', expecting tCOLON2 or '[' or '.'
...], "type", tempA[0][3], "data", tempA[0][4], "CRC", tempA[0]...
... ^
C:/Cygwin/home/fujita_ryohei/nesdev/jhl/inthex_flatter.rb:28: syntax error, unexpected ',', expecting tCOLON2 or '[' or '.'
...3], "data", tempA[0][4], "CRC", tempA[0][5] }
... ^
C:/Cygwin/home/fujita_ryohei/nesdev/jhl/inthex_flatter.rb:39: syntax error, unexpected '}', expecting $end
Build Total error(s) : 0 Total warning(s) : 0

View File

@ -78,10 +78,10 @@ Symbol Type=OFF
Language=C
Kanji=SJIS
[Source]
Geometry=0, 0, 733, 1077
Geometry=59, 6, 733, 1077
Window=Normal
DispStart=64
CaretPos=65,0
DispStart=182
CaretPos=227,0
Mode=Normal
DispFile=
Address1=
@ -139,11 +139,19 @@ SaveRange=Screen
SaveStart=
SaveEnd=
Accumulative=ON
[Source1]
Geometry=25, 25, 733, 1077
Window=Normal
DispStart=232
CaretPos=295,9
Mode=Normal
DispFile=self_flash.c
Accumulative=ON
[Assemble]
Geometry=0, 0, 0, 0
Window=Hide
DispStart=864531456
CaretPos=0,0
Geometry=0, 0, 600, 717
Window=Normal
DispStart=3169
CaretPos=3182,27
Address1=
Address2=
Address3=
@ -185,17 +193,17 @@ SaveRange=Screen
SaveStart=
SaveEnd=
[Memory]
Geometry=50, 50, 550, 400
Window=Hide
Boundary=0
Geometry=447, 117, 928, 727
Window=Normal
Boundary=163
Format=Hex
Mode=Byte
Endian=
Endian=Little
Ascii=OFF
Address=
DispStart=FFFFFFFF
CaretPosData=0, 0
CaretPosAscii=0, 0
DispStart=00006DB0
CaretPosData=19, 1791
CaretPosAscii=305, 645135190
Address1=
Address2=
Address3=
@ -279,7 +287,7 @@ Attribute=Show
Sort=Address
Pickup=OFF
SelectSort=Address
Last Name=PMK4
Last Name=PPR12
Line=506
L1=ADPC
L2=PU0
@ -934,14 +942,18 @@ Count=0
Geometry=1141, 640, 440, 300
Window=Normal
Boundary=16777386
0=.PU5,B,S,A,+,1
1=.PM5,B,S,A,+,1
2=.p5,B,S,A,+,1
3=.vreg_ctr,P,N,A,+,1
4=.IICAIF,P,S,A,+,1
5=.P8,P,S,A,+,1
6=.PM8,P,S,A,+,1
Line=7
0=.TDR01,P,S,A,+,1
1=.LED_duty_3D,P,N,A,+,1
2=.ALARMWM,P,S,A,+,1
3=.ALARMWH,P,S,A,+,1
4=.PU5,B,S,A,+,1
5=.PM5,B,S,A,+,1
6=.p5,B,S,A,+,1
7=.vreg_ctr,P,N,A,+,1
8=.IICAIF,P,S,A,+,1
9=.P8,P,S,A,+,1
10=.PM8,P,S,A,+,1
Line=11
[Quick Watch]
0=PM8,P,A,1
1=P8,P,A,1
@ -951,10 +963,10 @@ Line=7
5=PM5,B,A,1
6=PU5B,P,A,1
7=PU5,B,A,1
8=
9=
10=
11=
8=ALARMWM,P,A,1
9=ALARMWH,P,A,1
10=LED_duty_3D,P,A,1
11=TDR01,P,A,1
12=
13=
14=
@ -972,14 +984,26 @@ Address1=accero.c#_acc_write+0x1a
Window1=ASM
Status1=ON
Name2=Swb00004
Address2=vreg_ctr.c#_vreg_ctr_write+0x15f
Address2=vreg_ctr.c#_vreg_ctr_write+0x159
Window2=ASM
Status2=ON
Name3=Swb00001
Address3=tasks_sys.c#_tsk_sys+0x123
Name3=Swb00005
Address3=self_flash.c#_firm_restore+0xce
Window3=ASM
Status3=ON
Count=4
Name4=Swb00006
Address4=self_flash.c#_firm_restore+0xd
Window4=ASM
Status4=ON
Name5=Swb00007
Address5=self_flash.c#_firm_update+0x1e1
Window5=ASM
Status5=ON
Name6=Swb00008
Address6=self_flash.c#_firm_update+0x1e9
Window6=ASM
Status6=ON
Count=7
[Reset]
Debugger=ON
Symbol=OFF

View File

@ -272,6 +272,7 @@ Source18=accero.c
Source19=self_flash.c
[BuildBefore-AfterCmd]
Before1=touch magic.c
After1=ruby C:\Cygwin\home\fujita_ryohei\nesdev\jhl\inthex_flatter.rb bsr.hex
[Options.LK78K0R 0]
Version=100
O0=bsr_k0r.lmf

View File

@ -11,26 +11,15 @@ OpenFile4=renge\\..\incs.h,0,68,451,1312,1208,0,9,0,0
OpenFile5=magic.c,0,307,203,1275,828,0,15,0,0
OpenFile6=fsl_user.h,0,330,330,1574,1087,53,63,53,0
OpenFile7=renge\renge_task_immediate.h,0,243,127,1487,884,0,1,0,0
OpenFile8=renge\renge_defs.h,0,270,17,1514,774,0,13,0,0
OpenFile9=vreg_twl.c,0,44,44,1288,801,34,30,34,0
OpenFile10=renge\renge.c,0,270,117,1514,874,45,105,45,0
OpenFile11=tasks_sys.c,0,360,104,1068,950,63,126,63,0
OpenFile12=adc.c,0,220,220,1464,977,48,79,0,0
OpenFile13=renge\renge.h,0,352,352,1596,1109,0,7,0,0
OpenFile14=led.c,0,166,57,1410,814,1,241,0,0
OpenFile15=pm.c,0,213,107,1119,634,0,307,0,0
OpenFile16=accero.c,0,132,132,1376,889,2,97,29,0
OpenFile17=tasks.c,0,154,154,1398,911,0,92,0,0
OpenFile18=pm.h,0,154,154,1398,911,15,63,15,0
OpenFile19=loader.c,0,110,110,1121,842,0,174,0,0
OpenFile20=vreg_ctr.c,0,110,110,1354,867,21,7,21,0
OpenFile21=ProjectWindow
OpenFile8=renge\renge.c,0,270,117,1514,874,45,105,45,0
OpenFile9=adc.c,0,220,220,1464,977,48,79,0,0
OpenFile10=ProjectWindow
PrjPos=0,0,752,0,250
OpenFile22=config.h,0,176,176,1420,933,0,13,0,0
OpenFile23=i2c_twl.c,0,264,63,1508,820,0,72,0,0
OpenFile24=i2c_ctr.c,0,198,198,1442,955,2,176,0,0
OpenFile25=OutputWindow
OutputPos=0,283,1077,659,1520
OpenFile11=tasks_sys.c,0,411,63,1119,909,4,171,0,0
OpenFile12=pm.c,0,220,220,1464,977,15,320,0,0
OpenFile13=vreg_ctr.c,0,286,286,1530,1043,0,4,0,0
OpenFile14=OutputWindow
OutputPos=0,271,1065,313,1174
ActivePRJ=yav_mcu_bsr.prj
[ProjectWindow]
ProjectWindowDispType=0

View File

@ -10,7 +10,7 @@ T=4a9b7c2e
6=pm.h
7=rtc.h
[pm.c]
T=4a950fea
T=4a9d1a9d
1=incs_loader.h
2=adc.h
3=led.h
@ -26,7 +26,7 @@ T=4a9b2fe1
4=pm.h
5=accero.h
[magic.c]
T=4a9b83c9
T=4a9dc834
[WDT.c]
T=4a8bb921
1=incs_loader.h
@ -49,22 +49,23 @@ T=4a8bbf14
T=4a8bbd28
1=incs.h
[vreg_ctr.c]
T=4a9b83c6
T=4a9d1a9d
1=incs.h
2=vreg_ctr.h
3=rtc.h
4=led.h
5=accero.h
6=pm.h
[vreg_twl.c]
T=4a97560a
1=incs.h
2=jhl_defs.h
3=vreg_twl.h
[tasks.c]
T=4a953944
T=4a9dc70c
1=incs.h
[adc.c]
T=4a963d0a
T=4a9dc7eb
1=incs_loader.h
2=adc.h
3=pm.h
@ -76,7 +77,7 @@ T=4a7d2b02
2=renge\renge_task_immediate.h
3=WDT.h
[tasks_sys.c]
T=4a953573
T=4a9ce593
1=incs.h
2=i2c_twl.h
3=i2c_ctr.h
@ -109,7 +110,7 @@ T=4a8bb83c
T=4a951723
1=config.h
[config.h]
T=4a9b5536
T=4a9dc849
[bsr_system.h]
T=4a023057
1=jhl_defs.h
@ -123,7 +124,7 @@ T=4a5547e1
T=4a8a7575
1=renge\renge_defs.h
[vreg_ctr.h]
T=4a9b83a8
T=4a9ce593
[loader.h]
T=4a7a31d0
1=jhl_defs.h
@ -138,7 +139,7 @@ T=4a7bf458
[i2c_ctr.h]
T=4a7c0777
[pm.h]
T=4a9507ff
T=4a9d1a9d
[rtc.h]
T=4a8bbf80
[adc.h]