ASF docs  3.1.3
Some important library documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
nav_automatic.c File Reference
#include "conf_explorer.h"
#include "nav_automatic.h"
#include "file.h"
#include <LIB_CTRLACCESS>
#include <LIB_MEM>
+ Include dependency graph for nav_automatic.c:

Go to the source code of this file.

Macros

#define FS_NAV_AUTOMATIC_NBFILE   DISABLE
 The FS_NAV_AUTOMATIC_NBFILE define changes the rule to create a file list from directories When this define is enabled, the files from a directory are included before files from sub directories.

Typedefs

typedef
navauto_mov_explorer_rec_t(* 
navauto_mov_explorer_process_fct_t )(bool)

Enumerations

enum  navauto_mov_explorer_rec_t { NAVAUTO_MOV_EXPLORER_OK, NAVAUTO_MOV_EXPLORER_ERROR, NAVAUTO_MOV_EXPLORER_RECURSIVE }

Functions

static uint8_t navauto_mov_explorer_rec (bool b_direction, navauto_mov_options_t options)
 This function selects a file in EXPLORER mode.
static navauto_mov_explorer_rec_t navauto_mov_explorer_select_limit_dir_cur_folder (bool b_direction)
 This function selects the first or the last directory on the current folder and enters in it.
static navauto_mov_explorer_rec_t navauto_mov_explorer_select_limit_file_cur_folder (bool b_direction)
 This function selects the first or the last playable file on the current folder.
static navauto_mov_explorer_rec_t navauto_mov_explorer_updir (bool b_direction)
 This function moves back to the parent directory and selects this directory.
static navauto_mov_explorer_rec_t navauto_mov_explorer_limit (bool b_direction)
 This function sets the pointer to a limit.
void navauto_rand_init (void)
 This function resets the random bit table.
uint16_t navauto_rand_choose (void)
 This function returns a random position not already used.
void navauto_mov_explorer_reset (void)
 This function goes to the beginning of file list.
Navauto_mov_state navauto_mov_explorer (bool b_direction, navauto_mov_options_t options)
 This function jumps to the next or previous file in file list included in directories.
Navauto_mov_state navauto_mov_playlist (bool b_direction)
 This function jumps to the next or previous file in file list corresponding at a play list file.
Navauto_mode navauto_getmode (void)
 This function returns the directory limitation of the file list.
bool navauto_setmode (Navauto_mode exp_mode)
 This function sets the directory limitation of the file list.
Navauto_rand navauto_getrand (void)
 This function returns the random state used.
void navauto_setrand (Navauto_rand rand)
 This function changes the random state.
void navauto_init (const FS_STRING sz_filterext)
 This function initializes the file extension filter used to create the file list.
bool navauto_open (bool b_playlist, uint16_t pos)
 This function opens a file list at the current position in navigator.
uint16_t navauto_close (void)
 This function closes the file list.
uint16_t navauto_getnb (void)
 This function returns the file list size.
uint16_t navauto_getpos (void)
 This function returns the current position in the file list.
bool navauto_setpos (uint16_t u16_pos)
 This function selects a new position in fiel list.
Navauto_mov_state navauto_mov (bool b_direction, navauto_mov_options_t options)
 This function jumps to the next or previous file in file list.
static __inline__ uint8_t navauto_mov_ok_loop (bool b_direction, navauto_mov_options_t options)
static __inline__ uint8_t navauto_mov_explorer_new_dir (bool b_direction, navauto_mov_options_t options)
static __inline__ uint8_t navauto_mov_explorer_is_dir (bool b_direction, navauto_mov_options_t options)
static __inline__ uint8_t navauto_mov_explorer_is_file (bool b_direction, navauto_mov_options_t options)

Variables

bool g_navauto_b_playlist
 If true, then the file list contains files from play list file, else the file list contains files included in directories.
_MEM_TYPE_SLOW_ Navauto_mode g_navauto_exp_mode = NAVAUTO_MODE_DISKS
 Define the directory limitation of the file list (ignored if g_navauto_b_playlist = true )
_MEM_TYPE_SLOW_ Navauto_rand g_navauto_rand = NAVAUTO_RAND_OFF
 Flag the random state.
_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_nb = 0
 Number of file included in file list (correct only if define FS_NAV_AUTOMATIC_NBFILE enabled)
_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_pos
 Position of selected file in fiel list.
_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_dir_level
 Directory level of selected file (if play list file used then always 0)
_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_dir_level_root
_MEM_TYPE_SLOW_ FS_STRING g_navauto_filter
 File extension filter used to create the file list (ignored if g_navauto_b_playlist = true )
_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_rand_pos
 Offset of bit table "g_navauto_rand_tab" in file list.
_MEM_TYPE_SLOW_ uint8_t g_navauto_rand_tab [NAVAUTO_MAX_RANGE_RAND]
 Bit table used to random the file list.
static const
navauto_mov_explorer_process_fct_t 
new_dir_process_fct []
 This table describes what the action list to process one a new folder is accessed.
static const
navauto_mov_explorer_process_fct_t 
is_dir_process_fct [2]
 This table describes what to do once the navigator reaches a limit while browsing directories.
static const
navauto_mov_explorer_process_fct_t 
is_file_process_fct [2]
 This table describes what to do once the navigator reaches a limit while browsing files.
static const
navauto_mov_explorer_process_fct_t 
limit_process_fct [2]
 This table describes what to do once the navigator reaches the limit of the "playlist".
static Navauto_mov_bitfield_status bitfield_status

Macro Definition Documentation

#define FS_NAV_AUTOMATIC_NBFILE   DISABLE

Definition at line 77 of file nav_automatic.c.


Typedef Documentation

typedef navauto_mov_explorer_rec_t(* navauto_mov_explorer_process_fct_t)(bool)

Definition at line 96 of file nav_automatic.c.


Enumeration Type Documentation

Enumerator:
NAVAUTO_MOV_EXPLORER_OK 
NAVAUTO_MOV_EXPLORER_ERROR 
NAVAUTO_MOV_EXPLORER_RECURSIVE 

Definition at line 82 of file nav_automatic.c.


Function Documentation

uint16_t navauto_close ( void  )
Returns:
If a play list file is open then it is the last position in the file list else it is the directory level corresponding at the last selected file
//! At the end of this routine, the selected file of current navigator is :
//! - the play list file (in case of a play list file has been opened)
//! - the last selected file (in other case)
//! 

Definition at line 520 of file nav_automatic.c.

Navauto_mode navauto_getmode ( void  )
Returns:
Used navigation mode (NAVAUTO_MODE_DISKS, NAVAUTO_MODE_DIRONLY, NAVAUTO_MODE_DIRSUB)
//! This parameter is ignored then a play list file is selected
//! 

Definition at line 171 of file nav_automatic.c.

uint16_t navauto_getnb ( void  )

Definition at line 533 of file nav_automatic.c.

uint16_t navauto_getpos ( void  )

Definition at line 540 of file nav_automatic.c.

Navauto_rand navauto_getrand ( void  )
Returns:
random used

Definition at line 204 of file nav_automatic.c.

void navauto_init ( const FS_STRING  sz_filterext)
Parameters:
sz_filterextfile extension filter
//! This parameter is ignored then a play list file is selected
//! 

Definition at line 302 of file nav_automatic.c.

Navauto_mov_state navauto_mov ( bool  b_direction,
navauto_mov_options_t  options 
)
Parameters:
b_directionjump direction (FS_FIND_NEXT or FS_FIND_PREV)
optionsjump direction (FS_FIND_NEXT or FS_FIND_PREV)
Returns:
the status of the action
//! When the random is ON, the direction is ignored
//! 

Definition at line 584 of file nav_automatic.c.

Navauto_mov_state navauto_mov_explorer ( bool  b_direction,
navauto_mov_options_t  options 
)
Parameters:
b_directionjump direction (FS_FIND_NEXT or FS_FIND_PREV)
optionsdefine extra modes for this function
Returns:
the status of the action
//! This routine is not authorized then a play list file is opened
//! When the random is ON, the direction is ignored
//! 

Definition at line 894 of file nav_automatic.c.

static __inline__ uint8_t navauto_mov_explorer_is_dir ( bool  b_direction,
navauto_mov_options_t  options 
)
static

Definition at line 765 of file nav_automatic.c.

static __inline__ uint8_t navauto_mov_explorer_is_file ( bool  b_direction,
navauto_mov_options_t  options 
)
static

Definition at line 805 of file nav_automatic.c.

static navauto_mov_explorer_rec_t navauto_mov_explorer_limit ( bool  b_direction)
static
Parameters:
b_directiondirection of navigation (FS_FIND_NEXT or FS_FIND_PREV)
Returns:
true if a file is selected false otherwize

Definition at line 602 of file nav_automatic.c.

static __inline__ uint8_t navauto_mov_explorer_new_dir ( bool  b_direction,
navauto_mov_options_t  options 
)
static

Definition at line 736 of file nav_automatic.c.

static uint8_t navauto_mov_explorer_rec ( bool  b_direction,
navauto_mov_options_t  options 
)
static
Parameters:
b_directiondirection of navigation (FS_FIND_NEXT or FS_FIND_PREV)
optionsdefine extra modes for this function
Returns:
the status of the action

Definition at line 869 of file nav_automatic.c.

void navauto_mov_explorer_reset ( void  )
//! This routine is not authorized then a play list file is opened
//! 

Definition at line 477 of file nav_automatic.c.

static navauto_mov_explorer_rec_t navauto_mov_explorer_select_limit_dir_cur_folder ( bool  b_direction)
static
Parameters:
b_directiondirection of navigation (FS_FIND_NEXT or FS_FIND_PREV)
Returns:
The state of the function

Definition at line 644 of file nav_automatic.c.

static navauto_mov_explorer_rec_t navauto_mov_explorer_select_limit_file_cur_folder ( bool  b_direction)
static
Parameters:
b_directiondirection of navigation (FS_FIND_NEXT or FS_FIND_PREV)
Returns:
true if a file is selected false otherwize

Definition at line 620 of file nav_automatic.c.

static navauto_mov_explorer_rec_t navauto_mov_explorer_updir ( bool  b_direction)
static
Parameters:
b_directiondirection of navigation (FS_FIND_NEXT or FS_FIND_PREV)
Returns:
The state of the function

Definition at line 666 of file nav_automatic.c.

static __inline__ uint8_t navauto_mov_ok_loop ( bool  b_direction,
navauto_mov_options_t  options 
)
static

Definition at line 692 of file nav_automatic.c.

Navauto_mov_state navauto_mov_playlist ( bool  b_direction)
Parameters:
b_directionjump direction (FS_FIND_NEXT or FS_FIND_PREV)
Returns:
The status of the action
//! This routine is not authorized then a play list file is not opened
//! 

Definition at line 1014 of file nav_automatic.c.

bool navauto_open ( bool  b_playlist,
uint16_t  pos 
)
Parameters:
b_playlistif true then the current selected file is a play list file to open else create a file list with files included in a disk part
posIf b_playlist true, then position in the play list to start else folder level of the current position
Returns:
false, in case of error or file list empty

Definition at line 319 of file nav_automatic.c.

uint16_t navauto_rand_choose ( void  )

Definition at line 240 of file nav_automatic.c.

void navauto_rand_init ( void  )

Definition at line 230 of file nav_automatic.c.

bool navauto_setmode ( Navauto_mode  exp_mode)
Parameters:
exp_modemode to select (NAVAUTO_MODE_DISKS, NAVAUTO_MODE_DIRONLY, NAVAUTO_MODE_DIRSUB)
Returns:
true, mode changed
false, mode can't be changed (note: the selected file must be close)
//! This parameter is ignored then a play list file is selected
//! When the mode change, the folder level is reseted at the current position.
//! 

Definition at line 189 of file nav_automatic.c.

bool navauto_setpos ( uint16_t  u16_pos)
Parameters:
u16_posnew position to select
Returns:
false in case of error

Definition at line 552 of file nav_automatic.c.

void navauto_setrand ( Navauto_rand  rand)
Parameters:
randrandom mode to use

Definition at line 214 of file nav_automatic.c.


Variable Documentation

Navauto_mov_bitfield_status bitfield_status
static

Definition at line 154 of file nav_automatic.c.

bool g_navauto_b_playlist

Definition at line 63 of file nav_automatic.c.

_MEM_TYPE_SLOW_ Navauto_mode g_navauto_exp_mode = NAVAUTO_MODE_DISKS

Definition at line 64 of file nav_automatic.c.

_MEM_TYPE_SLOW_ FS_STRING g_navauto_filter

Definition at line 70 of file nav_automatic.c.

_MEM_TYPE_SLOW_ Navauto_rand g_navauto_rand = NAVAUTO_RAND_OFF

Definition at line 65 of file nav_automatic.c.

_MEM_TYPE_SLOW_ uint8_t g_navauto_rand_tab[NAVAUTO_MAX_RANGE_RAND]

This one flag each files already selected

Definition at line 72 of file nav_automatic.c.

_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_dir_level

Definition at line 68 of file nav_automatic.c.

_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_dir_level_root

Definition at line 69 of file nav_automatic.c.

_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_nb = 0

Definition at line 66 of file nav_automatic.c.

_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_pos

Definition at line 67 of file nav_automatic.c.

_MEM_TYPE_SLOW_ uint16_t g_navauto_u16_rand_pos

Definition at line 71 of file nav_automatic.c.

const navauto_mov_explorer_process_fct_t is_dir_process_fct[2]
static
Initial value:


  • is_dir_process_fct[0] is the function called on a previous command.
  • is_dir_process_fct[1] is the function called on a next command.

Definition at line 120 of file nav_automatic.c.

const navauto_mov_explorer_process_fct_t is_file_process_fct[2]
static
Initial value:


  • is_file_process_fct[0] is the function called on a previous command.
  • is_file_process_fct[1] is the function called on a next command.

Definition at line 135 of file nav_automatic.c.

const navauto_mov_explorer_process_fct_t limit_process_fct[2]
static
Initial value:
  • is_file_process_fct[0] is the function called on a previous command.
  • is_file_process_fct[1] is the function called on a next command.

Definition at line 149 of file nav_automatic.c.

const navauto_mov_explorer_process_fct_t new_dir_process_fct[]
static
Initial value:


  • is_dir_process_fct[0] = first action
  • is_dir_process_fct[1] = second action
  • ...

Definition at line 105 of file nav_automatic.c.