無線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を設定する。
//-----------------------------------------------------
/* {
#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
//-----------------------------------------------------
// 各種デバイス設定
//-----------------------------------------------------

View File

@ -18,6 +18,7 @@
#include <twl/nam.h>
#include <twl/os/common/format_rom.h>
#include <twl/lcfg.h>
#include <twl/nwm/ARM9/ForLauncher/nwm_init_for_launcher.h>
#include <firm.h>
#include <sysmenu.h>
@ -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 ) {
// ƒ<><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 ) {
// 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;

Binary file not shown.