mirror of
https://github.com/rvtr/TwlIPL.git
synced 2025-10-31 06:01:12 -04:00
(更新:Akabane Jumpei) 挿抜処理を行うスレッド内の処理を変更。(検証途中)
git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@689 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
parent
7850f38f51
commit
7cc412171e
@ -23,15 +23,15 @@ static void SetMCSCR(void);
|
|||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: ReadIDNormal_DSType1
|
Name: ReadIDNormal_DSType1
|
||||||
|
|
||||||
Description: DSカードType1のノーマルモードのID読み込み
|
Description: Type1のノーマルモードのID読み込み
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
// ‹¤’Ê
|
// ‹¤’Ê
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
* Name: ReadBootSegNormal_DSType1
|
* Name: ReadBootSegNormal_DSType1
|
||||||
*
|
*
|
||||||
* Description: DSカードType1のノーマルモードのBoot Segment読み込み
|
* Description: Type1のノーマルモードのBoot Segment読み込み
|
||||||
*
|
*
|
||||||
* CT=240ns Latency1=0x1fff Latency2=0x3f Pagecount=8page
|
* CT=240ns Latency1=0x1fff Latency2=0x3f Pagecount=8page
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
void ReadBootSegNormal_DSType1(CardBootData *cbd)
|
void ReadBootSegNormal_DSType1(CardBootData *cbd)
|
||||||
@ -56,7 +56,7 @@ void ReadBootSegNormal_DSType1(CardBootData *cbd)
|
|||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
* Name: ChangeModeNormal_DSType1
|
* Name: ChangeModeNormal_DSType1
|
||||||
*
|
*
|
||||||
* Description: DSカードType1のノーマルモードのモード変更
|
* Description: Type1のノーマルモードのモード変更
|
||||||
*
|
*
|
||||||
* CT=240ns Latency1=0x18 Latency2=0 Pagecount=0page
|
* CT=240ns Latency1=0x18 Latency2=0 Pagecount=0page
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
|
|||||||
@ -28,24 +28,25 @@ static void SetMCSCR(void);
|
|||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
Name: ReadIDNormal_DSType2
|
Name: ReadIDNormal_DSType2
|
||||||
|
|
||||||
Description: DSカードType1のノーマルモードのID読み込み
|
Description: Type2のノーマルモードのID読み込み
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
// 共通
|
// 共通
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
* Name: ReadBootSegNormal_DSType2
|
* Name: ReadBootSegNormal_DSType2
|
||||||
*
|
*
|
||||||
* Description: DSカードType2のノーマルモードのBoot Segment読み込み
|
* Description: Type2のノーマルモードのBoot Segment読み込み
|
||||||
*
|
*
|
||||||
* CT=240ns Latency1=0x1fff Latency2=0x3f Pagecount=8page
|
* CT=240ns Latency1=0x1fff Latency2=0x3f Pagecount=8page
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
void ReadBootSegNormal_DSType2(CardBootData *cbd)
|
void ReadBootSegNormal_DSType2(CardBootData *cbd)
|
||||||
{
|
{
|
||||||
u32 i = 0;
|
u32 i = 0;
|
||||||
|
u32 loop = ONE_SEGMENT_PAGE_NUM;
|
||||||
u32 *dst = cbd->pBootSegBuf->word;
|
u32 *dst = cbd->pBootSegBuf->word;
|
||||||
u64 page = 0;
|
u64 page = 0;
|
||||||
GCDCmd64 cndLE, cndBE;
|
GCDCmd64 cndLE, cndBE;
|
||||||
|
|
||||||
for(i=0; i<ONE_SEGMENT_PAGE_NUM; i++){
|
for(i=0; i<ONE_SEGMENT_PAGE_NUM; i++){
|
||||||
// NewDMA転送の準備
|
// NewDMA転送の準備
|
||||||
HOTSW_NDmaCopy_Card( HOTSW_DMA_NO, (u32 *)HOTSW_MCD1, cbd->pBootSegBuf->word + (u32)(PAGE_WORD_SIZE*i), PAGE_SIZE );
|
HOTSW_NDmaCopy_Card( HOTSW_DMA_NO, (u32 *)HOTSW_MCD1, cbd->pBootSegBuf->word + (u32)(PAGE_WORD_SIZE*i), PAGE_SIZE );
|
||||||
@ -76,7 +77,7 @@ void ReadBootSegNormal_DSType2(CardBootData *cbd)
|
|||||||
|
|
||||||
// カードデータ転送終了割り込みが起こるまで寝る(割り込みハンドラの中で起こされる)
|
// カードデータ転送終了割り込みが起こるまで寝る(割り込みハンドラの中で起こされる)
|
||||||
OS_SleepThread(NULL);
|
OS_SleepThread(NULL);
|
||||||
|
|
||||||
page++;
|
page++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -84,7 +85,7 @@ void ReadBootSegNormal_DSType2(CardBootData *cbd)
|
|||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
* Name: ChangeModeNormal_DSType2
|
* Name: ChangeModeNormal_DSType2
|
||||||
*
|
*
|
||||||
* Description: DSカードType2のノーマルモードのモード変更
|
* Description: Type2のノーマルモードのモード変更
|
||||||
*
|
*
|
||||||
* CT=240ns Latency1=0x18 Latency2=0 Pagecount=0page
|
* CT=240ns Latency1=0x18 Latency2=0 Pagecount=0page
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
|
|||||||
@ -10,7 +10,6 @@
|
|||||||
not be disclosed to third parties or copied or duplicated in any form,
|
not be disclosed to third parties or copied or duplicated in any form,
|
||||||
in whole or in part, without the prior written consent of Nintendo.
|
in whole or in part, without the prior written consent of Nintendo.
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include <twl.h>
|
#include <twl.h>
|
||||||
#include <twl/os/common/format_rom.h>
|
#include <twl/os/common/format_rom.h>
|
||||||
#include <nitro/card/types.h>
|
#include <nitro/card/types.h>
|
||||||
@ -25,6 +24,9 @@
|
|||||||
//#define HOTSW_FORCE_CARD_B
|
//#define HOTSW_FORCE_CARD_B
|
||||||
|
|
||||||
// define -------------------------------------------------------------------
|
// define -------------------------------------------------------------------
|
||||||
|
#define CHATTERING_COUNTER 0x100
|
||||||
|
#define COUNTER_A 0x100
|
||||||
|
|
||||||
#define UNDEF_CODE 0xe7ffdeff // 未定義コード
|
#define UNDEF_CODE 0xe7ffdeff // 未定義コード
|
||||||
#define ENCRYPT_DEF_SIZE 0x800 // 2KB ※ ARM9常駐モジュール先頭2KB
|
#define ENCRYPT_DEF_SIZE 0x800 // 2KB ※ ARM9常駐モジュール先頭2KB
|
||||||
|
|
||||||
@ -197,10 +199,10 @@ void HOTSW_Init(void)
|
|||||||
#ifdef SDK_ARM7
|
#ifdef SDK_ARM7
|
||||||
// チャッタリングカウンタの値を設定
|
// チャッタリングカウンタの値を設定
|
||||||
reg_MI_MC1 = (u32)((reg_MI_MC1 & ~REG_MI_MC1_CC_MASK) |
|
reg_MI_MC1 = (u32)((reg_MI_MC1 & ~REG_MI_MC1_CC_MASK) |
|
||||||
(0x100 << REG_MI_MC1_CC_SHIFT));
|
(CHATTERING_COUNTER << REG_MI_MC1_CC_SHIFT));
|
||||||
|
|
||||||
// Counter-Aの値を設定
|
// Counter-Aの値を設定
|
||||||
reg_MI_MC2 = 0x100;
|
reg_MI_MC2 = COUNTER_A;
|
||||||
#else
|
#else
|
||||||
// PXI経由でARM7にチャッタリングカウンタ・カウンタAの値を設定してもらう。設定されるまで待つ。
|
// PXI経由でARM7にチャッタリングカウンタ・カウンタAの値を設定してもらう。設定されるまで待つ。
|
||||||
|
|
||||||
@ -320,7 +322,6 @@ BOOL HOTSW_LoadCardData(void)
|
|||||||
// ---------------------- Normal Mode ----------------------
|
// ---------------------- Normal Mode ----------------------
|
||||||
// カードID読み込み
|
// カードID読み込み
|
||||||
ReadIDNormal();
|
ReadIDNormal();
|
||||||
s_funcTable[0].ReadID_G(&s_cbData);
|
|
||||||
|
|
||||||
// カードタイプを判別をして、使う関数を切替える IDの最上位ビットが1なら3DM
|
// カードタイプを判別をして、使う関数を切替える IDの最上位ビットが1なら3DM
|
||||||
if(s_cbData.id_nml & 0x80000000){
|
if(s_cbData.id_nml & 0x80000000){
|
||||||
@ -960,121 +961,130 @@ static void SetMCSCR(void)
|
|||||||
Name: McThread
|
Name: McThread
|
||||||
|
|
||||||
Description: カード抜け・挿し処理スレッド
|
Description: カード抜け・挿し処理スレッド
|
||||||
|
|
||||||
|
[TODO:]挿抜のフロー・フラグケアetcの確認(今の所、抜き挿ししてもタイトルが更新されない)
|
||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static void McThread(void *arg)
|
static void McThread(void *arg)
|
||||||
{
|
{
|
||||||
#pragma unused( arg )
|
#pragma unused( arg )
|
||||||
|
|
||||||
BOOL retval;
|
u32 currentId_g = UNDEF_CODE;
|
||||||
HotSwMessage *msg;
|
BOOL isPulledOut = TRUE;
|
||||||
|
BOOL retval;
|
||||||
|
HotSwMessage *msg;
|
||||||
|
|
||||||
while(1){
|
while(1){
|
||||||
OS_ReceiveMessage(&s_ctData.hotswQueue, (OSMessage *)&msg, OS_MESSAGE_BLOCK);
|
OS_ReceiveMessage(&s_ctData.hotswQueue, (OSMessage *)&msg, OS_MESSAGE_BLOCK);
|
||||||
|
|
||||||
// カードデータロード完了フラグを下ろす
|
// カードデータロード完了フラグを下ろす
|
||||||
SYSMi_GetWork()->flags.common.isCardLoadCompleted = FALSE;
|
SYSMi_GetWork()->flags.common.isCardLoadCompleted = FALSE;
|
||||||
|
|
||||||
// カード挿し割り込みによるスレッド起動
|
while(1){
|
||||||
if(msg->type == HOTSW_INSERT){
|
|
||||||
OS_PutString("-> Insert\n");
|
|
||||||
|
|
||||||
// 活線挿抜抑制フラグが立っていたら処理しない
|
// 活線挿抜抑制フラグが立っていたら処理しない
|
||||||
if( !SYSMi_GetWork()->flags.common.isEnableHotSW ) {
|
if( !SYSMi_GetWork()->flags.common.isEnableHotSW ) {
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
||||||
#endif
|
#endif
|
||||||
continue;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// カードが挿してある
|
// カードが挿さってたら
|
||||||
if(IsCardExist()){
|
if(IsCardExist()){
|
||||||
// HotSwをbusy状態にする
|
// 前の状態が挿し
|
||||||
|
if(!isPulledOut){
|
||||||
|
(void)s_funcTable[s_cbData.cardType].ReadID_G(&s_cbData);
|
||||||
|
if(currentId_g == s_cbData.id_gam){
|
||||||
|
|
||||||
|
u16 id = (u16)OS_GetLockID();
|
||||||
|
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
||||||
|
if( SYSMi_GetWork()->flags.arm9.reqChangeHotSW ) {
|
||||||
|
SYSMi_GetWork()->flags.common.isEnableHotSW = SYSMi_GetWork()->flags.arm9.nextHotSWStatus;
|
||||||
|
SYSMi_GetWork()->flags.arm9.reqChangeHotSW = 0;
|
||||||
|
SYSMi_GetWork()->flags.arm9.nextHotSWStatus = 0;
|
||||||
|
// HOTSW_Finalize();
|
||||||
|
}
|
||||||
|
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
||||||
|
OS_ReleaseLockID( id );
|
||||||
|
|
||||||
|
// フラグケア
|
||||||
|
{
|
||||||
|
u16 id = (u16)OS_GetLockID();
|
||||||
|
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
||||||
|
SYSMi_GetWork()->flags.common.isExistCard = TRUE;
|
||||||
|
SYSMi_GetWork()->flags.common.isCardStateChanged = TRUE;
|
||||||
|
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
||||||
|
OS_ReleaseLockID( id );
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新しいカードのIDを入れる
|
||||||
|
SYSMi_GetWork()->nCardID = s_cbData.id_gam;
|
||||||
|
|
||||||
|
// デバッガ情報
|
||||||
|
MI_CpuCopy8( HOTSW_GetRomEmulationBuffer(), &SYSMi_GetWork()->romEmuInfo, ROM_EMULATION_DATA_SIZE );
|
||||||
|
SYSMi_GetWork()->flags.common.isOnDebugger = s_cbData.debuggerFlg;
|
||||||
|
|
||||||
|
// カードデータロード完了フラグ
|
||||||
|
SYSMi_GetWork()->flags.common.isCardLoadCompleted = TRUE;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// HotSwをbusy状態にする
|
||||||
SetHotSwState(TRUE);
|
SetHotSwState(TRUE);
|
||||||
|
|
||||||
// カード読み込み開始
|
// カード読み込み開始
|
||||||
retval = HOTSW_LoadCardData();
|
retval = HOTSW_LoadCardData();
|
||||||
|
|
||||||
// HotSwをfree状態にする
|
// HotSwをfree状態にする
|
||||||
SetHotSwState(FALSE);
|
SetHotSwState(FALSE);
|
||||||
|
|
||||||
// カード読み込みに失敗してた場合 or 挿抜回数不一致 or カード抜かれてた
|
// GameモードでのIDを登録する
|
||||||
if(!retval || !CARDi_IsPulledOutEx(msg->hotswCount) || !IsCardExist()){
|
currentId_g = s_cbData.id_gam;
|
||||||
OS_TPrintf("Load Card Data Retval : %x HotSwCount : %d(msg : %d) IsCardExist : %d\n",
|
|
||||||
retval, CARDi_GetSlotResetCount(),msg->hotswCount,IsCardExist());
|
// 状態フラグを更新
|
||||||
|
isPulledOut = !retval;
|
||||||
// フラグ処理
|
|
||||||
SYSMi_GetWork()->flags.common.isValidCardBanner = FALSE;
|
|
||||||
SYSMi_GetWork()->flags.common.isCardStateChanged = FALSE;
|
|
||||||
SYSMi_GetWork()->flags.common.isExistCard = FALSE;
|
|
||||||
|
|
||||||
|
// カード読み込み失敗してたら、後処理する
|
||||||
|
if(!retval){
|
||||||
// カードロックの開放
|
// カードロックの開放
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
UnlockExCard(s_cbData.lockID);
|
UnlockExCard(s_cbData.lockID);
|
||||||
#else
|
#else
|
||||||
OS_UnlockCard(s_cbData.lockID);
|
OS_UnlockCard(s_cbData.lockID);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// カードロックIDの開放
|
// カードロックIDの開放
|
||||||
OS_ReleaseLockID( s_cbData.lockID );
|
OS_ReleaseLockID( s_cbData.lockID );
|
||||||
|
|
||||||
OS_PutString("### Card Read Error\n");
|
|
||||||
}
|
|
||||||
// カード読み込み・状態に問題がない場合
|
|
||||||
else{
|
|
||||||
u16 id = (u16)OS_GetLockID();
|
|
||||||
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
|
||||||
if( SYSMi_GetWork()->flags.arm9.reqChangeHotSW ) {
|
|
||||||
SYSMi_GetWork()->flags.common.isEnableHotSW = SYSMi_GetWork()->flags.arm9.nextHotSWStatus;
|
|
||||||
SYSMi_GetWork()->flags.arm9.reqChangeHotSW = 0;
|
|
||||||
SYSMi_GetWork()->flags.arm9.nextHotSWStatus = 0;
|
|
||||||
}
|
|
||||||
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
|
||||||
OS_ReleaseLockID( id );
|
|
||||||
|
|
||||||
// 新しいカードのIDを入れる
|
|
||||||
SYSMi_GetWork()->nCardID = s_cbData.id_gam;
|
|
||||||
|
|
||||||
// デバッガ情報
|
|
||||||
MI_CpuCopy8( HOTSW_GetRomEmulationBuffer(), &SYSMi_GetWork()->romEmuInfo, ROM_EMULATION_DATA_SIZE );
|
|
||||||
SYSMi_GetWork()->flags.common.isOnDebugger = s_cbData.debuggerFlg;
|
|
||||||
|
|
||||||
// カードデータロード完了フラグ
|
|
||||||
SYSMi_GetWork()->flags.common.isCardLoadCompleted = TRUE;
|
|
||||||
}
|
}
|
||||||
} // end [if(IsCardExist())]
|
}
|
||||||
|
|
||||||
|
// カードが抜けてたら
|
||||||
|
else{
|
||||||
|
if(isPulledOut){
|
||||||
|
// フラグケア
|
||||||
|
{
|
||||||
|
u16 id = (u16)OS_GetLockID();
|
||||||
|
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
||||||
|
SYSMi_GetWork()->flags.common.isExistCard = FALSE;
|
||||||
|
SYSMi_GetWork()->flags.common.isValidCardBanner = FALSE;
|
||||||
|
SYSMi_GetWork()->flags.common.isCardStateChanged = TRUE;
|
||||||
|
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
||||||
|
OS_ReleaseLockID( id );
|
||||||
|
}
|
||||||
|
|
||||||
|
// カードブート用構造体の初期化
|
||||||
|
MI_CpuClear32(&s_cbData, sizeof(CardBootData));
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
isPulledOut = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
#ifdef DEBUG_USED_CARD_SLOT_B_
|
#ifdef DEBUG_USED_CARD_SLOT_B_
|
||||||
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
SYSMi_GetWork()->flags.common.is1stCardChecked = TRUE;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// カード抜き割り込みによるスレッド起動
|
|
||||||
else if(msg->type == HOTSW_PULLEDOUT){
|
|
||||||
OS_PutString("-> Init\n\n");
|
|
||||||
|
|
||||||
// HOTSW抑制フラグが立ってたら、処理しない
|
|
||||||
if( !SYSMi_GetWork()->flags.common.isEnableHotSW ) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
// カードが抜かれている
|
|
||||||
if(!IsCardExist()){
|
|
||||||
// フラグケア
|
|
||||||
{
|
|
||||||
u16 id = (u16)OS_GetLockID();
|
|
||||||
(void)OS_LockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
|
||||||
SYSMi_GetWork()->flags.common.isExistCard = FALSE;
|
|
||||||
SYSMi_GetWork()->flags.common.isValidCardBanner = FALSE;
|
|
||||||
SYSMi_GetWork()->flags.common.isCardStateChanged = TRUE;
|
|
||||||
(void)OS_UnlockByWord( id, &SYSMi_GetWork()->lockHotSW, NULL );
|
|
||||||
OS_ReleaseLockID( id );
|
|
||||||
}
|
|
||||||
|
|
||||||
// カードブート用構造体の初期化
|
|
||||||
MI_CpuClear32(&s_cbData, sizeof(CardBootData));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} // while loop
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------*
|
/*---------------------------------------------------------------------------*
|
||||||
@ -1084,8 +1094,6 @@ static void McThread(void *arg)
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static void InterruptCallbackCard(void)
|
static void InterruptCallbackCard(void)
|
||||||
{
|
{
|
||||||
OS_TPrintf("*** Pulled Out Interrupt\n");
|
|
||||||
|
|
||||||
// 送信メッセージを作成 (活線挿抜回数を取得・カード挿し)
|
// 送信メッセージを作成 (活線挿抜回数を取得・カード挿し)
|
||||||
s_ctData.hotswPulledOutMsg[s_ctData.idx_pulledOut].hotswCount = CARDi_GetSlotResetCount();
|
s_ctData.hotswPulledOutMsg[s_ctData.idx_pulledOut].hotswCount = CARDi_GetSlotResetCount();
|
||||||
s_ctData.hotswPulledOutMsg[s_ctData.idx_pulledOut].type = HOTSW_PULLEDOUT;
|
s_ctData.hotswPulledOutMsg[s_ctData.idx_pulledOut].type = HOTSW_PULLEDOUT;
|
||||||
@ -1096,7 +1104,7 @@ static void InterruptCallbackCard(void)
|
|||||||
// メッセージインデックスをインクリメント
|
// メッセージインデックスをインクリメント
|
||||||
s_ctData.idx_pulledOut = (s_ctData.idx_pulledOut+1) % HOTSW_PULLED_MSG_NUM;
|
s_ctData.idx_pulledOut = (s_ctData.idx_pulledOut+1) % HOTSW_PULLED_MSG_NUM;
|
||||||
|
|
||||||
// OS_TPrintf(" - idx_pulledOut : %d\n", s_ctData.idx_pulledOut);
|
OS_TPrintf("○ - idx_pulledOut : %d\n", s_ctData.idx_pulledOut);
|
||||||
|
|
||||||
#ifdef USE_SLOT_A
|
#ifdef USE_SLOT_A
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_IREQ);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_IREQ);
|
||||||
@ -1112,8 +1120,6 @@ static void InterruptCallbackCard(void)
|
|||||||
*---------------------------------------------------------------------------*/
|
*---------------------------------------------------------------------------*/
|
||||||
static void InterruptCallbackCardDet(void)
|
static void InterruptCallbackCardDet(void)
|
||||||
{
|
{
|
||||||
OS_TPrintf("*** Insert Interrupt\n");
|
|
||||||
|
|
||||||
// SDKのカード状態をリセットする
|
// SDKのカード状態をリセットする
|
||||||
CARDi_ResetSlotStatus();
|
CARDi_ResetSlotStatus();
|
||||||
|
|
||||||
@ -1127,7 +1133,7 @@ static void InterruptCallbackCardDet(void)
|
|||||||
// メッセージインデックスをインクリメント
|
// メッセージインデックスをインクリメント
|
||||||
s_ctData.idx_insert = (s_ctData.idx_insert+1) % HOTSW_INSERT_MSG_NUM;
|
s_ctData.idx_insert = (s_ctData.idx_insert+1) % HOTSW_INSERT_MSG_NUM;
|
||||||
|
|
||||||
// OS_TPrintf(" - idx_insert : %d\n", s_ctData.idx_insert);
|
OS_TPrintf("● - idx_insert : %d\n", s_ctData.idx_insert);
|
||||||
|
|
||||||
#ifdef USE_SLOT_A
|
#ifdef USE_SLOT_A
|
||||||
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_DET);
|
OS_SetIrqCheckFlagEx(OS_IE_CARD_A_DET);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user