Nanostack Border Router is a generic mbed border router implementation that provides the 6LoWPAN ND or Thread border router initialization logic.

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers rf_wrapper.cpp Source File

rf_wrapper.cpp

00001 /*
00002  * Copyright (c) 2016 ARM Limited. All rights reserved.
00003  */
00004 
00005 #include "rf_wrapper.h"
00006 
00007 // Must be defined for next preprocessor tests to work
00008 #define ATMEL       0
00009 #define MCR20       1
00010 #define NCS36510    2
00011 #define SPIRIT1     3 
00012 #define S2LP        4
00013 
00014 #if MBED_CONF_APP_RADIO_TYPE == ATMEL
00015 #include "NanostackRfPhyAtmel.h"
00016 NanostackRfPhyAtmel rf_phy(ATMEL_SPI_MOSI, ATMEL_SPI_MISO, ATMEL_SPI_SCLK, ATMEL_SPI_CS,
00017                            ATMEL_SPI_RST, ATMEL_SPI_SLP, ATMEL_SPI_IRQ, ATMEL_I2C_SDA, ATMEL_I2C_SCL);
00018 #elif MBED_CONF_APP_RADIO_TYPE == MCR20
00019 #include "NanostackRfPhyMcr20a.h"
00020 NanostackRfPhyMcr20a rf_phy(MCR20A_SPI_MOSI, MCR20A_SPI_MISO, MCR20A_SPI_SCLK, MCR20A_SPI_CS, MCR20A_SPI_RST, MCR20A_SPI_IRQ);
00021 #elif MBED_CONF_APP_RADIO_TYPE == SPIRIT1
00022 #include "NanostackRfPhySpirit1.h"
00023 NanostackRfPhySpirit1 rf_phy(SPIRIT1_SPI_MOSI, SPIRIT1_SPI_MISO, SPIRIT1_SPI_SCLK,
00024                  SPIRIT1_DEV_IRQ, SPIRIT1_DEV_CS, SPIRIT1_DEV_SDN, SPIRIT1_BRD_LED);
00025 #elif MBED_CONF_APP_RADIO_TYPE == S2LP
00026 #include "NanostackRfPhys2lp.h"
00027 NanostackRfPhys2lp rf_phy(S2LP_SPI_SDI, S2LP_SPI_SDO, S2LP_SPI_SCLK, S2LP_SPI_CS, S2LP_SPI_SDN,
00028 #ifdef TEST_GPIOS_ENABLED
00029         S2LP_SPI_TEST1, S2LP_SPI_TEST2, S2LP_SPI_TEST3, S2LP_SPI_TEST4, S2LP_SPI_TEST5,
00030 #endif //TEST_GPIOS_ENABLED
00031         S2LP_SPI_GPIO0, S2LP_SPI_GPIO1, S2LP_SPI_GPIO2, S2LP_SPI_GPIO3);
00032 #endif //MBED_CONF_APP_RADIO_TYPE
00033 
00034 extern "C" int8_t rf_device_register()
00035 {
00036     return rf_phy.rf_register();
00037 }
00038 
00039 extern "C" void rf_read_mac_address(uint8_t *mac)
00040 {
00041     rf_phy.get_mac_address(mac);
00042 }