Tobi's ubw test branch

Dependencies:   mavlink_bridge mbed

Fork of AIT_UWB_Range by Benjamin Hepp

Revision:
65:4c3bd79b57d2
Parent:
64:48ce74eca983
Child:
66:d15cbd9ad07b
--- a/main.cpp	Tue Jan 05 09:39:50 2016 +0000
+++ b/main.cpp	Tue Jan 05 09:54:33 2016 +0000
@@ -101,7 +101,8 @@
 
     DW1000* dw_array[NUM_OF_DW_UNITS + 0];
     MM2WayRanging* node_array[NUM_OF_DW_UNITS + 0];                           // Instance of the two way ranging algorithm
-    InterruptHandler* irq_mp_ptr_array[NUM_OF_DW_UNITS];
+    //InterruptHandler* irq_mp_ptr_array[NUM_OF_DW_UNITS];
+    InterruptIn irq(DW_IRQ_PIN);
 
     if (!MAVLINK_COMM) {
         pc.printf("Performing hardware reset of UWB modules\r\n");
@@ -111,14 +112,13 @@
     for (int i = 0; i < 4; ++i) {
 
         // HACK
-        irq_mp_ptr_array[i] = new InterruptHandler(DW_IRQ_PIN);
+        /*irq_mp_ptr_array[i] = new InterruptHandler(NC);
         InterruptHandler& irq_mp = *irq_mp_ptr_array[i];
         if (i == 0)
         {
             irq_mp.getIRQ().rise(&irq_mp, &InterruptHandler::trigger);  // attach interrupt handler to rising edge of interrupt pin from DW1000
-        }
-
-        dw_array[i] = new DW1000(spi, irq_mp, DW_CS_PINS[i]);   // Device driver instanceSPI pins: (MOSI, MISO, SCLK, CS, IRQ, RESET)
+        }*/
+        dw_array[i] = new DW1000(spi, irq, DW_CS_PINS[i]);   // Device driver instanceSPI pins: (MOSI, MISO, SCLK, CS, IRQ, RESET)
 
         // dw_array[1] = new DW1000(spi, irq_mp, DW_CS_PINS[1]);   // Device driver instanceSPI pins: (MOSI, MISO, SCLK, CS, IRQ, RESET)
 
@@ -151,6 +151,11 @@
         }
         node.setInterrupt(false);
 
+        if (i == 0)
+        {
+            irq.rise(&dw, &DW1000::ISR);  // attach interrupt handler to rising edge of interrupt pin from DW1000
+        }
+
         /*uint8_t remote_address = ANCHOR_ADDRESS_OFFSET + 0;
         node.requestRanging(remote_address);
         rangeAndDisplayAll(node, mb, timer);