diff --git a/lib/include/packet.h b/lib/include/packet.h index 58eaa37b9..44f7805b8 100644 --- a/lib/include/packet.h +++ b/lib/include/packet.h @@ -53,6 +53,7 @@ struct packet { uint8_t offset; uint8_t lqi; uint8_t status; + uint32_t rx_time; #if PACKET_STATS uint8_t seen; uint8_t post_tx; diff --git a/lib/maca.c b/lib/maca.c index c9cc4f6f2..e039062c3 100644 --- a/lib/maca.c +++ b/lib/maca.c @@ -615,6 +615,7 @@ void maca_isr(void) { *MACA_CLRIRQ = (1 << maca_irq_di); dma_rx->length = *MACA_GETRXLVL - 2; /* packet length does not include FCS */ dma_rx->lqi = get_lqi(); + dma_rx->rx_time = *MACA_TIMESTAMP; /* check if received packet needs an ack */ if(dma_rx->data[1] & 0x20) { diff --git a/tests/tests.c b/tests/tests.c index 75850492f..55a0e02c7 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -48,7 +48,7 @@ void print_packet(volatile packet_t *p) { volatile uint8_t i,j,k; #define PER_ROW 16 if(p) { - printf("len 0x%02x lqi 0x%02x", p->length, p->lqi); + printf("len 0x%02x lqi 0x%02x rx_time 0x%08x", p->length, p->lqi, (int)p->rx_time); for(j=0, k=0; j <= ( (p->length) / PER_ROW ); j++) { printf("\n\r"); for(i=0; i < PER_ROW; i++, k++) {