From c44ed3704c170635d39fb2dad0419cea43d37bb2 Mon Sep 17 00:00:00 2001 From: "ucart@co3050-12" <dawehr@iastate.edu> Date: Tue, 24 Jan 2017 11:17:20 -0600 Subject: [PATCH] Changed names of benchmark test macros --- quad/sw/modular_quad_pid/src/communication.c | 12 ++++++++++++ quad/sw/modular_quad_pid/src/main.c | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/quad/sw/modular_quad_pid/src/communication.c b/quad/sw/modular_quad_pid/src/communication.c index c4e166b20..bb86d51f1 100644 --- a/quad/sw/modular_quad_pid/src/communication.c +++ b/quad/sw/modular_quad_pid/src/communication.c @@ -14,6 +14,8 @@ #define MAX_PACKET_SIZE 256 #define UART_BUF_SIZE (((BAUD_RATE * (DESIRED_USEC_PER_LOOP / 1000) / 1000) / 10) + MAX_PACKET_SIZE + 128) +#define INTERRUPT_BENCHMARK + // Declaration of interrupt handler void Handler(void *CallBackRef, u32 Event, unsigned int EventData); @@ -144,12 +146,22 @@ void uart_interrupt_handler(XUartPs *InstancePtr) { u32 CsrRegister = XUartPs_ReadReg(InstancePtr->Config.BaseAddress, XUARTPS_SR_OFFSET); +#ifdef INTERRUPT_BENCHMARK + u32 start_time = timer_get_count(); +#endif + while (0 == (CsrRegister & XUARTPS_SR_RXEMPTY) && !uart_buff_full()) { u8 byte = XUartPs_ReadReg(InstancePtr->Config.BaseAddress, XUARTPS_FIFO_OFFSET); uart_buff_put_byte(byte); CsrRegister = XUartPs_ReadReg(InstancePtr->Config.BaseAddress, XUARTPS_SR_OFFSET); } +#ifdef INTERRUPT_BENCHMARK + u32 end_time = timer_get_count(); + u32 duration = end_time - start_time; + send_data(0, 0, 0, (char *) &duration, 8); +#endif + // Clear the interrupt status. XUartPs_WriteReg(InstancePtr->Config.BaseAddress, XUARTPS_ISR_OFFSET, IsrStatus); diff --git a/quad/sw/modular_quad_pid/src/main.c b/quad/sw/modular_quad_pid/src/main.c index 43a9b9dd3..d7c232418 100644 --- a/quad/sw/modular_quad_pid/src/main.c +++ b/quad/sw/modular_quad_pid/src/main.c @@ -17,7 +17,7 @@ #include "update_gui.h" #define BENCH_TEST -#define UART_BENCHMARK +//#define UART_BENCHMARK int main() { -- GitLab