summaryrefslogtreecommitdiff
path: root/apps/examples
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-12 20:14:46 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-12 20:14:46 +0000
commit6649286b2f4917b87ecdd790eba138aefcf2b210 (patch)
tree92a86ff9d6ca32ab4ebc6c485a3bfd2fdc594925 /apps/examples
parentd660afc8fd83a630d0a223dd2796003024ce4f11 (diff)
downloadnuttx-6649286b2f4917b87ecdd790eba138aefcf2b210.tar.gz
nuttx-6649286b2f4917b87ecdd790eba138aefcf2b210.tar.bz2
nuttx-6649286b2f4917b87ecdd790eba138aefcf2b210.zip
Add UDP discovery configuration for the STM3240G-EVAL (from Max Holtzberg)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5138 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/examples')
-rw-r--r--apps/examples/Kconfig100
-rw-r--r--apps/examples/Make.defs4
-rw-r--r--apps/examples/Makefile14
-rw-r--r--apps/examples/README.txt2
-rw-r--r--apps/examples/discover/Kconfig7
-rw-r--r--apps/examples/discover/main.c44
6 files changed, 91 insertions, 80 deletions
diff --git a/apps/examples/Kconfig b/apps/examples/Kconfig
index a20f7c2e7..786012593 100644
--- a/apps/examples/Kconfig
+++ b/apps/examples/Kconfig
@@ -3,115 +3,115 @@
# see misc/tools/kconfig-language.txt.
#
-menu "ADC example"
+menu "ADC Example"
source "$APPSDIR/examples/adc/Kconfig"
endmenu
-menu "Buttons example"
+menu "Buttons Example"
source "$APPSDIR/examples/buttons/Kconfig"
endmenu
-menu "CAN example"
+menu "CAN Example"
source "$APPSDIR/examples/can/Kconfig"
endmenu
-menu "USB CDC/ACM class driver example"
+menu "USB CDC/ACM Class Driver Example"
source "$APPSDIR/examples/cdcacm/Kconfig"
endmenu
-menu "USB composite class driver example"
+menu "USB composite Class Driver Example"
source "$APPSDIR/examples/composite/Kconfig"
endmenu
-menu "DHCP server example"
+menu "DHCP Server Example"
source "$APPSDIR/examples/dhcpd/Kconfig"
endmenu
-menu "FTP client example"
+menu "FTP Client Example"
source "$APPSDIR/examples/ftpc/Kconfig"
endmenu
-menu "FTP server example"
+menu "FTP Server Example"
source "$APPSDIR/examples/ftpd/Kconfig"
endmenu
-menu "\"Hello, World!\" example"
+menu "\"Hello, World!\" Example"
source "$APPSDIR/examples/hello/Kconfig"
endmenu
-menu "\"Hello, World!\" C++ example"
+menu "\"Hello, World!\" C++ Example"
source "$APPSDIR/examples/helloxx/Kconfig"
endmenu
-menu "USB HID keyboard example"
+menu "USB HID Keyboard Example"
source "$APPSDIR/examples/hidkbd/Kconfig"
endmenu
-menu "IGMP example"
+menu "IGMP Example"
source "$APPSDIR/examples/igmp/Kconfig"
endmenu
-menu "LCD read/write example"
+menu "LCD Read/Write Example"
source "$APPSDIR/examples/lcdrw/Kconfig"
endmenu
-menu "Memory management example"
+menu "Memory Management Example"
source "$APPSDIR/examples/mm/Kconfig"
endmenu
-menu "File system mount example"
+menu "File System Mount Example"
source "$APPSDIR/examples/mount/Kconfig"
endmenu
-menu "FreeModBus example"
+menu "FreeModBus Example"
source "$APPSDIR/examples/modbus/Kconfig"
endmenu
-menu "Network test example"
+menu "Network Test Example"
source "$APPSDIR/examples/nettest/Kconfig"
endmenu
-menu "NuttShell (NSH) example"
+menu "NuttShell (NSH) Example"
source "$APPSDIR/examples/nsh/Kconfig"
endmenu
-menu "NULL example"
+menu "NULL Example"
source "$APPSDIR/examples/null/Kconfig"
endmenu
-menu "NX graphics example"
+menu "NX Graphics Example"
source "$APPSDIR/examples/nx/Kconfig"
endmenu
-menu "NxConsole example"
+menu "NxConsole Example"
source "$APPSDIR/examples/nxconsole/Kconfig"
endmenu
-menu "NXFFS file system example"
+menu "NXFFS File System Example"
source "$APPSDIR/examples/nxffs/Kconfig"
endmenu
-menu "NXFLAT example"
+menu "NXFLAT Example"
source "$APPSDIR/examples/nxflat/Kconfig"
endmenu
-menu "NX graphics \"Hello, World!\" example"
+menu "NX Graphics \"Hello, World!\" Example"
source "$APPSDIR/examples/nxhello/Kconfig"
endmenu
-menu "NX graphics image example"
+menu "NX Graphics image Example"
source "$APPSDIR/examples/nximage/Kconfig"
endmenu
-menu "NX graphics lines example"
+menu "NX Graphics lines Example"
source "$APPSDIR/examples/nxlines/Kconfig"
endmenu
-menu "NX graphics text example"
+menu "NX Graphics Text Example"
source "$APPSDIR/examples/nxtext/Kconfig"
endmenu
-menu "OS test example"
+menu "OS Test Example"
source "$APPSDIR/examples/ostest/Kconfig"
endmenu
@@ -119,82 +119,86 @@ menu "Pascal \"Hello, World!\"example"
source "$APPSDIR/examples/pashello/Kconfig"
endmenu
-menu "Pipe example"
+menu "Pipe Example"
source "$APPSDIR/examples/pipe/Kconfig"
endmenu
-menu "Poll example"
+menu "Poll Example"
source "$APPSDIR/examples/poll/Kconfig"
endmenu
-menu "Pulse width modulation (PWM) example"
+menu "Pulse Width Modulation (PWM) Example"
source "$APPSDIR/examples/pwm/Kconfig"
endmenu
-menu "Quadrature encoder example"
+menu "Quadrature Encoder Example"
source "$APPSDIR/examples/qencoder/Kconfig"
endmenu
-menu "RGMP example"
+menu "RGMP Example"
source "$APPSDIR/examples/rgmp/Kconfig"
endmenu
-menu "ROMFS example"
+menu "ROMFS Example"
source "$APPSDIR/examples/romfs/Kconfig"
endmenu
-menu "sendmail example"
+menu "sendmail Example"
source "$APPSDIR/examples/sendmail/Kconfig"
endmenu
-menu "Serial loopback example"
+menu "Serial Loopback Example"
source "$APPSDIR/examples/serloop/Kconfig"
endmenu
-menu "Telnet daemon example"
+menu "Telnet Daemon Example"
source "$APPSDIR/examples/telnetd/Kconfig"
endmenu
-menu "THTTPD web server example"
+menu "THTTPD Web Server Example"
source "$APPSDIR/examples/thttpd/Kconfig"
endmenu
-menu "TIFF generation example"
+menu "TIFF Generation Example"
source "$APPSDIR/examples/tiff/Kconfig"
endmenu
-menu "Touchscreen example"
+menu "Touchscreen Example"
source "$APPSDIR/examples/touchscreen/Kconfig"
endmenu
-menu "UDP example"
+menu "UDP Example"
source "$APPSDIR/examples/udp/Kconfig"
endmenu
-menu "uIP web server example"
+menu "UDP Discovery Daemon Example"
+source "$APPSDIR/examples/discover/Kconfig"
+endmenu
+
+menu "uIP Web Server Example"
source "$APPSDIR/examples/uip/Kconfig"
endmenu
-menu "USB serial test example"
+menu "USB Serial Test Example"
source "$APPSDIR/examples/usbserial/Kconfig"
endmenu
-menu "USB mass storage class example"
+menu "USB Mass Storage Class Example"
source "$APPSDIR/examples/usbstorage/Kconfig"
endmenu
-menu "USB serial terminal example"
+menu "USB Serial Terminal Example"
source "$APPSDIR/examples/usbterm/Kconfig"
endmenu
-menu "Watchdog timer example"
+menu "Watchdog timer Example"
source "$APPSDIR/examples/watchdog/Kconfig"
endmenu
-menu "wget example"
+menu "wget Example"
source "$APPSDIR/examples/wget/Kconfig"
endmenu
-menu "WLAN example"
+menu "WLAN Example"
source "$APPSDIR/examples/wlan/Kconfig"
endmenu
diff --git a/apps/examples/Make.defs b/apps/examples/Make.defs
index aa8d83733..3bc72b52e 100644
--- a/apps/examples/Make.defs
+++ b/apps/examples/Make.defs
@@ -58,6 +58,10 @@ ifeq ($(CONFIG_EXAMPLES_DHCPD),y)
CONFIGURED_APPS += examples/dhcpd
endif
+ifeq ($(CONFIG_EXAMPLE_DISCOVER),y)
+CONFIGURED_APPS += examples/discover
+endif
+
ifeq ($(CONFIG_EXAMPLES_FTPC),y)
CONFIGURED_APPS += examples/ftpc
endif
diff --git a/apps/examples/Makefile b/apps/examples/Makefile
index ad5be6497..453f99ce7 100644
--- a/apps/examples/Makefile
+++ b/apps/examples/Makefile
@@ -37,11 +37,12 @@
# Sub-directories
-SUBDIRS = adc buttons can cdcacm composite dhcpd ftpc ftpd hello helloxx \
- hidkbd igmp lcdrw mm modbus mount nettest nsh null nx nxconsole nxffs \
- nxflat nxhello nximage nxlines nxtext ostest pashello pipe poll pwm \
- qencoder rgmp romfs serloop telnetd thttpd tiff touchscreen udp uip \
- usbserial sendmail usbstorage usbterm watchdog wget wlan
+SUBDIRS = adc buttons can cdcacm composite dhcpd discover ftpc ftpd hello
+SUBDIRS += helloxx hidkbd igmp lcdrw mm modbus mount nettest nsh null nx
+SUBDIRS += nxconsole nxffs nxflat nxhello nximage nxlines nxtext ostest
+SUBDIRS += pashello pipe poll pwm qencoder rgmp romfs serloop telnetd
+SUBDIRS += thttpd tiff touchscreen udp uip usbserial sendmail usbstorage
+SUBDIRS += usbterm watchdog wget wlan
# Sub-directories that might need context setup. Directories may need
# context setup for a variety of reasons, but the most common is because
@@ -56,7 +57,8 @@ SUBDIRS = adc buttons can cdcacm composite dhcpd ftpc ftpd hello helloxx \
CNTXTDIRS = pwm
ifeq ($(CONFIG_NSH_BUILTIN_APPS),y)
-CNTXTDIRS += adc can cdcacm composite ftpd dhcpd modbus nettest qencoder telnetd watchdog
+CNTXTDIRS += adc can cdcacm composite discover ftpd dhcpd modbus nettest
+CNTXTDIRS += qencoder telnetd watchdog
endif
ifeq ($(CONFIG_EXAMPLES_HELLO_BUILTIN),y)
diff --git a/apps/examples/README.txt b/apps/examples/README.txt
index 0d327ebfb..8a7a94c3e 100644
--- a/apps/examples/README.txt
+++ b/apps/examples/README.txt
@@ -278,7 +278,7 @@ examples/dhcpd
examples/discover
^^^^^^^^^^^^^^^^^
- This example execises netutils/discover utility. This example initializes
+ This example exercises netutils/discover utility. This example initializes
and starts the UDP discover daemon. This daemon is useful for discovering
devices in local networks, especially with DHCP configured devices. It
listens for UDP broadcasts which also can include a device class so that
diff --git a/apps/examples/discover/Kconfig b/apps/examples/discover/Kconfig
index afdb9ff82..c867b56f3 100644
--- a/apps/examples/discover/Kconfig
+++ b/apps/examples/discover/Kconfig
@@ -3,7 +3,7 @@
# see misc/tools/kconfig-language.txt.
#
-config EXAMPLES_DISCOVER
+config EXAMPLE_DISCOVER
bool "UDP Discovery Example"
default n
depends on NET_UDP
@@ -17,11 +17,13 @@ config EXAMPLES_DISCOVER
It is also possible to address all classes with a kind of broadcast
discover.
-if EXAMPLES_DISCOVER
+if EXAMPLE_DISCOVER
config EXAMPLE_DISCOVER_DHCPC
bool "DHCP Client"
default n
+ select NETUTILS_DHCPC
+ select NETUTILS_RESOLV
config EXAMPLE_DISCOVER_NOMAC
bool "Use canned MAC address"
@@ -30,6 +32,7 @@ config EXAMPLE_DISCOVER_NOMAC
config EXAMPLE_DISCOVER_IPADDR
hex "Target IP address"
default 0x0a000002
+ depends on !EXAMPLE_DISCOVER_DHCPC
config EXAMPLE_DISCOVER_DRIPADDR
hex "Router IP address"
diff --git a/apps/examples/discover/main.c b/apps/examples/discover/main.c
index b857e4f68..619995186 100644
--- a/apps/examples/discover/main.c
+++ b/apps/examples/discover/main.c
@@ -87,7 +87,6 @@
int discover_main(int argc, char *argv[])
{
-#ifndef CONFIG_NSH_BUILTIN_APPS
struct in_addr addr;
#if defined(CONFIG_EXAMPLE_DISCOVER_DHCPC) || defined(CONFIG_EXAMPLE_DISCOVER_NOMAC)
uint8_t mac[IFHWADDRLEN];
@@ -147,30 +146,29 @@ int discover_main(int argc, char *argv[])
printf("Getting IP address\n");
if (handle)
{
- struct dhcpc_state ds;
- (void)dhcpc_request(handle, &ds);
- uip_sethostaddr("eth1", &ds.ipaddr);
-
- if (ds.netmask.s_addr != 0)
- {
- uip_setnetmask("eth0", &ds.netmask);
- }
-
- if (ds.default_router.s_addr != 0)
- {
- uip_setdraddr("eth0", &ds.default_router);
- }
-
- if (ds.dnsaddr.s_addr != 0)
- {
- resolv_conf(&ds.dnsaddr);
- }
-
- dhcpc_close(handle);
- printf("IP: %s\n", inet_ntoa(ds.ipaddr));
+ struct dhcpc_state ds;
+ (void)dhcpc_request(handle, &ds);
+ uip_sethostaddr("eth1", &ds.ipaddr);
+
+ if (ds.netmask.s_addr != 0)
+ {
+ uip_setnetmask("eth0", &ds.netmask);
+ }
+
+ if (ds.default_router.s_addr != 0)
+ {
+ uip_setdraddr("eth0", &ds.default_router);
+ }
+
+ if (ds.dnsaddr.s_addr != 0)
+ {
+ resolv_conf(&ds.dnsaddr);
+ }
+
+ dhcpc_close(handle);
+ printf("IP: %s\n", inet_ntoa(ds.ipaddr));
}
#endif
-#endif /* CONFIG_NSH_BUILTIN_APPS */
if (discover_start() < 0)
{