/* * Copyright (C) 2022 HAW Hamburg * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level * directory for more details. */ /** * @ingroup tests * @{ * * @file * @brief Test application for ethernet-over-serial driver * * @author Leandro Lanzieri * * @} */ #include #include "shell.h" #include "test_utils/netdev_eth_minimal.h" #include "init_dev.h" #include "assert.h" #include "ethos.h" #include "ethos_params.h" static ethos_t ethos[ETHOS_NUM]; static uint8_t inbuf[ETHOS_NUM][2048]; int netdev_eth_minimal_init_devs(netdev_event_cb_t cb) { for (unsigned i = 0; i < ETHOS_NUM; i++) { netdev_t *device = ðos[i].netdev; /* setup the specific driver */ ethos_setup(ðos[i], ðos_params[i], i, inbuf[i], sizeof(inbuf[i])); /* set the application-provided callback */ device->event_callback = cb; /* initialize the device driver */ int res = device->driver->init(device); assert(!res); } return 0; } int main(void) { puts("Test application for ETHOS driver"); int res = netdev_eth_minimal_init(); if (res) { puts("Error initializing devices"); return 1; } /* start the shell */ puts("Initialization successful - starting the shell now"); char line_buf[SHELL_DEFAULT_BUFSIZE]; shell_run(NULL, line_buf, SHELL_DEFAULT_BUFSIZE); return 0; }