Tobi's ubw test branch
Dependencies: mavlink_bridge mbed
Fork of AIT_UWB_Range by
main.cpp
- Committer:
- manumaet
- Date:
- 2014-11-18
- Revision:
- 4:6240b9c7a033
- Parent:
- 3:69587fadfa87
- Child:
- 5:111f11c95d27
File content as of revision 4:6240b9c7a033:
#include "mbed.h" #include "PC.h" // Serial Port via USB for debugging with Terminal #include "DW1000.h" PC pc(USBTX, USBRX, 921600); // USB UART Terminal DW1000 dw(D11, D12, D13, D10); // SPI1 on Nucleo Board (MOSI, MISO, SCLK, CS) /*uint32_t read32Bit(uint8_t reg, uint16_t subaddress) { uint32_t result = 0; }*/ int main() { int i=0; pc.printf("DecaWave 0.1\r\nup and running!\r\n"); dw.setEUI(0xFAEDCD01FAEDCD01); pc.printf("%d DEVICE_ID register: 0x%X\r\n", i, dw.getDeviceID()); pc.printf("%d EUI register: %016llX\r\n", i, dw.getEUI()); pc.printf("%d Voltage: %f\r\n", i, dw.getVoltage()); // read System Configuration uint32_t conf = 0; dw.readRegister(DW1000_SYS_CFG, 0, (uint8_t*)&conf, 4); pc.printf("%d System Configuration: %X\r\n", i, conf); wait(5); while(1) { i++; # if 0 // to make one node sender and one receiver // Send something char message[20] = "HELLO WORLD!"; sprintf((char*)message, "HELLO WORLD! %d", i); dw.sendFrame(message, 20); uint8_t messagecheck[20]; dw.readRegister(DW1000_TX_BUFFER, 0, messagecheck, 20); pc.printf("Message in buffer: %s\r\n", messagecheck); wait(2); # else // Receive something uint8_t rxenable = 0x01; // start listening dw.writeRegister(DW1000_SYS_CTRL, 1, &rxenable, 1); uint8_t frameready = 0; // check if frame received while (frameready == 0 /*& 0x20) != 0x20*/) { // while no frame ready i++; pc.printf("%d Waiting for frame... \r\n", i); dw.readRegister(DW1000_SYS_STATUS, 1, &frameready, 1); pc.printf("Status: %X\r\n", frameready); uint8_t receive[20] = "NOTHING IN!!"; // get data from buffer dw.readRegister(DW1000_RX_BUFFER, 0, receive, 20); pc.printf("Message would be: %s\r\n", receive); wait(0.3); } uint8_t receive[20] = "NOTHING IN!!"; // get data from buffer dw.readRegister(DW1000_RX_BUFFER, 0, receive, 20); pc.printf("Message received: %s -------------------------\r\n", receive); dw.readRegister(DW1000_SYS_STATUS, 1, &frameready, 1); pc.printf("Status: %X\r\n", frameready); dw.resetRX(); wait(0.5); continue; # endif } }