Exemple #1
0
/************************************************************************
* NAME: fapp_init
*
* DESCRIPTION: FNET Application initialization.
************************************************************************/
void fapp_init(void)
{
    static fnet_uint8_t         stack_heap[FNET_CFG_HEAP_SIZE];
    struct fnet_init_params     init_params;
    struct fnet_shell_params    shell_params;

    /* Input parameters for FNET stack initialization */
    init_params.netheap_ptr = stack_heap;
    init_params.netheap_size = FNET_CFG_HEAP_SIZE;

    
    /* Add event handler on duplicated IP address */
#if FNET_CFG_IP4    
    fnet_netif_dupip_handler_init (fapp_dup_ip_handler);
#endif    
            
    /* Init FNET stack */
    if(fnet_init(&init_params) != FNET_ERR)
    {
    #if FAPP_CFG_PARAMS_READ_FLASH
        /* During bootup, the most recently stored customer configuration data will be read and used to configure the interfaces.*/
        if(fapp_params_from_flash() == FNET_OK)
        {
            fnet_printf(FAPP_PARAMS_LOAD_STR);
        }
    #endif

        if(fnet_netif_get_default() == FNET_NULL)
        {
            fnet_printf(FAPP_NET_ERR);
        }
            
    #if (FAPP_CFG_EXP_CMD && FNET_CFG_FS) || (FAPP_CFG_HTTP_CMD && FNET_CFG_HTTP)   
        fapp_fs_mount(); /* Init FS and mount FS Image. */
    #endif   
            
        /* Init main shell. */
        shell_params.shell = &fapp_shell;
        shell_params.cmd_line_buffer = fapp_cmd_line_buffer;
        shell_params.cmd_line_buffer_size = sizeof(fapp_cmd_line_buffer);
        shell_params.stream = FNET_SERIAL_STREAM_DEFAULT;
        shell_params.echo = FNET_TRUE;
            
        if((fapp_shell_desc = fnet_shell_init(&shell_params)) != FNET_ERR)
        {
            fapp_boot(fapp_shell_desc);
        }
        else
        {
            fnet_printf(FAPP_INIT_ERR, "Shell");
        }
    }
    else
    {
        fnet_printf(FAPP_INIT_ERR, "FNET");
    }

}
/************************************************************************
* NAME: fnet_netif_release_all
*
* DESCRIPTION: Releases all installed interfaces.
*************************************************************************/
void fnet_netif_release_all( void )
{
    fnet_netif_t *net_if_ptr;
    
    fnet_netif_dupip_handler_init(0); /* Reset dupip handler.*/
    
    for (net_if_ptr = fnet_netif_list; net_if_ptr; net_if_ptr = net_if_ptr->next)
    {
        fnet_netif_release(net_if_ptr);
    }

    fnet_netif_list = fnet_netif_default = 0;
}