diff --git a/boards/redbee-econotag/Makefile.include b/boards/redbee-econotag/Makefile.include index 4d9f9736752e3297b8d209fce6f7c72d2b9b37b0..290044032714dceabe0888d57e4c8353b2d43636 100644 --- a/boards/redbee-econotag/Makefile.include +++ b/boards/redbee-econotag/Makefile.include @@ -29,15 +29,16 @@ export FFLAGS = -t $(PORT) -f $(HEXFILE) -c 'bbmc -l redbee-econotag reset' export OFLAGS = -O binary --gap-fill=0xff export INCLUDES += -I$(RIOTCPU)/$(CPU)/include/ -I$(RIOTBOARD)/$(BOARD)/include/ +export INCLUDES += -I$(RIOTCPU)/$(CPU)/maca/include +export INCLUDES += -I$(RIOTBOARD)/$(BOARD)/drivers/include -# un-comment once https://github.com/RIOT-OS/RIOT/issues/676 is fixed -#ifneq (,$(filter defaulttransceiver,$(USEMODULE))) -# ifeq (,$(filter mc1322x,$(USEMODULE))) -# USEMODULE += mc1322x -# endif -# ifeq (,$(filter transceiver,$(USEMODULE))) -# USEMODULE += transceiver -# endif -#endif +ifneq (,$(filter defaulttransceiver,$(USEMODULE))) + ifeq (,$(filter mc1322x,$(USEMODULE))) + USEMODULE += mc1322x + endif + ifeq (,$(filter transceiver,$(USEMODULE))) + USEMODULE += transceiver + endif +endif export UNDEF += $(BINDIR)cpu/startup.o diff --git a/boards/redbee-econotag/drivers/nvm.c b/boards/redbee-econotag/drivers/nvm.c index b55e59ebd849d6dcad6f34a715cda8db79ed4009..f0429811ecd2763897318cccad494dad1763abcf 100644 --- a/boards/redbee-econotag/drivers/nvm.c +++ b/boards/redbee-econotag/drivers/nvm.c @@ -18,5 +18,5 @@ nvm_err_t (*nvm_write) (nvm_interface_t nvm_interface, nvm_type_t nvm_type, voi = (void*) 0x00006ec5; nvm_err_t (*nvm_erase) (nvm_interface_t nvm_interface, nvm_type_t nvm_type, uint32_t sector_bitfield) = (void*) 0x00006e05; -void (*nvm_sets_var) (uint32_t zero_is_for_winners) - = (void*) 0x00007085; \ No newline at end of file +void (*nvm_setsvar) (uint32_t zero_is_for_winners) + = (void*) 0x00007085; diff --git a/cpu/mc1322x/Makefile b/cpu/mc1322x/Makefile index 8c68344a8c6fa9f3948ffd08a51e5c81963c8edf..8abd8bfc89a87a72d1e00bdd67f8c03addd7ce14 100644 --- a/cpu/mc1322x/Makefile +++ b/cpu/mc1322x/Makefile @@ -7,6 +7,9 @@ endif ifneq (,$(filter mc1322x_asm,$(USEMODULE))) DIRS += asm endif +ifneq (,$(filter mc1322x,$(USEMODULE))) + DIRS += maca +endif all: $(BINDIR)$(MODULE).a @for i in $(DIRS) ; do "$(MAKE)" -C $$i || exit 1; done ; diff --git a/cpu/mc1322x/Makefile.include b/cpu/mc1322x/Makefile.include index 06535d8234cfb7232c8401335c6385f9c0744989..9f12e2c124615390e1791d907779af8f29546c57 100644 --- a/cpu/mc1322x/Makefile.include +++ b/cpu/mc1322x/Makefile.include @@ -1,4 +1,5 @@ -INCLUDES += -I$(RIOTBASE)/cpu/mc1322x/include +INCLUDES += -I$(RIOTCPU)/$(CPU)/include +INCLUDES += -I$(RIOTCPU)/$(CPU)/maca/include include $(RIOTCPU)/arm_common/Makefile.include diff --git a/cpu/mc1322x/maca/Makefile b/cpu/mc1322x/maca/Makefile index 373dd437fc3a378ae69f7c4b258fba7fc1e41eaa..19a39ee15dd05033b91868ed55de17967c83d1ae 100644 --- a/cpu/mc1322x/maca/Makefile +++ b/cpu/mc1322x/maca/Makefile @@ -1,5 +1,7 @@ -INCLUDES = -I$(RIOTBASE)/cpu/mc1322x/include -I$(RIOTBASE)/cpu/mc1322x/maca/include -I$(RIOTBOARDS)/redbee-econotag/drivers/include +INCLUDES += -I$(RIOTCPU)/$(CPU)/include \ + -I$(RIOTCPU)/$(CPU)/maca/include \ + -I$(RIOTBOARDS)/redbee-econotag/drivers/include -MODULE =mc1322x +MODULE = mc1322x include $(RIOTBASE)/Makefile.base diff --git a/sys/include/transceiver.h b/sys/include/transceiver.h index 437e72c962430db85811fbf24e87bc40b15c72c4..144d9a232bbf3a2743e5272e5bc035a0de7f6f13 100644 --- a/sys/include/transceiver.h +++ b/sys/include/transceiver.h @@ -98,9 +98,9 @@ #endif #endif #ifdef MODULE_MC1322X -#if (MC1322X_MAX_DATA_LENGTH > PAYLOAD_SIZE) +#if (MACA_MAX_PAYLOAD_SIZE > PAYLOAD_SIZE) #undef PAYLOAD_SIZE -#define PAYLOAD_SIZE (MC1322X_MAX_DATA_LENGTH) +#define PAYLOAD_SIZE (MACA_MAX_PAYLOAD_SIZE) #endif #endif #ifdef MODULE_NATIVENET diff --git a/sys/shell/commands/sc_transceiver.c b/sys/shell/commands/sc_transceiver.c index e0825440e59ebf7f329c592a4a0fa83486743c2e..f74b9ac8de32cfc6ae8d270b3dec96102071a7c6 100644 --- a/sys/shell/commands/sc_transceiver.c +++ b/sys/shell/commands/sc_transceiver.c @@ -51,8 +51,14 @@ #include "nativenet.h" #define TEXT_SIZE NATIVE_MAX_DATA_LENGTH #define _TC_TYPE TRANSCEIVER_NATIVE -#endif +#elif defined( MODULE_MC1322X ) +#include "mc1322x.h" +#include "maca.h" +#include "maca_packet.h" +#define TEXT_SIZE MACA_MAX_PAYLOAD_SIZE +#define _TC_TYPE TRANSCEIVER_MC1322X +#endif /* checked for type safety */ void _transceiver_get_set_address_handler(int argc, char **argv) diff --git a/sys/transceiver/transceiver.c b/sys/transceiver/transceiver.c index 34a2b0dae1401d628b15970e3a5f04505da635d5..53dd96d5ce067b6d366c081fd466cf496a9e7671 100644 --- a/sys/transceiver/transceiver.c +++ b/sys/transceiver/transceiver.c @@ -744,7 +744,7 @@ static int8_t send_packet(transceiver_type_t t, void *pkt) case TRANSCEIVER_MC1322X: maca_pkt->length = p->length; - memcpy(maca_pkt->data, p->data, p->length); + memcpy(maca_pkt->data, &p->frame, p->length); maca_set_tx_packet(maca_pkt); res = 1; break;