無線LED処理の追加。

ドキュメント更新。

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@1108 b08762b0-b915-fc4b-9d8c-17b2551a87ff
This commit is contained in:
yosiokat 2008-04-11 05:54:20 +00:00
parent ce1e0cbda0
commit 34231893d3
4 changed files with 25 additions and 18 deletions

View File

@ -179,27 +179,17 @@ TitleProperty *SYSM_ReadParameters( void )
//----------------------------------------------------- //-----------------------------------------------------
// 無線ON/OFFフラグをもとに、LEDを設定する。 // 無線ON/OFFフラグをもとに、LEDを設定する。
//----------------------------------------------------- //-----------------------------------------------------
/* { #if 0
{
BOOL enable; BOOL enable;
if( LCFG_THW_IsForceDisableWireless() ) { if( LCFG_THW_IsForceDisableWireless() ) {
enable = FALSE; 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 { }else {
enable = LCFG_TSD_IsAvailableWireless(); enable = LCFG_TSD_IsAvailableWireless();
} }
SYSMi_SetWirelessLED( enable ); SYSMi_SetWirelessLED( enable );
} }
*/ #endif
//----------------------------------------------------- //-----------------------------------------------------
// 各種デバイス設定 // 各種デバイス設定
//----------------------------------------------------- //-----------------------------------------------------

View File

@ -18,6 +18,7 @@
#include <twl/nam.h> #include <twl/nam.h>
#include <twl/os/common/format_rom.h> #include <twl/os/common/format_rom.h>
#include <twl/lcfg.h> #include <twl/lcfg.h>
#include <twl/nwm/ARM9/ForLauncher/nwm_init_for_launcher.h>
#include <firm.h> #include <firm.h>
#include <sysmenu.h> #include <sysmenu.h>
@ -51,6 +52,12 @@
#define FWHEADER_SIZE 0x100 #define FWHEADER_SIZE 0x100
/*
external functions
*/
extern void SYSMi_SetWirelessLED( BOOL enable );
/* /*
internal variables internal variables
*/ */
@ -366,7 +373,7 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm )
// [TODO:] TWL無線ドライバRC版のためのWorkaround // [TODO:] TWL無線ドライバRC版のためのWorkaround
// その後のドライバは、Data segmentが廃止される。 // その後のドライバは、Data segmentが廃止される。
// ドライバがバージョンアップされたら、この処理は削除する予定。 // ドライバがバージョンアップされたら、この処理は削除する予定。
fwType = ((NWMFirmDataSegment *)NWM_PARAM_FWDATA_ADDRESS)->fwType; fwType = (u8)( ((NWMFirmDataSegment *)NWM_PARAM_FWDATA_ADDRESS)->fwType );
// Check integrity of WLAN data segment // Check integrity of WLAN data segment
if (fwType == 1 && FALSE == NWMi_CheckFwDataIntegrity()) if (fwType == 1 && FALSE == NWMi_CheckFwDataIntegrity())
@ -391,7 +398,7 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm )
#endif #endif
// HotStart // 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); err = NWMi_InstallFirmware(InstallFirmCallback, NULL, 0, FALSE);
} else { // COLD START } else { // COLD START
s32 flen = 0; s32 flen = 0;
@ -474,7 +481,7 @@ BOOL InstallWlanFirmware( BOOL isHotStartWLFirm )
} }
// Start FW installation // 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) #if (MEASURE_WIRELESS_INITTIME == 1)
startTick = OS_GetTick(); startTick = OS_GetTick();
@ -523,14 +530,23 @@ BOOL GetWlanFirmwareInstallResult(WLANFirmResult *pResult)
return retval; return retval;
} }
// 無線ファームロード完了? // 無線ファームロード完了?
BOOL PollingInstallWlanFirmware( void ) BOOL PollingInstallWlanFirmware( void )
{ {
if ( !s_isFinished ) { if ( !s_isFinished ) {
WLANFirmResult result; WLANFirmResult result;
if( GetWlanFirmwareInstallResult( &result ) ) { if( GetWlanFirmwareInstallResult( &result ) ) {
if( result != WLANFIRM_RESULT_SUCCESS ) { if( result == WLANFIRM_RESULT_SUCCESS ) {
// ƒ<><C692>[ƒh<C692>¬Œ÷
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 ) { if( !s_isHotStartWLFirm ) {
// ColdStartの無線ファームロードなら、FATALエラー // ColdStartの無線ファームロードなら、FATALエラー
@ -539,6 +555,7 @@ BOOL PollingInstallWlanFirmware( void )
}else { }else {
// そうでない場合は、ColdStartロードで再度実行。 // そうでない場合は、ColdStartロードで再度実行。
(void)InstallWlanFirmware( FALSE ); (void)InstallWlanFirmware( FALSE );
OS_TPrintf( "WLFIRM HotStart load failed... Start retry.\n" );
} }
} }
s_isFinished = TRUE; s_isFinished = TRUE;

Binary file not shown.