mbed Open Thread example with nRF52-DK (nRF52840 SoC).

Committer:
mbed_official
Date:
Tue Feb 07 10:15:13 2017 +0000
Revision:
40:e0b9755ae4f1
Parent:
19:f55c7983f8ab
Child:
52:27692043e962
Use mbed configuration system to configure baudrates.

.
Commit copied from https://github.com/ARMmbed/mbed-os-example-mesh-minimal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Seppo Takalo 0:bde1843b9885 1 #include "mbed.h"
Seppo Takalo 0:bde1843b9885 2 #include "rtos.h"
Seppo Takalo 0:bde1843b9885 3 #include "NanostackInterface.h"
Seppo Takalo 0:bde1843b9885 4
mbed_official 16:22f072355a2c 5 #define ATMEL 1
mbed_official 16:22f072355a2c 6 #define MCR20 2
mbed_official 19:f55c7983f8ab 7 #define NCS36510 3
mbed_official 16:22f072355a2c 8
mbed_official 16:22f072355a2c 9 #define MESH_LOWPAN 3
mbed_official 16:22f072355a2c 10 #define MESH_THREAD 4
mbed_official 16:22f072355a2c 11
mbed_official 16:22f072355a2c 12
mbed_official 4:567d72fb3d84 13 #if MBED_CONF_APP_TRACE
mbed_official 4:567d72fb3d84 14 #include "mbed-trace/mbed_trace.h"
mbed_official 4:567d72fb3d84 15
mbed_official 4:567d72fb3d84 16 void trace_printer(const char* str) {
mbed_official 40:e0b9755ae4f1 17 printf("%s\n", str);
mbed_official 4:567d72fb3d84 18 }
mbed_official 4:567d72fb3d84 19 #endif // MBED_CONF_APP_TRACE
mbed_official 4:567d72fb3d84 20
mbed_official 16:22f072355a2c 21
mbed_official 16:22f072355a2c 22 #if MBED_CONF_APP_RADIO_TYPE == ATMEL
mbed_official 16:22f072355a2c 23 #include "NanostackRfPhyAtmel.h"
mbed_official 16:22f072355a2c 24 NanostackRfPhyAtmel rf_phy(ATMEL_SPI_MOSI, ATMEL_SPI_MISO, ATMEL_SPI_SCLK, ATMEL_SPI_CS,
mbed_official 16:22f072355a2c 25 ATMEL_SPI_RST, ATMEL_SPI_SLP, ATMEL_SPI_IRQ, ATMEL_I2C_SDA, ATMEL_I2C_SCL);
mbed_official 16:22f072355a2c 26 #elif MBED_CONF_APP_RADIO_TYPE == MCR20
mbed_official 16:22f072355a2c 27 #include "NanostackRfPhyMcr20a.h"
mbed_official 16:22f072355a2c 28 NanostackRfPhyMcr20a rf_phy(MCR20A_SPI_MOSI, MCR20A_SPI_MISO, MCR20A_SPI_SCLK, MCR20A_SPI_CS, MCR20A_SPI_RST, MCR20A_SPI_IRQ);
mbed_official 19:f55c7983f8ab 29
mbed_official 19:f55c7983f8ab 30 #elif MBED_CONF_APP_RADIO_TYPE == NCS36510
mbed_official 19:f55c7983f8ab 31 #include "NanostackRfPhyNcs36510.h"
mbed_official 19:f55c7983f8ab 32 NanostackRfPhyNcs36510 rf_phy;
mbed_official 16:22f072355a2c 33 #endif //MBED_CONF_APP_RADIO_TYPE
mbed_official 16:22f072355a2c 34
mbed_official 16:22f072355a2c 35 #if MBED_CONF_APP_MESH_TYPE == MESH_LOWPAN
Seppo Takalo 0:bde1843b9885 36 LoWPANNDInterface mesh;
mbed_official 16:22f072355a2c 37 #elif MBED_CONF_APP_MESH_TYPE == MESH_THREAD
mbed_official 16:22f072355a2c 38 ThreadInterface mesh;
mbed_official 16:22f072355a2c 39 #endif //MBED_CONF_APP_MESH_TYPE
mbed_official 16:22f072355a2c 40
Seppo Takalo 0:bde1843b9885 41 int main()
Seppo Takalo 0:bde1843b9885 42 {
mbed_official 4:567d72fb3d84 43
mbed_official 4:567d72fb3d84 44 #if MBED_CONF_APP_TRACE
mbed_official 4:567d72fb3d84 45 mbed_trace_init();
mbed_official 4:567d72fb3d84 46 mbed_trace_print_function_set(trace_printer);
mbed_official 4:567d72fb3d84 47 #endif
mbed_official 40:e0b9755ae4f1 48 printf("\n\nConnecting...\n");
mbed_official 16:22f072355a2c 49 mesh.initialize(&rf_phy);
Seppo Takalo 0:bde1843b9885 50
Seppo Takalo 0:bde1843b9885 51 if (mesh.connect()) {
mbed_official 40:e0b9755ae4f1 52 printf("Connection failed!\n");
Seppo Takalo 0:bde1843b9885 53 return -1;
Seppo Takalo 0:bde1843b9885 54 }
Seppo Takalo 0:bde1843b9885 55
mbed_official 17:ee2610e1cb78 56 while (NULL == mesh.get_ip_address())
mbed_official 17:ee2610e1cb78 57 Thread::wait(500);
mbed_official 17:ee2610e1cb78 58
mbed_official 40:e0b9755ae4f1 59 printf("connected. IP = %s\n", mesh.get_ip_address());
mbed_official 1:24cff46332de 60 }