From 85535ce68f1b55150a59eb87a54074c5f49ab585 Mon Sep 17 00:00:00 2001 From: "ucart@co3050-12" <dawehr@iastate.edu> Date: Sat, 21 Jan 2017 17:00:20 -0600 Subject: [PATCH] Added timing functionality to timer.c --- quad/scripts/test_uart_comm.py | 11 +++++++++-- quad/sw/modular_quad_pid/src/initialize_components.c | 11 ++++++----- quad/sw/modular_quad_pid/src/timer.c | 4 ++++ quad/sw/modular_quad_pid/src/timer.h | 2 ++ 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/quad/scripts/test_uart_comm.py b/quad/scripts/test_uart_comm.py index 1a28e3ba6..324f73b1f 100755 --- a/quad/scripts/test_uart_comm.py +++ b/quad/scripts/test_uart_comm.py @@ -1,6 +1,7 @@ #!/usr/bin/python import sys +import time print(sys.version_info) import serial @@ -44,7 +45,13 @@ def query_received(ser): if __name__ == '__main__': with serial.Serial('/dev/ttyUSB0', 921600, timeout=5) as ser: - ser.write(create_test_packet(8)) + ser.reset_input_buffer() + ser.write(create_test_packet(40)) + time.sleep(0.05) + #while ser.in_waiting != 0: + # resp = read_packet(ser) + # elapsed = int.from_bytes(resp, byteorder='little') + # print(f"Took {elapsed} cycles, {elapsed / 100} us") ser.flush() - print(query_received(ser)) + #print(query_received(ser)) diff --git a/quad/sw/modular_quad_pid/src/initialize_components.c b/quad/sw/modular_quad_pid/src/initialize_components.c index fac31e173..e00a27b8c 100644 --- a/quad/sw/modular_quad_pid/src/initialize_components.c +++ b/quad/sw/modular_quad_pid/src/initialize_components.c @@ -56,6 +56,12 @@ int initializeAllComponents(user_input_t * user_input_struct, log_t * log_struct // Xilinx given initialization init_platform(); + + // Initialize loop timers + if (timer_init()) { + return -1; + } + // Initialize UART0 (Bluetooth) if (initUartComms()) { return -1; @@ -69,11 +75,6 @@ int initializeAllComponents(user_input_t * user_input_struct, log_t * log_struct // Initialize PWM Recorders and Motor outputs pwm_init(); - // Initialize loop timers - if (timer_init()) { - return -1; - } - //manual flight mode user_defined_struct->flight_mode = MANUAL_FLIGHT_MODE; diff --git a/quad/sw/modular_quad_pid/src/timer.c b/quad/sw/modular_quad_pid/src/timer.c index 7d5f3b11b..2c39ed1a7 100644 --- a/quad/sw/modular_quad_pid/src/timer.c +++ b/quad/sw/modular_quad_pid/src/timer.c @@ -64,3 +64,7 @@ int timer_end_loop(log_t *log_struct) return 0; } + +u32 timer_get_count() { + return XTmrCtr_GetValue(&axi_timer, 0); +} diff --git a/quad/sw/modular_quad_pid/src/timer.h b/quad/sw/modular_quad_pid/src/timer.h index dbd719027..64e067e9a 100644 --- a/quad/sw/modular_quad_pid/src/timer.h +++ b/quad/sw/modular_quad_pid/src/timer.h @@ -53,4 +53,6 @@ int timer_start_loop(); */ int timer_end_loop(log_t *log_struct); +u32 timer_get_count(); + #endif /* TIMER_H_ */ -- GitLab