int  CreateMediaRender(char * buf)
{
    void *msg;
    tls_os_status_t status;
    u8 uuid[17] = {0};
    u8 *mac = wpa_supplicant_get_mac();
    sprintf((char *)uuid, "%02x%02x%02x%02x%02x%02x-dmr",
            mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
    tls_dmr_init((char *)uuid, (char *)uuid);

    tls_gpio_cfg(SPI_CLK, TLS_GPIO_DIR_OUTPUT, TLS_GPIO_ATTR_FLOATING);
    tls_gpio_cfg(SPI_DATO, TLS_GPIO_DIR_OUTPUT, TLS_GPIO_ATTR_FLOATING);
    tls_gpio_cfg(SPI_CCS, TLS_GPIO_DIR_OUTPUT, TLS_GPIO_ATTR_PULLHIGH);
    tls_gpio_cfg(DAT_REQ, TLS_GPIO_DIR_INPUT, TLS_GPIO_ATTR_FLOATING);
    tls_gpio_cfg(LED, TLS_GPIO_DIR_OUTPUT, TLS_GPIO_ATTR_PULLHIGH);
    tls_gpio_cfg(RST, TLS_GPIO_DIR_OUTPUT, TLS_GPIO_ATTR_PULLHIGH);

//	tls_gpio_cfg(RUN_MODE, TLS_GPIO_DIR_INPUT, TLS_GPIO_ATTR_FLOATING);

    SPI_CS(1);
    LED_ON(0);

    msg = tls_mem_alloc(64 * sizeof(void *));
    if (!msg)
        return -1;
    status = tls_os_queue_create(&sd_down_mbox, msg, 64, 0);
    if (status != TLS_OS_SUCCESS) {
        tls_mem_free(msg);
        return -1;
    }

    tls_os_task_create(NULL, NULL,
                       sd_down_thread,
                       NULL,
                       (void *)sd_down_task_stk,
                       UPNP_SD_STK_SIZE * sizeof(u32),
                       DEMO_DMR_TASK_PRIO,//DEMO_DMR_TASK_PRIO,
                       0);

    tls_dmr_set_play_callback(httpdownloadmusic);
    tls_dmr_set_stop_callback(httpstopdownloadmusic);
    tls_dmr_set_seek_callback(httpstopdownloadmusic);
    tls_dmr_set_pause_callback(httpstopdownloadmusic);
    tls_dmr_set_play_progress_callback(get_grogress);

    tls_dmr_set_mute_callback(mute_callback);
    tls_dmr_set_volume_callback(volume_callback);
    tls_dmr_set_volumedb_callback(volumedb_callback);
    tls_dmr_set_loudness_callback(loudness_callback);
    return 0;
}
Esempio n. 2
0
/**
 * \brief In this function, the hardware should be initialized.
 * Called from ethernetif_init().
 *
 * \param netif the already initialized lwip network interface structure
 *        for this ethernetif
 */
static void low_level_init(struct netif *netif)
{
    u8* mac_addr = wpa_supplicant_get_mac();
    /* Set MAC hardware address length */
    netif->hwaddr_len = ETH_ALEN;
    /* Set MAC hardware address */
    MEMCPY(&netif->hwaddr[0], mac_addr, 6);
    /* Maximum transfer unit */
    netif->mtu = NET_MTU;

    /* device capabilities */
    /* don't set NETIF_FLAG_ETHARP if this device is not an ethernet one */
    netif->flags |= NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP |
        NETIF_FLAG_IGMP  
#if defined(DHCP_USED)
        | NETIF_FLAG_DHCP
#endif
        ;

}