Esempio n. 1
0
/*! safe_mod_init
 * @param function The function instance
 */
int safe_mod_init (void)
{
        struct usbd_class_ethernet_networking_descriptor *ethernet;
        struct usbd_class_network_channel_descriptor *channel;

        int len = 0;
        char buf[255];

        buf[0] = 0;

#if 0
        // Update the iMACAddress field in the ethernet descriptor
        {
                char address_str[14];
                snprintf(address_str, 13, "%02x%02x%02x%02x%02x%02x",
                                remote_dev_addr[0], remote_dev_addr[1], remote_dev_addr[2], 
                                remote_dev_addr[3], remote_dev_addr[4], remote_dev_addr[5]);
                if ((ethernet = &safe_class_4)) {
                        if (ethernet->iMACAddress) {
                                usbd_free_string_descriptor(ethernet->iMACAddress);
                        }
                        ethernet->iMACAddress = usbd_alloc_string(function_instance, address_str);
                }
        }
#endif

#ifdef CONFIG_OTG_NETWORK_SAFE_PADBEFORE
        safe_class_3.bmDataCapabilities |= BMDATA_PADBEFORE;
        len += sprintf(buf + len, "PADBEFORE: %02x ", safe_class_3.bmDataCapabilities);
#endif
#ifdef CONFIG_OTG_NETWORK_SAFE_CRC
        safe_class_3.bmDataCapabilities |= BMDATA_CRC;
        len += sprintf(buf + len, "CRC: %02x ", safe_class_3.bmDataCapabilities);
#endif
#ifndef CONFIG_OTG_NETWORK_SAFE_BRIDGED
        safe_class_3.bmNetworkCapabilities |= BMNETWORK_NONBRIDGED;
        len += sprintf(buf + len, "NONBRIDGE: %02x ", safe_class_3.bmNetworkCapabilities);
#endif
        if (strlen(buf))
                TRACE_MSG1(NTT,"%s", buf);

        return usbd_register_interface_function (&safe_interface_driver, "net-safe-if", NULL);
}
Esempio n. 2
0
/*! emc_mod_init
 * @brief initialize ecm interface module
 * @return int
 */
int ecm_mod_init (void)
{
        return usbd_register_interface_function (&ecm_interface_driver, "cdc-ecm-if", NULL);
}