Browse Source

tests: added test application for enc28j60 driver

cc430
Hauke Petersen 7 years ago
parent
commit
6cbdec8395
  1. 40
      tests/driver_enc28j60/Makefile
  2. 46
      tests/driver_enc28j60/main.c

40
tests/driver_enc28j60/Makefile

@ -0,0 +1,40 @@
export APPLICATION = driver_enc28j60
include ../Makefile.tests_common
FEATURES_REQUIRED = periph_spi periph_gpio
BOARD_INSUFFICIENT_MEMORY := msb-430h nucleo-f334 stm32f0discovery weio z1
USEMODULE += gnrc_netdev2
USEMODULE += gnrc_netif_default
USEMODULE += auto_init_gnrc_netif
USEMODULE += enc28j60
USEMODULE += gnrc_ipv6_router_default
USEMODULE += gnrc_icmpv6_echo
USEMODULE += shell
USEMODULE += shell_commands
USEMODULE += ps
# set board specific peripheral configurations
ifneq (,$(filter stm32f4discovery,$(BOARD)))
ENC_SPI ?= SPI_1
ENC_CS ?= GPIO_PIN\(PORT_B,12\)
ENC_INT ?= GPIO_PIN\(PORT_B,11\)
ENC_RST ?= GPIO_PIN\(PORT_B,10\)
endif
# fallback: set SPI bus and pins to default values
ENC_SPI ?= SPI_0
ENC_CS ?= GPIO_PIN\(0,0\)
ENC_INT ?= GPIO_PIN\(0,1\)
ENC_RST ?= GPIO_PIN\(0,2\)
# export SPI and pins
CFLAGS += -DENC28J60_PARAM_SPI=$(ENC_SPI)
CFLAGS += -DENC28J60_PARAM_CS=$(ENC_CS)
CFLAGS += -DENC28J60_PARAM_INT=$(ENC_INT)
CFLAGS += -DENC28J60_PARAM_RESET=$(ENC_RST)
# make sure we read the local enc28j60 params file
CFLAGS += -I$(CURDIR)
include $(RIOTBASE)/Makefile.include

46
tests/driver_enc28j60/main.c

@ -0,0 +1,46 @@
/*
* Copyright (C) 2015 Freie Universität Berlin
*
* 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 the ENC28J60 Ethernet device driver
*
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
*
* @}
*/
#include <stdio.h>
#include "shell.h"
#include "msg.h"
#define MAIN_QUEUE_SIZE (8U)
static msg_t _main_msg_queue[MAIN_QUEUE_SIZE];
int main(void)
{
/* we need a message queue for the thread running the shell in order to
* receive potentially fast incoming networking packets */
msg_init_queue(_main_msg_queue, MAIN_QUEUE_SIZE);
puts("Test application for the enc28j60 driver\n");
puts("This test just pulls in parts of the GNRC network stack, use the\n"
"provided shell commands (i.e. ifconfig, ping6) to interact with\n"
"your enc28j60 device.\n");
/* start shell */
puts("Starting the shell now...");
char line_buf[SHELL_DEFAULT_BUFSIZE];
shell_run(NULL, line_buf, SHELL_DEFAULT_BUFSIZE);
/* should be never reached */
return 0;
}
Loading…
Cancel
Save