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; }
/** * \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 ; }