SDK2.x向け V1.30

(流出してしまった)不良無線SWのチャタリング対応
ISデバッガ対応

git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@325 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
n2232 2011-03-15 07:58:25 +00:00
parent aa8d8f1215
commit 6c8ee1b510
8 changed files with 76 additions and 48 deletions

View File

@ -65,8 +65,10 @@ const u8 BT_PARAM[][64] = {
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
},
}
/*,
{ // ID = 6 8.2kohm (ダミーでパナ)
ROM不足のため使
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
@ -76,6 +78,7 @@ const u8 BT_PARAM[][64] = {
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
}
*/
// ID = 7 白箱
/// パラメータ無し
};

View File

@ -28,7 +28,7 @@ enum model_
MODEL_SHIROBAKO,
MODEL_JIKKI_NOBATT,
MODEL_CAPTURE_BOX,
MODEL_RESERVED2,
MODEL_ISBAKO, // ただし、system_status.modelは MODEL_JIKKI にしておくので未使用
MODEL_RESERVED3,
};
@ -43,6 +43,7 @@ typedef struct _system_status_
unsigned char captureBox:1; // キャプチャ箱 SDKには実機と返す
unsigned char taikendai:1;
unsigned char taikendai_nbd:1;
unsigned char is_dev:1;
enum model_ model;
}system_status_;

View File

@ -17,9 +17,11 @@
// 一時ファーム
#define MCU_VER_MAJOR 0x01
#define MCU_VER_MINOR 0x20
#define MCU_VER_MAJOR 0x01
#define MCU_VER_MINOR 0x30
// ↑改訂の時は↓気をつけないと体験台の生産できないからね!
#ifdef _TAIKENDAI_SEISAN_SPECIAL_
#define MCU_VER_MINOR 0x80
#endif

Binary file not shown.

View File

@ -103,8 +103,8 @@ void main( )
{
// 通常の電源投入
// 電池接続時、ちょっと待ってみる(チャタリング対策)
u16 pwup_delay0 = 0;
for( pwup_delay0 = 0; pwup_delay0 != 0xFFFF; pwup_delay0++ ){};
u16 pwup_delay0;
for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0-- ){;};
}
hdwinit2( );
@ -137,6 +137,12 @@ void main( )
// 試遊台判定
// デバッガつないでると上手に判定できないことがあります。
if( !DIPSW_0 && !DIPSW_1 )
{
system_status.is_dev = 1;
}
else
{
#ifndef _FORCE_TAIKENDAI_
if( !DIPSW_0 )
#else
@ -162,7 +168,7 @@ void main( )
{
system_status.taikendai_nbd = 0;
}
}
// 通常運転
main_loop( );
}

View File

@ -22,12 +22,14 @@
#define HOLD_THREASHOLD (u8)( 2000 / INTERVAL_TSK_SW )
#define FORCEOFF_THREASHOLD (u8)( 4000 / INTERVAL_TSK_SW )
*/
#define TIME_MUKAN (u8)( 300 / INTERVAL_TSK_SW )
//=========================================================
u16 SW_pow_count;
bit SW_pow_mask;
u8 SW_home_count, SW_wifi_count, SW_home_count_rel;
u8 sw_wifi_mukan_time;
bit SW_HOME_n;
@ -61,6 +63,7 @@ u16 off_timeout_timer;
} \
if( count == CLICK_THRESHOLD ) \
{ \
count += 1; \
set_irq( VREG_C_IRQ0, irq_bit_name ); \
} \
} \
@ -144,6 +147,18 @@ void tsk_sw( )
chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE );
}
// wifi sw //
/// 最悪な実装なのはわかっているが、メモリ不足と、市場に出てしまった不良スイッチを救うため
if( sw_wifi_mukan_time != 0 )
{
sw_wifi_mukan_time--;
}
else
{
chk_clicked( SW_WIFI_n, SW_wifi_count, REG_BIT_SW_WIFI_CLICK );
if( SW_wifi_count == CLICK_THRESHOLD +1 ) // 押した判定発生!
{
sw_wifi_mukan_time = TIME_MUKAN;
}
}
}
}

View File

@ -7,7 +7,7 @@ extern u16 SW_pow_count;
extern bit SW_pow_mask;
#define INTERVAL_TSK_SW 8
#define CLICK_THRESHOLD 2
#define CLICK_THRESHOLD 5
#define HOLD_THREASHOLD (u16)( 3000 /INTERVAL_TSK_SW )
#define TIME_PWSW_CLICK (u8)( 220 /INTERVAL_TSK_SW )

View File

@ -279,7 +279,8 @@ u8 extinfo_read()
// static でとるほどのものでないので毎回スタックからとってくる
// switchとかにするとromが困る... なんだかなぁ。
infos[0] = system_status.captureBox? MODEL_CAPTURE_BOX: (u8)system_status.model;
infos[0] = system_status.captureBox? MODEL_CAPTURE_BOX
: ( system_status.is_dev? MODEL_ISBAKO: (u8)system_status.model );
infos[1] = pmic_version;
infos[2] = battery_manufacturer;
infos[3] = mgic_version[0];