This is the DW1000 driver and our self developed distance measurement application based on it. We do this as a semester thesis at ETH Zürich under the Automatic Control Laboratory in the Department of electrical engineering.

Dependencies:   mbed

Revision:
28:a830131560e8
Parent:
26:a65c6f26c458
Child:
29:019ff388ed76
--- a/DW1000/DW1000.cpp	Fri Nov 28 07:44:36 2014 +0000
+++ b/DW1000/DW1000.cpp	Fri Nov 28 14:40:03 2014 +0000
@@ -17,7 +17,7 @@
     irq.rise(this, &DW1000::ISR);       // attach Interrupt handler to rising edge
 }
 
-void DW1000::setCallbacks(void (*callbackRX)(int framelength), void (*callbackTX)()) {
+void DW1000::setCallbacks(void (*callbackRX)(), void (*callbackTX)()) {
     DW1000::callbackRX = callbackRX;
     DW1000::callbackTX = callbackTX;
 }
@@ -121,7 +121,7 @@
     uint64_t status = getStatus();
     if (status & 0x4000) {                                          // a frame was received
         if (callbackRX != NULL)
-            callbackRX(getFramelength());
+            callbackRX();
         writeRegister16(DW1000_SYS_STATUS, 0, 0x6F00);              // clearing of receiving status bits
     }
     if (status & 0x80) {                                            // sending complete