diff --git a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c index 92f9928d..c27f93b9 100644 --- a/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c +++ b/build/libraries_sysmenu/sysmenu/ARM9/src/sysmenu_lib.c @@ -179,27 +179,17 @@ TitleProperty *SYSM_ReadParameters( void ) //----------------------------------------------------- // 無線ON/OFFフラグをもとに、LEDを設定する。 //----------------------------------------------------- -/* { +#if 0 + { BOOL enable; if( LCFG_THW_IsForceDisableWireless() ) { enable = FALSE; - // 本体設定の無線有効フラグがTRUEの時は強制FALSEにしてファイル更新 - if( LCFG_TSD_IsAvailableWireless() ) { - u8 *pBuffer = SYSM_Alloc( LCFG_WRITE_TEMP ); - if( pBuffer ) { - LCFG_TSD_SetFlagAvailableWireless( FALSE ); - LCFG_WriteTWLSettings( (u8 (*)[ LCFG_WRITE_TEMP ])pBuffer ); - SYSM_Free( pBuffer ); - }else { - SYSM_SetFatalError( TRUE ); - } - } }else { enable = LCFG_TSD_IsAvailableWireless(); } SYSMi_SetWirelessLED( enable ); } -*/ +#endif //----------------------------------------------------- // 各種デバイス設定 //----------------------------------------------------- diff --git a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c index d3ff2fd1..df6558cb 100644 --- a/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c +++ b/build/systemMenu_RED/Launcher/ARM9/src/loadWlanFirm.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include @@ -51,6 +52,12 @@ #define FWHEADER_SIZE 0x100 + +/* + external functions + */ +extern void SYSMi_SetWirelessLED( BOOL enable ); + /* internal variables */ @@ -366,7 +373,7 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm ) // [TODO:] TWL無線ドライバRC版のためのWorkaround // その後のドライバは、Data segmentが廃止される。 // ドライバがバージョンアップされたら、この処理は削除する予定。 - fwType = ((NWMFirmDataSegment *)NWM_PARAM_FWDATA_ADDRESS)->fwType; + fwType = (u8)( ((NWMFirmDataSegment *)NWM_PARAM_FWDATA_ADDRESS)->fwType ); // Check integrity of WLAN data segment if (fwType == 1 && FALSE == NWMi_CheckFwDataIntegrity()) @@ -391,7 +398,7 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm ) #endif // HotStart - NWM_Init(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */ + NWMi_InitForLauncher(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */ err = NWMi_InstallFirmware(InstallFirmCallback, NULL, 0, FALSE); } else { // COLD START s32 flen = 0; @@ -474,7 +481,7 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm ) } // Start FW installation - NWM_Init(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */ + NWMi_InitForLauncher(pNwmBuf, NWM_SYSTEM_BUF_SIZE, 3); /* 3 -> DMA no. */ #if (MEASURE_WIRELESS_INITTIME == 1) startTick = OS_GetTick(); @@ -523,14 +530,23 @@ BOOL GetWlanFirmwareInstallResult(WLANFirmResult *pResult) return retval; } - // 無線ファームロード完了? BOOL PollingInstallWlanFirmware( void ) { if ( !s_isFinished ) { WLANFirmResult result; if( GetWlanFirmwareInstallResult( &result ) ) { - if( result != WLANFIRM_RESULT_SUCCESS ) { + if( result == WLANFIRM_RESULT_SUCCESS ) { + // ロード成功 + BOOL enable; + if( LCFG_THW_IsForceDisableWireless() ) { + enable = FALSE; + }else { + enable = LCFG_TSD_IsAvailableWireless(); + } + SYSMi_SetWirelessLED( enable ); + OS_TPrintf( "WLFIRM load finished.\n" ); + }else { // ロード失敗 if( !s_isHotStartWLFirm ) { // ColdStartの無線ファームロードなら、FATALエラー @@ -539,6 +555,7 @@ BOOL PollingInstallWlanFirmware( void ) }else { // そうでない場合は、ColdStartロードで再度実行。 (void)InstallWlanFirmware( FALSE ); + OS_TPrintf( "WLFIRM HotStart load failed... Start retry.\n" ); } } s_isFinished = TRUE; diff --git a/docs/繧ケ繧ア繧ク繝・繝シ繝ォ_TWLSystemMenu.mpp b/docs/繧ケ繧ア繧ク繝・繝シ繝ォ_TWLSystemMenu.mpp index 3e7d61c8..e6dce7aa 100644 Binary files a/docs/繧ケ繧ア繧ク繝・繝シ繝ォ_TWLSystemMenu.mpp and b/docs/繧ケ繧ア繧ク繝・繝シ繝ォ_TWLSystemMenu.mpp differ diff --git a/docs/繝輔か繝ォ繝繝繝ェ繝シ_NAND.vsd b/docs/繝輔か繝ォ繝繝繝ェ繝シ_NAND.vsd index d4bdb339..2605bd6a 100644 Binary files a/docs/繝輔か繝ォ繝繝繝ェ繝シ_NAND.vsd and b/docs/繝輔か繝ォ繝繝繝ェ繝シ_NAND.vsd differ