summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoão Paulo Rechi Vita <jprvita@gmail.com>2013-12-27 18:09:07 -0300
committerJoão Paulo Rechi Vita <jprvita@gmail.com>2013-12-27 18:50:02 -0300
commitee2f0fd746eec69a0db399cbbb42f3dbb3549e89 (patch)
tree7b3358598d7b74708ce6bf3c8244cea49fedb8c1
parent80145c884e79532c7399b5766fd8f78cf8facbdf (diff)
example: Broadcaster example that uses the Link Layerll-devel
-rw-r--r--Makefile.am1
-rw-r--r--configure.nrf1
-rw-r--r--examples/ll-broadcaster/Makefile7
-rw-r--r--examples/ll-broadcaster/Makefile.am45
-rw-r--r--examples/ll-broadcaster/main.c44
5 files changed, 98 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index b56b0c9..3930bcd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -6,6 +6,7 @@ if PLATFORM_NRF
SUBDIRS = stack \
platform/nrf51822 \
examples/helloworld \
+ examples/ll-broadcaster \
examples/logging \
examples/PIR \
examples/radio-broadcaster \
diff --git a/configure.nrf b/configure.nrf
index 0354381..b64bd32 100644
--- a/configure.nrf
+++ b/configure.nrf
@@ -37,6 +37,7 @@ AC_OUTPUT([ Makefile
stack/Makefile
platform/nrf51822/Makefile
examples/helloworld/Makefile
+ examples/ll-broadcaster/Makefile
examples/logging/Makefile
examples/PIR/Makefile
examples/radio-broadcaster/Makefile
diff --git a/examples/ll-broadcaster/Makefile b/examples/ll-broadcaster/Makefile
new file mode 100644
index 0000000..e8c2c8b
--- /dev/null
+++ b/examples/ll-broadcaster/Makefile
@@ -0,0 +1,7 @@
+# Makefile for radio-broadcaster example
+
+PROJECT_TARGET = ll-broadcaster-example
+PROJECT_SOURCE_FILES = main.c
+
+BLESTACK_PATH = ../..
+-include $(BLESTACK_PATH)/Makefile.common
diff --git a/examples/ll-broadcaster/Makefile.am b/examples/ll-broadcaster/Makefile.am
new file mode 100644
index 0000000..fa0c918
--- /dev/null
+++ b/examples/ll-broadcaster/Makefile.am
@@ -0,0 +1,45 @@
+AM_CFLAGS=-mcpu=cortex-m0 -mthumb
+AM_LDFLAGS=--specs=nano.specs -mabi=aapcs -Xlinker -Map=ll-broadcaster.map \
+ -T$(top_builddir)/platform/nrf51822/gcc_nrf51_blank_xxaa.ld \
+ -L$(SDK_DIR)/Nordic/nrf51822/Source/templates/gcc
+
+PLATFORM_LIBS = $(top_builddir)/stack/libblestack.a \
+ $(top_builddir)/platform/nrf51822/libnrf.a
+
+AM_CPPFLAGS = -I$(top_builddir)/stack \
+ -I$(top_builddir)/platform/nrf51822
+
+LL_BROADCASTER_SOURCE_FILES = main.c
+LL_BROADCASTER_OBJECT_FILES = $(LL_BROADCASTER_SOURCE_FILES:.c=.o)
+
+do_subst = sed -e 's,BIN_FILE,$(abs_builddir)/ll-broadcaster.bin,g'
+
+all: ll-broadcaster.bin flash.jlink
+
+ll-broadcaster.bin: ll-broadcaster.out
+ $(OBJCOPY) -Obinary ll-broadcaster.out $@
+
+flash.jlink:
+ $(do_subst) < $(top_builddir)/platform/nrf51822/flash.jlink.in > $@
+
+ll-broadcaster.out: $(LL_BROADCASTER_OBJECT_FILES)
+
+ $(CC) $(AM_LDFLAGS) $(AM_CFLAGS) $(LL_BROADCASTER_OBJECT_FILES) $(PLATFORM_LIBS) -o $@
+
+ $(OBJDUMP) -h ll-broadcaster.out
+
+# Build object files from C source files
+%.o: %.c
+ $(CC) -c $(CFLAGS) $(AM_CPPFLAGS) -o $@ $<
+
+MAINTAINERCLEANFILES = Makefile.in \
+ ll-broadcaster.bin \
+ ll-broadcaster.out \
+ ll-broadcaster.map \
+ flash.jlink
+
+clean-local:
+ $(RM) -rf $(MAINTAINERCLEANFILES)
+ $(RM) *.o
+
+.PHONY: all clean-local
diff --git a/examples/ll-broadcaster/main.c b/examples/ll-broadcaster/main.c
new file mode 100644
index 0000000..b085dd1
--- /dev/null
+++ b/examples/ll-broadcaster/main.c
@@ -0,0 +1,44 @@
+/**
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2013 Paulo B. de Oliveira Filho <pauloborgesfilho@gmail.com>
+ * Copyright (c) 2013 Claudio Takahasi <claudio.takahasi@gmail.com>
+ * Copyright (c) 2013 João Paulo Rechi Vita <jprvita@gmail.com>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#include <string.h>
+#include <stdint.h>
+
+#include "log.h"
+#include "ll.h"
+
+int main(void)
+{
+ ll_init();
+ log_init();
+
+ DBG("Starting advertise using the Link Layer");
+ ll_advertise_start(LL_ADV_NONCONN_UNDIR, NULL, 0);
+
+ while (1);
+
+ return 0;
+}