socket_zep: register with netdev
This commit is contained in:
parent
ac9cd80aa7
commit
d8918c24fa
@ -98,8 +98,10 @@ typedef struct {
|
|||||||
*
|
*
|
||||||
* @param[in] dev the preallocated socket_zep_t device handle to setup
|
* @param[in] dev the preallocated socket_zep_t device handle to setup
|
||||||
* @param[in] params initialization parameters
|
* @param[in] params initialization parameters
|
||||||
|
* @param[in] index index of @p params in a global parameter struct array.
|
||||||
|
* If initialized manually, pass a unique identifier instead.
|
||||||
*/
|
*/
|
||||||
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params);
|
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params, uint8_t index);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Cleanup socket resources
|
* @brief Cleanup socket resources
|
||||||
|
|||||||
@ -408,7 +408,7 @@ static void _send_zep_hello(socket_zep_t *dev)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params)
|
void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params, uint8_t index)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
@ -418,6 +418,8 @@ void socket_zep_setup(socket_zep_t *dev, const socket_zep_params_t *params)
|
|||||||
memset(dev, 0, sizeof(socket_zep_t));
|
memset(dev, 0, sizeof(socket_zep_t));
|
||||||
dev->netdev.netdev.driver = &socket_zep_driver;
|
dev->netdev.netdev.driver = &socket_zep_driver;
|
||||||
|
|
||||||
|
netdev_register(&dev->netdev.netdev, NETDEV_SOCKET_ZEP, index);
|
||||||
|
|
||||||
res = _bind_local(params);
|
res = _bind_local(params);
|
||||||
|
|
||||||
if (res < 0) {
|
if (res < 0) {
|
||||||
|
|||||||
@ -317,6 +317,7 @@ typedef enum {
|
|||||||
NETDEV_SAM0_ETH,
|
NETDEV_SAM0_ETH,
|
||||||
NETDEV_ESP_NOW,
|
NETDEV_ESP_NOW,
|
||||||
NETDEV_NRF24L01P_NG,
|
NETDEV_NRF24L01P_NG,
|
||||||
|
NETDEV_SOCKET_ZEP,
|
||||||
/* add more if needed */
|
/* add more if needed */
|
||||||
} netdev_type_t;
|
} netdev_type_t;
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|||||||
@ -227,7 +227,7 @@ void lwip_bootstrap(void)
|
|||||||
}
|
}
|
||||||
#elif defined(MODULE_SOCKET_ZEP)
|
#elif defined(MODULE_SOCKET_ZEP)
|
||||||
for (unsigned i = 0; i < LWIP_NETIF_NUMOF; i++) {
|
for (unsigned i = 0; i < LWIP_NETIF_NUMOF; i++) {
|
||||||
socket_zep_setup(&socket_zep_devs[i], &socket_zep_params[i]);
|
socket_zep_setup(&socket_zep_devs[i], &socket_zep_params[i], i);
|
||||||
if (netif_add(&netif[i], &socket_zep_devs[i], lwip_netdev_init,
|
if (netif_add(&netif[i], &socket_zep_devs[i], lwip_netdev_init,
|
||||||
tcpip_6lowpan_input) == NULL) {
|
tcpip_6lowpan_input) == NULL) {
|
||||||
DEBUG("Could not add socket_zep device\n");
|
DEBUG("Could not add socket_zep device\n");
|
||||||
|
|||||||
@ -46,7 +46,7 @@ void auto_init_socket_zep(void)
|
|||||||
for (int i = 0; i < SOCKET_ZEP_MAX; i++) {
|
for (int i = 0; i < SOCKET_ZEP_MAX; i++) {
|
||||||
LOG_DEBUG("[auto_init_netif: initializing socket ZEP device #%u\n", i);
|
LOG_DEBUG("[auto_init_netif: initializing socket ZEP device #%u\n", i);
|
||||||
/* setup netdev device */
|
/* setup netdev device */
|
||||||
socket_zep_setup(&_socket_zeps[i], &socket_zep_params[i]);
|
socket_zep_setup(&_socket_zeps[i], &socket_zep_params[i], i);
|
||||||
gnrc_netif_ieee802154_create(&_netif[i], _socket_zep_stacks[i],
|
gnrc_netif_ieee802154_create(&_netif[i], _socket_zep_stacks[i],
|
||||||
SOCKET_ZEP_MAC_STACKSIZE,
|
SOCKET_ZEP_MAC_STACKSIZE,
|
||||||
SOCKET_ZEP_MAC_PRIO, "socket_zep",
|
SOCKET_ZEP_MAC_PRIO, "socket_zep",
|
||||||
|
|||||||
@ -52,7 +52,7 @@ static void test_init(void)
|
|||||||
|
|
||||||
printf("Initializing socket ZEP with (local: [%s]:%s, remote: [%s]:%s)\n",
|
printf("Initializing socket ZEP with (local: [%s]:%s, remote: [%s]:%s)\n",
|
||||||
p->local_addr, p->local_port, p->remote_addr, p->remote_port);
|
p->local_addr, p->local_port, p->remote_addr, p->remote_port);
|
||||||
socket_zep_setup(&_dev, p);
|
socket_zep_setup(&_dev, p, 0);
|
||||||
netdev->event_callback = _event_cb;
|
netdev->event_callback = _event_cb;
|
||||||
expect(netdev->driver->init(netdev) >= 0);
|
expect(netdev->driver->init(netdev) >= 0);
|
||||||
_print_info(netdev);
|
_print_info(netdev);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user