SYS_diskDb.c File Reference


Detailed Description

This module provides system disk/DB startup/shutdown support.

REVISION

Definition in file SYS_diskDb.c.

#include "sys_hardware.h"
#include "sys_main.h"
#include "sys_led.h"
#include "sys_clock.h"
#include "rtc_inc.h"
#include "../DB/db.h"
#include "../MESSAGE/message.h"
#include "../GENERIC/eeprom.h"
#include "sys_assert.h"
#include "sys_param.h"
#include "../UI/ui.h"
#include "../USB/usb.h"
#include "../AUDIO/audio.h"
#include "../UI/m3u.h"
#include "../PROFILER/profiler.h"
#include "../encoder/encoder.h"

Include dependency graph for SYS_diskDb.c:

Include dependency graph

Go to the source code of this file.

Functions

void SYS_createDiskDbTask (DDT_HDL ddtHdl)
 Function sends out system message to create a disk DB task.
void SYS_diskDbInit (void)
 Function initializes diskDB module at power up.
void SYS__createDiskDbTask (DDT_HDL hdl)
 Function creates various disk DB tasks.
BOOL SYS_deleteDiskDbTask (USHORT tick)
 Function deletes the initialization task.


Function Documentation

void SYS__createDiskDbTask DDT_HDL  hdl  ) 
 

Function creates various disk DB tasks.

Parameters:
hdl Disk DB task handle ID.

Definition at line 156 of file SYS_diskDb.c.

References SYS_assert(), SYS_initStack(), and SYS_setBusy().

Referenced by SYS_SF_idle().

00157 {
00158     TSK_Attrs   tskAttr = TSK_ATTRS;
00159     Fxn         fxn;
00160     
00161     DISKDB_lock(SYS_FOREVER);
00162     SYS_setBusy();
00163     
00164     tskAttr.priority    = 2;
00165     tskAttr.stack       = &STK_diskdb[0];
00166     DROM_SWITCH(ENV_idata);
00167     SYS_initStack(STK_diskdb, STK_DISKDB);
00168     tskAttr.stacksize   = STK_DISKDB;
00169     tskAttr.environ     = &ENV_idata;
00170     switch(hdl)
00171     {
00172         case DDT_STARTUP:           fxn = (Fxn)SYS_startupTask;         break;
00173         case DDT_SHUTDOWN:          fxn = (Fxn)SYS_shutdownTask;        break;
00174         case DDT_SAVENAND:          fxn = (Fxn)SYS_saveNandTask;        break;
00175         case DDT_RESTORENAND:       fxn = (Fxn)SYS_restoreNandTask;     break;
00176         case DDT_SYNCDB:            fxn = (Fxn)SYS_syncDbTask;          break;
00177         case DDT_2SYNC:             fxn = (Fxn)SYS_2syncTask;           break;
00178         case DDT_AFTERSYNC:         fxn = (Fxn)SYS_afterSyncTask;       break;
00179         case DDT_DIAG_FORMATNAND:   fxn = (Fxn)SYS_diagFormatNandTask;  break;
00180         case DDT_DIAG_REVIVENAND:   fxn = (Fxn)SYS_diagReviveNandTask;  break;
00181         case DDT_DIAG_FORMATHDD:    fxn = (Fxn)SYS_diagFormatHddTask;   break;
00182         #ifdef SP_SUPPORT
00183         case DDT_PROFILER:          fxn = (Fxn)PROFILER_main;           break;
00184         #endif
00185     }
00186     
00187     TSK_diskdb      = TSK_create(fxn, &tskAttr);
00188     SYS_assert((UINT)TSK_diskdb, SYS_CREATEDISKDBTASK);
00189     
00190     DROM_SWITCH(ENV_idata);
00191 }

Here is the call graph for this function:

void SYS_createDiskDbTask DDT_HDL  ddtHdl  ) 
 

Function sends out system message to create a disk DB task.

Parameters:
ddtHdl Disk DB task handle ID.

Definition at line 127 of file SYS_diskDb.c.

References SCREATETASK, and SSTATE_END.

Referenced by UI_MSF_bkpkSwap(), UI_MSF_diag_hdd(), UI_MSF_diag_nand(), UI_PSF_autosync(), UI_PSF_null(), UI_SF_menu(), and UI_SF_powerup().

00128 {   
00129     // Shut down playback.
00130     if(SYS_isPlayActive())
00131     {
00132         AUDIO_queryIdle();
00133         mMSG_send(uiParentMsgQ, SYS_MSG_ID, SSTATE_END, DONTCARE, SYS_FOREVER);
00134         AUDIO_waitIdle(SYS_FOREVER);
00135     }
00136     mMSG_send(sysMsgQ, SYS_MSG_ID, SCREATETASK, ddtHdl, SYS_FOREVER);
00137 }

BOOL SYS_deleteDiskDbTask USHORT  tick  ) 
 

Function deletes the initialization task.

Parameters:
tick Tick to wait.
Returns:
TRUE if disk/DB is ready and task is deleted, otherwise FALSE.

Definition at line 203 of file SYS_diskDb.c.

Referenced by UI_MSF_bkpkSwap(), UI_MSF_diag_hdd(), UI_MSF_diag_nand(), UI_MSF_hisi(), UI_MSF_main(), UI_parent(), UI_PSF_null(), UI_PSF_radio(), UI_SF_menu(), and UI_SF_powerup().

00204 {
00205     if(FALSE == DISKDB_lock(tick)) return FALSE;
00206     DISKDB_unlock();
00207     if(TSK_diskdb)
00208     {
00209         TSK_delete(TSK_diskdb);
00210         TSK_diskdb = NULL;
00211     }   
00212     return TRUE;
00213 }


Generated on Wed Jan 19 01:13:17 2005 for neuros-firmware by  doxygen 1.3.9.1