Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 33:6ea4c3dd504d, committed 2014-12-02
- Comitter:
- manumaet
- Date:
- Tue Dec 02 13:55:01 2014 +0000
- Parent:
- 32:041dd02e0e3b
- Child:
- 34:f56962030c5c
- Commit message:
- first simple measurement works (gives 1.0362 us)
Changed in this revision
--- a/MMRanging/MMRanging.cpp Tue Dec 02 13:32:34 2014 +0000
+++ b/MMRanging/MMRanging.cpp Tue Dec 02 13:55:01 2014 +0000
@@ -26,18 +26,20 @@
TX.type = 2;
TX.sequence_number = RX.sequence_number;
TX.time_difference_receiver = 0;
- dw.sendFrame((uint8_t*)&TX, 10);
+ TX.dummy = 1;
+ dw.sendFrame((uint8_t*)&TX, 12);
break;
case 2:
rangingtimingsSender[RX.sequence_number][1] = dw.getRXTimestamp();
break;
case 3:
TX.type = 4;
- TX.time_difference_receiver = 0;//rangingtimingsReceiver[TX.sequence_number][1] - rangingtimingsReceiver[TX.sequence_number][0];
- dw.sendFrame((uint8_t*)&TX, 10);
+ TX.time_difference_receiver = rangingtimingsReceiver[TX.sequence_number][1] - rangingtimingsReceiver[TX.sequence_number][0];
+ TX.dummy = 1;
+ dw.sendFrame((uint8_t*)&TX, 12);
break;
case 4:
- tofs[RX.sequence_number] = /*rangingtimingsSender[RX.sequence_number][1] - rangingtimingsSender[RX.sequence_number][0] - */RX.time_difference_receiver;
+ tofs[RX.sequence_number % 10] = rangingtimingsSender[RX.sequence_number][1] - rangingtimingsSender[RX.sequence_number][0] - (uint32_t)RX.time_difference_receiver;
//tofs[RX->sequence_number] = (rangingtimingsSender[RX->sequence_number][1] - rangingtimingsSender[RX->sequence_number][0] - RX->time_difference_receiver) >> 1;
break;
default : break;
@@ -84,13 +86,15 @@
TX.type = 1;
TX.sequence_number = counter;
TX.time_difference_receiver = 0;
- dw.sendFrame((uint8_t*)&TX, 10);
+ TX.dummy = 1;
+ dw.sendFrame((uint8_t*)&TX, 12);
}
void MMRanging::requestTime() {
TX.type = 3;
TX.sequence_number = counter;
TX.time_difference_receiver = 0;
- dw.sendFrame((uint8_t*)&TX, 10);
+ TX.dummy = 1;
+ dw.sendFrame((uint8_t*)&TX, 12);
counter++;
}
\ No newline at end of file
--- a/MMRanging/MMRanging.h Tue Dec 02 13:32:34 2014 +0000
+++ b/MMRanging/MMRanging.h Tue Dec 02 13:55:01 2014 +0000
@@ -23,6 +23,7 @@
uint8_t type;
uint8_t sequence_number;
uint64_t time_difference_receiver;
+ uint16_t dummy;
} ;
uint64_t rangingtimingsSender[10][2];
uint64_t rangingtimingsReceiver[10][2];
--- a/main.cpp Tue Dec 02 13:32:34 2014 +0000
+++ b/main.cpp Tue Dec 02 13:55:01 2014 +0000
@@ -17,12 +17,12 @@
pc.printf("EUI register: %016llX\r\n", dw.getEUI());
pc.printf("Voltage: %f\r\n", dw.getVoltage());
- r.receiver = true;
+ //r.receiver = true;
bool senderstart = true;
while(1) {
for(int j = 0; j < 10; j++)
- pc.printf("%d ", r.tofs[j]);//*MMRANGING_TIMEUNIT);
+ pc.printf("%f ", r.tofs[j]*MMRANGING_TIMEUNIT);
pc.printf("\r\n");
for(int j = 0; j < 10; j++)
if(r.event[j][0] == '!') {