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

Committer:
mbed_official
Date:
Fri Oct 21 09:15:09 2016 +0100
Revision:
19:f55c7983f8ab
Parent:
17:ee2610e1cb78
Child:
40:e0b9755ae4f1
Updating mbed-os to mbed-os-5.2.0-rc4


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 4:567d72fb3d84 17 printf("%s\r\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 Serial output(USBTX, USBRX);
Seppo Takalo 0:bde1843b9885 42
Seppo Takalo 0:bde1843b9885 43 int main()
Seppo Takalo 0:bde1843b9885 44 {
mbed_official 4:567d72fb3d84 45
mbed_official 4:567d72fb3d84 46 #if MBED_CONF_APP_TRACE
mbed_official 4:567d72fb3d84 47 mbed_trace_init();
mbed_official 4:567d72fb3d84 48 mbed_trace_print_function_set(trace_printer);
mbed_official 4:567d72fb3d84 49 #endif
Seppo Takalo 0:bde1843b9885 50 output.baud(115200);
mbed_official 1:24cff46332de 51 printf("\r\n\r\nConnecting...\r\n");
mbed_official 16:22f072355a2c 52 mesh.initialize(&rf_phy);
Seppo Takalo 0:bde1843b9885 53
Seppo Takalo 0:bde1843b9885 54 if (mesh.connect()) {
mbed_official 1:24cff46332de 55 printf("Connection failed!\r\n");
Seppo Takalo 0:bde1843b9885 56 return -1;
Seppo Takalo 0:bde1843b9885 57 }
Seppo Takalo 0:bde1843b9885 58
mbed_official 17:ee2610e1cb78 59 while (NULL == mesh.get_ip_address())
mbed_official 17:ee2610e1cb78 60 Thread::wait(500);
mbed_official 17:ee2610e1cb78 61
mbed_official 1:24cff46332de 62 printf("connected. IP = %s\r\n", mesh.get_ip_address());
mbed_official 1:24cff46332de 63 }