diff --git a/quad/sw/comm_dev/Debug/comm_dev.elf b/quad/sw/comm_dev/Debug/comm_dev.elf
old mode 100644
new mode 100755
index 4fae757536c4df549e954b1bfbc3cbb6b1ef2407..d4592cdccf610f6e7390e0ade5ce2a46ca06b61a
Binary files a/quad/sw/comm_dev/Debug/comm_dev.elf and b/quad/sw/comm_dev/Debug/comm_dev.elf differ
diff --git a/quad/sw/comm_dev/Debug/comm_dev.elf.size b/quad/sw/comm_dev/Debug/comm_dev.elf.size
index 06897cc55cdfc548d4855e712925ad28232a09b8..2e91f9243d4717375c3e523484a5b9347fe1814e 100644
--- a/quad/sw/comm_dev/Debug/comm_dev.elf.size
+++ b/quad/sw/comm_dev/Debug/comm_dev.elf.size
@@ -1,2 +1,2 @@
    text	   data	    bss	    dec	    hex	filename
- 163216	  68080	119149912	119381208	71d9cd8	comm_dev.elf
+ 163072	  68080	119150040	119381192	71d9cc8	comm_dev.elf
diff --git a/quad/sw/comm_dev/Debug/src/PID.o b/quad/sw/comm_dev/Debug/src/PID.o
index ee0f1ab5b39ab2677a882503219fa71c14f92b3d..d163d1b3076c261cfeb5640470fc973689033c2b 100644
Binary files a/quad/sw/comm_dev/Debug/src/PID.o and b/quad/sw/comm_dev/Debug/src/PID.o differ
diff --git a/quad/sw/comm_dev/Debug/src/actuator_command_processing.d b/quad/sw/comm_dev/Debug/src/actuator_command_processing.d
index 3600d3c09d9335b56eda725075fb1abdf9647e0e..06851086c0afd7121afdd39615597ad456c2b810 100644
--- a/quad/sw/comm_dev/Debug/src/actuator_command_processing.d
+++ b/quad/sw/comm_dev/Debug/src/actuator_command_processing.d
@@ -14,7 +14,10 @@ src/actuator_command_processing.d: ../src/actuator_command_processing.c \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
  ../src/control_algorithm.h ../src/sensor_processing.h ../src/sensor.h \
  ../src/user_input.h ../src/util.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
@@ -63,6 +66,12 @@ src/actuator_command_processing.d: ../src/actuator_command_processing.c \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/control_algorithm.h:
diff --git a/quad/sw/comm_dev/Debug/src/actuator_command_processing.o b/quad/sw/comm_dev/Debug/src/actuator_command_processing.o
index bc78ce27679763917553492ac1a13d77e95748a8..d74f2d34ca57cdb3a3d7af422c275208b105837b 100644
Binary files a/quad/sw/comm_dev/Debug/src/actuator_command_processing.o and b/quad/sw/comm_dev/Debug/src/actuator_command_processing.o differ
diff --git a/quad/sw/comm_dev/Debug/src/commands.d b/quad/sw/comm_dev/Debug/src/commands.d
index 47810560371f635a51759b4fdfb37f2c78cbb248..f10d03163dbb9430c0f7f07433db3a7fd534fb6c 100644
--- a/quad/sw/comm_dev/Debug/src/commands.d
+++ b/quad/sw/comm_dev/Debug/src/commands.d
@@ -13,7 +13,9 @@ src/commands.d: ../src/commands.c ../src/communication.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h
 
 ../src/communication.h:
 
@@ -50,3 +52,9 @@ src/commands.d: ../src/commands.c ../src/communication.h \
 ../../system_bsp/ps7_cortexa9_0/include/xparameters.h:
 
 ../src/stringBuilder.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
diff --git a/quad/sw/comm_dev/Debug/src/commands.o b/quad/sw/comm_dev/Debug/src/commands.o
index 2aaaab77472f29bf6088de0cd2800ff9dfdfac1f..92e52e8fff23c5723f5527703e868c062f21c0f8 100644
Binary files a/quad/sw/comm_dev/Debug/src/commands.o and b/quad/sw/comm_dev/Debug/src/commands.o differ
diff --git a/quad/sw/comm_dev/Debug/src/communication.d b/quad/sw/comm_dev/Debug/src/communication.d
index a07363c550202f8e04feec1189d5def938b5b3de..05440bd60f83e66572fb5e589262f0e4769bb732 100644
--- a/quad/sw/comm_dev/Debug/src/communication.d
+++ b/quad/sw/comm_dev/Debug/src/communication.d
@@ -13,7 +13,9 @@ src/communication.d: ../src/communication.c ../src/communication.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h
 
 ../src/communication.h:
 
@@ -50,3 +52,9 @@ src/communication.d: ../src/communication.c ../src/communication.h \
 ../../system_bsp/ps7_cortexa9_0/include/xparameters.h:
 
 ../src/stringBuilder.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
diff --git a/quad/sw/comm_dev/Debug/src/communication.o b/quad/sw/comm_dev/Debug/src/communication.o
index 707d9d50f9417c9661e3c2e7a0a66f57b241f7e2..ae1c9825ae549c3f3e1ed18985ea16a729be9125 100644
Binary files a/quad/sw/comm_dev/Debug/src/communication.o and b/quad/sw/comm_dev/Debug/src/communication.o differ
diff --git a/quad/sw/comm_dev/Debug/src/control_algorithm.d b/quad/sw/comm_dev/Debug/src/control_algorithm.d
index 9cd3cb11f96ba0361409ee7427be41df916065ee..f2d73ef75efc639b7e0e374c1eab597ca4d5fc81 100644
--- a/quad/sw/comm_dev/Debug/src/control_algorithm.d
+++ b/quad/sw/comm_dev/Debug/src/control_algorithm.d
@@ -14,7 +14,10 @@ src/control_algorithm.d: ../src/control_algorithm.c \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
  ../src/sensor_processing.h ../src/sensor.h ../src/user_input.h \
  ../src/util.h ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops_hw.h \
@@ -63,6 +66,12 @@ src/control_algorithm.d: ../src/control_algorithm.c \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/sensor_processing.h:
diff --git a/quad/sw/comm_dev/Debug/src/control_algorithm.o b/quad/sw/comm_dev/Debug/src/control_algorithm.o
index 590198d0c34ad66a350f20bfdc3d95a91a94d616..31be2e31395f34d8c3ee1a357647da709464cba7 100644
Binary files a/quad/sw/comm_dev/Debug/src/control_algorithm.o and b/quad/sw/comm_dev/Debug/src/control_algorithm.o differ
diff --git a/quad/sw/comm_dev/Debug/src/controllers.d b/quad/sw/comm_dev/Debug/src/controllers.d
index 940dd5859d5e6759ce025af5ed2c6e276b9f3168..46b5605ee86034267803d491a66a58c19e18b04a 100644
--- a/quad/sw/comm_dev/Debug/src/controllers.d
+++ b/quad/sw/comm_dev/Debug/src/controllers.d
@@ -15,8 +15,11 @@ src/controllers.d: ../src/controllers.c ../src/controllers.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
  ../../system_bsp/ps7_cortexa9_0/include/xuartps.h \
  ../../system_bsp/ps7_cortexa9_0/include/xuartps_hw.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../src/quadposition.h ../src/iic_mpu9150_utils.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h ../src/quadposition.h \
+ ../src/iic_mpu9150_utils.h \
  ../../system_bsp/ps7_cortexa9_0/include/xbasic_types.h \
  ../../system_bsp/ps7_cortexa9_0/include/xiicps.h \
  ../../system_bsp/ps7_cortexa9_0/include/xiicps_hw.h
@@ -65,6 +68,12 @@ src/controllers.d: ../src/controllers.c ../src/controllers.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/quadposition.h:
diff --git a/quad/sw/comm_dev/Debug/src/controllers.o b/quad/sw/comm_dev/Debug/src/controllers.o
index 0239c241a019a78dc0894c44da4f72ad469c83d7..4495548808e028b2534e97a478f9737006dc0a1c 100644
Binary files a/quad/sw/comm_dev/Debug/src/controllers.o and b/quad/sw/comm_dev/Debug/src/controllers.o differ
diff --git a/quad/sw/comm_dev/Debug/src/conversion.o b/quad/sw/comm_dev/Debug/src/conversion.o
index fcb25afe65038cd0c703606c6f577a1a5c547078..995e69ebcb7e5a2a821f3692ba585a25176d2044 100644
Binary files a/quad/sw/comm_dev/Debug/src/conversion.o and b/quad/sw/comm_dev/Debug/src/conversion.o differ
diff --git a/quad/sw/comm_dev/Debug/src/iic_mpu9150_utils.o b/quad/sw/comm_dev/Debug/src/iic_mpu9150_utils.o
index 274eb96c783d3840c85fcb2b509151dd6f2db497..3fb0f042257fb943dcd30861474a2ad0bf0850ce 100644
Binary files a/quad/sw/comm_dev/Debug/src/iic_mpu9150_utils.o and b/quad/sw/comm_dev/Debug/src/iic_mpu9150_utils.o differ
diff --git a/quad/sw/comm_dev/Debug/src/initialize_components.d b/quad/sw/comm_dev/Debug/src/initialize_components.d
index 6329a8618671f86bb7a96002805e06ad4196b2a9..4b01396863a0300a17b3fd2b5608c36c51419d97 100644
--- a/quad/sw/comm_dev/Debug/src/initialize_components.d
+++ b/quad/sw/comm_dev/Debug/src/initialize_components.d
@@ -14,7 +14,10 @@ src/initialize_components.d: ../src/initialize_components.c \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtime_l.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtmrctr.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtmrctr_l.h \
@@ -27,7 +30,9 @@ src/initialize_components.d: ../src/initialize_components.c \
  ../../system_bsp/ps7_cortexa9_0/include/xiicps.h \
  ../../system_bsp/ps7_cortexa9_0/include/xiicps_hw.h \
  ../src/packet_processing.h ../src/conversion.h ../src/platform.h \
- ../src/platform_config.h ../src/communication.h ../src/commands.h
+ ../src/platform_config.h ../src/communication.h ../src/commands.h \
+ ../src/new_comm.h ../src/mio7_led.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h
 
 ../src/initialize_components.h:
 
@@ -69,6 +74,12 @@ src/initialize_components.d: ../src/initialize_components.c \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../../system_bsp/ps7_cortexa9_0/include/xtime_l.h:
@@ -114,3 +125,9 @@ src/initialize_components.d: ../src/initialize_components.c \
 ../src/communication.h:
 
 ../src/commands.h:
+
+../src/new_comm.h:
+
+../src/mio7_led.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
diff --git a/quad/sw/comm_dev/Debug/src/initialize_components.o b/quad/sw/comm_dev/Debug/src/initialize_components.o
index 8382d53722a17b47e677fc09fb33fd3ce2e189a6..7d6919ccaf87d93a1ec121681a7e2caf8bab102b 100644
Binary files a/quad/sw/comm_dev/Debug/src/initialize_components.o and b/quad/sw/comm_dev/Debug/src/initialize_components.o differ
diff --git a/quad/sw/comm_dev/Debug/src/log_data.d b/quad/sw/comm_dev/Debug/src/log_data.d
index 17e06bf2d3fde6a7b97f43f37dacf67e22f31113..08ce63ead848176c8645d0dc08d8341d2449b012 100644
--- a/quad/sw/comm_dev/Debug/src/log_data.d
+++ b/quad/sw/comm_dev/Debug/src/log_data.d
@@ -13,8 +13,11 @@ src/log_data.d: ../src/log_data.c ../src/log_data.h ../src/PID.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../src/communication.h ../src/commands.h
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h ../src/communication.h \
+ ../src/commands.h
 
 ../src/log_data.h:
 
@@ -52,6 +55,12 @@ src/log_data.d: ../src/log_data.c ../src/log_data.h ../src/PID.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/communication.h:
diff --git a/quad/sw/comm_dev/Debug/src/log_data.o b/quad/sw/comm_dev/Debug/src/log_data.o
index 43f03cec750477b9b8f51116ddd67c6c9ea63619..d58c40bc0833910869051a79da618ec528aae5f9 100644
Binary files a/quad/sw/comm_dev/Debug/src/log_data.o and b/quad/sw/comm_dev/Debug/src/log_data.o differ
diff --git a/quad/sw/comm_dev/Debug/src/main.d b/quad/sw/comm_dev/Debug/src/main.d
index 8c5dc8c5adfab40f0759e440de551dbcfa53777f..f235cb78aca13fd0b9e16f08d8300496e95ae7bf 100644
--- a/quad/sw/comm_dev/Debug/src/main.d
+++ b/quad/sw/comm_dev/Debug/src/main.d
@@ -13,7 +13,10 @@ src/main.d: ../src/main.c ../src/timer.h ../src/log_data.h ../src/PID.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtime_l.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtmrctr.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtmrctr_l.h \
@@ -67,6 +70,12 @@ src/main.d: ../src/main.c ../src/timer.h ../src/log_data.h ../src/PID.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../../system_bsp/ps7_cortexa9_0/include/xtime_l.h:
diff --git a/quad/sw/comm_dev/Debug/src/main.o b/quad/sw/comm_dev/Debug/src/main.o
index 8235e3390d18315ebdb3b94fb710ccded3b250cf..37ef66f399eb14bcbf5c019625bb5f75548b62cc 100644
Binary files a/quad/sw/comm_dev/Debug/src/main.o and b/quad/sw/comm_dev/Debug/src/main.o differ
diff --git a/quad/sw/comm_dev/Debug/src/mio7_led.o b/quad/sw/comm_dev/Debug/src/mio7_led.o
index 1eab18d9e488565641f02a2fcb95da52088eaa49..869641b1707f30c83a21fa0a273c68412765efcd 100644
Binary files a/quad/sw/comm_dev/Debug/src/mio7_led.o and b/quad/sw/comm_dev/Debug/src/mio7_led.o differ
diff --git a/quad/sw/comm_dev/Debug/src/new_comm.d b/quad/sw/comm_dev/Debug/src/new_comm.d
index 88e99dcb7d7da259736cd5306c5ba4f6b24b2755..fafc3d57bc29f28f85aea603279a847540b1056d 100644
--- a/quad/sw/comm_dev/Debug/src/new_comm.d
+++ b/quad/sw/comm_dev/Debug/src/new_comm.d
@@ -19,7 +19,11 @@ src/new_comm.d: ../src/new_comm.c ../src/new_comm.h ../src/uart.h \
  ../src/mio7_led.h ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops_hw.h \
  ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h ../src/timer.h \
+ ../src/log_data.h ../src/PID.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xtime_l.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xtmrctr.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xtmrctr_l.h
 
 ../src/new_comm.h:
 
@@ -70,3 +74,15 @@ src/new_comm.d: ../src/new_comm.c ../src/new_comm.h ../src/uart.h \
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
+../src/timer.h:
+
+../src/log_data.h:
+
+../src/PID.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xtime_l.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xtmrctr.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xtmrctr_l.h:
diff --git a/quad/sw/comm_dev/Debug/src/new_comm.o b/quad/sw/comm_dev/Debug/src/new_comm.o
index a3a998b5ba07d8d017af4f16b375585102656227..07d4b93b993d93ce1ab6b1ef3398e8c9f0058c4f 100644
Binary files a/quad/sw/comm_dev/Debug/src/new_comm.o and b/quad/sw/comm_dev/Debug/src/new_comm.o differ
diff --git a/quad/sw/comm_dev/Debug/src/new_log_data.o b/quad/sw/comm_dev/Debug/src/new_log_data.o
index 49ed50699633f095e6b5e9577da6078b0e6c8e71..058a51a81843955991b8de736fb255d783173a5e 100644
Binary files a/quad/sw/comm_dev/Debug/src/new_log_data.o and b/quad/sw/comm_dev/Debug/src/new_log_data.o differ
diff --git a/quad/sw/comm_dev/Debug/src/packet_processing.d b/quad/sw/comm_dev/Debug/src/packet_processing.d
index 66677cf55663e83ba8f3e94c72c13ed2cd5e9827..44a95cb8474e98f5f0b66e974cf28ec3e82db680 100644
--- a/quad/sw/comm_dev/Debug/src/packet_processing.d
+++ b/quad/sw/comm_dev/Debug/src/packet_processing.d
@@ -13,8 +13,11 @@ src/packet_processing.d: ../src/packet_processing.c \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../src/util.h ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h ../src/util.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops_hw.h ../src/PID.h \
  ../src/log_data.h ../src/controllers.h ../src/quadposition.h \
  ../src/communication.h ../src/commands.h
@@ -53,6 +56,12 @@ src/packet_processing.d: ../src/packet_processing.c \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/util.h:
diff --git a/quad/sw/comm_dev/Debug/src/packet_processing.o b/quad/sw/comm_dev/Debug/src/packet_processing.o
index d9f93df025f425f18655398921b2d9037d6091a0..f828cbf1fff0a0d0be605f7cc4b6688732994376 100644
Binary files a/quad/sw/comm_dev/Debug/src/packet_processing.o and b/quad/sw/comm_dev/Debug/src/packet_processing.o differ
diff --git a/quad/sw/comm_dev/Debug/src/platform.o b/quad/sw/comm_dev/Debug/src/platform.o
index d5657770265c92c7f072fce1004212856ea3a4e6..bf48b14f046b241076d8869a6b95c4b15371bc09 100644
Binary files a/quad/sw/comm_dev/Debug/src/platform.o and b/quad/sw/comm_dev/Debug/src/platform.o differ
diff --git a/quad/sw/comm_dev/Debug/src/send_actuator_commands.d b/quad/sw/comm_dev/Debug/src/send_actuator_commands.d
index e3d34ae078fc6613f0bd3b87a4487941a669b34b..6e580f7e3925317f6ee0a9e537bfb4b78fe96491 100644
--- a/quad/sw/comm_dev/Debug/src/send_actuator_commands.d
+++ b/quad/sw/comm_dev/Debug/src/send_actuator_commands.d
@@ -14,7 +14,10 @@ src/send_actuator_commands.d: ../src/send_actuator_commands.c \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
  ../src/actuator_command_processing.h ../src/control_algorithm.h \
  ../src/sensor_processing.h ../src/sensor.h ../src/user_input.h \
  ../src/util.h ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
@@ -63,6 +66,12 @@ src/send_actuator_commands.d: ../src/send_actuator_commands.c \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/actuator_command_processing.h:
diff --git a/quad/sw/comm_dev/Debug/src/send_actuator_commands.o b/quad/sw/comm_dev/Debug/src/send_actuator_commands.o
index 9b35e2ce3a0c34b0904979ef8fbabe77ccc263f8..0845fc70a7d60a67bd85e5d7f5da328794c281ba 100644
Binary files a/quad/sw/comm_dev/Debug/src/send_actuator_commands.o and b/quad/sw/comm_dev/Debug/src/send_actuator_commands.o differ
diff --git a/quad/sw/comm_dev/Debug/src/sensor.d b/quad/sw/comm_dev/Debug/src/sensor.d
index 7cb9fb7a17ae890de970094293ec717996d4eef1..86ac96c64836b4ad7f637b20d2dbd5953f898dc3 100644
--- a/quad/sw/comm_dev/Debug/src/sensor.d
+++ b/quad/sw/comm_dev/Debug/src/sensor.d
@@ -13,9 +13,11 @@ src/sensor.d: ../src/sensor.c ../src/sensor.h ../src/log_data.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../src/user_input.h ../src/util.h \
- ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h ../src/user_input.h \
+ ../src/util.h ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops_hw.h \
  ../src/controllers.h ../src/quadposition.h ../src/iic_mpu9150_utils.h \
  ../../system_bsp/ps7_cortexa9_0/include/xbasic_types.h \
@@ -61,6 +63,12 @@ src/sensor.d: ../src/sensor.c ../src/sensor.h ../src/log_data.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/user_input.h:
diff --git a/quad/sw/comm_dev/Debug/src/sensor.o b/quad/sw/comm_dev/Debug/src/sensor.o
index 83c811e949332895d65cae3c02a42e317462a5db..05fda656babd7d7dd5e133e8ff9ac87536faa381 100644
Binary files a/quad/sw/comm_dev/Debug/src/sensor.o and b/quad/sw/comm_dev/Debug/src/sensor.o differ
diff --git a/quad/sw/comm_dev/Debug/src/sensor_processing.d b/quad/sw/comm_dev/Debug/src/sensor_processing.d
index 5470d34ad8e4fa6b09289f0c40a51d6ec07075c9..85de010612b9a8a028703cf32d54fd9c9dadd169 100644
--- a/quad/sw/comm_dev/Debug/src/sensor_processing.d
+++ b/quad/sw/comm_dev/Debug/src/sensor_processing.d
@@ -14,8 +14,11 @@ src/sensor_processing.d: ../src/sensor_processing.c \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../src/sensor.h ../src/user_input.h ../src/util.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h ../src/sensor.h \
+ ../src/user_input.h ../src/util.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops_hw.h \
  ../src/controllers.h ../src/quadposition.h ../src/iic_mpu9150_utils.h \
@@ -65,6 +68,12 @@ src/sensor_processing.d: ../src/sensor_processing.c \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/sensor.h:
diff --git a/quad/sw/comm_dev/Debug/src/sensor_processing.o b/quad/sw/comm_dev/Debug/src/sensor_processing.o
index 1c789e9b14063ddbdd8b3ceb5de62a8e8c136165..82562810a923ae2aa1368f3acd899293073975b4 100644
Binary files a/quad/sw/comm_dev/Debug/src/sensor_processing.o and b/quad/sw/comm_dev/Debug/src/sensor_processing.o differ
diff --git a/quad/sw/comm_dev/Debug/src/stringBuilder.o b/quad/sw/comm_dev/Debug/src/stringBuilder.o
index 7f6921ec9d18d146a474f8f38792199e4f9889d7..d79fd0b8c22d8685437f9118db42f051c4c3f7c3 100644
Binary files a/quad/sw/comm_dev/Debug/src/stringBuilder.o and b/quad/sw/comm_dev/Debug/src/stringBuilder.o differ
diff --git a/quad/sw/comm_dev/Debug/src/timer.d b/quad/sw/comm_dev/Debug/src/timer.d
index f91f5fc1abb9f11c26c5ebb47c0d82651fdee682..1d2b5a016f8ea150f49147baaf2260cb8f6276ea 100644
--- a/quad/sw/comm_dev/Debug/src/timer.d
+++ b/quad/sw/comm_dev/Debug/src/timer.d
@@ -13,7 +13,10 @@ src/timer.d: ../src/timer.c ../src/timer.h ../src/log_data.h ../src/PID.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtime_l.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtmrctr.h \
  ../../system_bsp/ps7_cortexa9_0/include/xtmrctr_l.h
@@ -56,6 +59,12 @@ src/timer.d: ../src/timer.c ../src/timer.h ../src/log_data.h ../src/PID.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../../system_bsp/ps7_cortexa9_0/include/xtime_l.h:
diff --git a/quad/sw/comm_dev/Debug/src/timer.o b/quad/sw/comm_dev/Debug/src/timer.o
index 9536cb97ff5dacc1e60ea210a07c6bca0c9bb548..7ae0c8fb2998588898662a2c0573d71fb93df2a8 100644
Binary files a/quad/sw/comm_dev/Debug/src/timer.o and b/quad/sw/comm_dev/Debug/src/timer.o differ
diff --git a/quad/sw/comm_dev/Debug/src/uart.o b/quad/sw/comm_dev/Debug/src/uart.o
index b1d435013e74b9a760d516e7ccbf44d7872cb5e6..20d3352604acf7e4e3b48e5b2a576322a7c75528 100644
Binary files a/quad/sw/comm_dev/Debug/src/uart.o and b/quad/sw/comm_dev/Debug/src/uart.o differ
diff --git a/quad/sw/comm_dev/Debug/src/update_gui.d b/quad/sw/comm_dev/Debug/src/update_gui.d
index 405adcfdfb830bcc1d9f65ee61c1e79a20214d8b..fae031bcce80d0b7233f192c7b1a8087715cfbf5 100644
--- a/quad/sw/comm_dev/Debug/src/update_gui.d
+++ b/quad/sw/comm_dev/Debug/src/update_gui.d
@@ -13,7 +13,10 @@ src/update_gui.d: ../src/update_gui.c ../src/update_gui.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h
 
 ../src/update_gui.h:
 
@@ -53,4 +56,10 @@ src/update_gui.d: ../src/update_gui.c ../src/update_gui.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
diff --git a/quad/sw/comm_dev/Debug/src/update_gui.o b/quad/sw/comm_dev/Debug/src/update_gui.o
index a011a838255f4674a27b00a9f61c8acbf2a61f91..9c051f0870a9d8623af89b3684fddb90cfd10df1 100644
Binary files a/quad/sw/comm_dev/Debug/src/update_gui.o and b/quad/sw/comm_dev/Debug/src/update_gui.o differ
diff --git a/quad/sw/comm_dev/Debug/src/user_input.d b/quad/sw/comm_dev/Debug/src/user_input.d
index 68826778ae99d6e59afa30eb22a7d611390b56aa..11f7bc7e7555f13f384cb6d037c5081dc1f9cdf5 100644
--- a/quad/sw/comm_dev/Debug/src/user_input.d
+++ b/quad/sw/comm_dev/Debug/src/user_input.d
@@ -13,8 +13,11 @@ src/user_input.d: ../src/user_input.c ../src/user_input.h \
  ../../system_bsp/ps7_cortexa9_0/include/xpseudo_asm_gcc.h \
  ../../system_bsp/ps7_cortexa9_0/include/xil_printf.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../src/util.h ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h ../src/util.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xgpiops.h \
  ../../system_bsp/ps7_cortexa9_0/include/xgpiops_hw.h \
  ../src/controllers.h ../src/quadposition.h
 
@@ -56,6 +59,12 @@ src/user_input.d: ../src/user_input.c ../src/user_input.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/util.h:
diff --git a/quad/sw/comm_dev/Debug/src/user_input.o b/quad/sw/comm_dev/Debug/src/user_input.o
index 59f08ed2c429968b5a201a19f20e0c311f6f0f59..540f4082e4fdb47bd0dff3b3e6e594113b669019 100644
Binary files a/quad/sw/comm_dev/Debug/src/user_input.o and b/quad/sw/comm_dev/Debug/src/user_input.o differ
diff --git a/quad/sw/comm_dev/Debug/src/util.d b/quad/sw/comm_dev/Debug/src/util.d
index 60a13387d3b3c14b43724e05c290bd9a612f2338..ce8cdf3fe9d96a2f8ca85f9a7d44fda8c4abfd57 100644
--- a/quad/sw/comm_dev/Debug/src/util.d
+++ b/quad/sw/comm_dev/Debug/src/util.d
@@ -15,8 +15,11 @@ src/util.d: ../src/util.c ../src/util.h \
  ../../system_bsp/ps7_cortexa9_0/include/xparameters.h \
  ../../system_bsp/ps7_cortexa9_0/include/xuartps.h \
  ../../system_bsp/ps7_cortexa9_0/include/xuartps_hw.h \
- ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/sleep.h \
- ../src/controllers.h ../src/quadposition.h
+ ../src/stringBuilder.h ../../system_bsp/ps7_cortexa9_0/include/xscugic.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h \
+ ../../system_bsp/ps7_cortexa9_0/include/xil_exception.h \
+ ../../system_bsp/ps7_cortexa9_0/include/sleep.h ../src/controllers.h \
+ ../src/quadposition.h
 
 ../src/util.h:
 
@@ -60,6 +63,12 @@ src/util.d: ../src/util.c ../src/util.h \
 
 ../src/stringBuilder.h:
 
+../../system_bsp/ps7_cortexa9_0/include/xscugic.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xscugic_hw.h:
+
+../../system_bsp/ps7_cortexa9_0/include/xil_exception.h:
+
 ../../system_bsp/ps7_cortexa9_0/include/sleep.h:
 
 ../src/controllers.h:
diff --git a/quad/sw/comm_dev/Debug/src/util.o b/quad/sw/comm_dev/Debug/src/util.o
index 9ddc778029d16484ec6ae721dc3eaf90762668a6..9067c967663d5872910cf8cee92ee15f9521a904 100644
Binary files a/quad/sw/comm_dev/Debug/src/util.o and b/quad/sw/comm_dev/Debug/src/util.o differ
diff --git a/quad/sw/comm_dev/src/initialize_components.c b/quad/sw/comm_dev/src/initialize_components.c
index 95ae414ba0f52f5ecff618a9366e7d7b7d563753..4064d7148c00632e2a29fb9b18be9d52d38f2fed 100644
--- a/quad/sw/comm_dev/src/initialize_components.c
+++ b/quad/sw/comm_dev/src/initialize_components.c
@@ -7,6 +7,7 @@
  
 #include "initialize_components.h"
 #include "communication.h"
+#include "new_comm.h"
 
 extern int Xil_AssertWait;
 
@@ -96,11 +97,10 @@ int initializeAllComponents(user_input_t * user_input_struct, log_t * log_struct
 	// Xilinx given initialization
 	init_platform();
 
-	//disable blocking asserts
-	//Xil_AssertWait = FALSE;
-
-	//Enable blocking asserts
-	//Xil_AssertWait = TRUE;
+	if (initUartComms()) {
+		return -1;
+	}
+	return 0;
 
 	// Initialize I2C controller and start the sensor board
 	if (initI2C0() == -1) {
diff --git a/quad/sw/comm_dev/src/main.c b/quad/sw/comm_dev/src/main.c
index 12399e96bc4040cb25d5b742635c9417886806c7..0c588ff1705970932f30d8f5b5d765d32d1eb72c 100644
--- a/quad/sw/comm_dev/src/main.c
+++ b/quad/sw/comm_dev/src/main.c
@@ -34,6 +34,8 @@ int main()
 		return -1;
 	}
 
+	while(1) {}
+
 	// Loops to make sure the quad is responding correctly before starting the control loop
 	protection_loops();
 
diff --git a/quad/sw/comm_dev/src/new_comm.c b/quad/sw/comm_dev/src/new_comm.c
index 63e240e3ddc6b4a853f48a082300450587c89de3..d051fefdb88fa708de16a4304cf6acb9336d1e18 100644
--- a/quad/sw/comm_dev/src/new_comm.c
+++ b/quad/sw/comm_dev/src/new_comm.c
@@ -5,17 +5,26 @@
  *      Author: dawehr
  */
 #include "new_comm.h"
+#include "timer.h"
 
 #define INTC		XScuGic
 #define COMM_UART_DEVICE_ID		XPAR_PS7_UART_0_DEVICE_ID
 #define COMM_INTC_DEVICE_ID		XPAR_SCUGIC_SINGLE_DEVICE_ID
 #define COMM_UART_INT_IRQ_ID		XPAR_PS7_UART_0_INTR//XPAR_XUARTPS_0_INTR
 
+#define BAUD_RATE 115200
+// Maximum number of bytes to be received within our loop time, plus 64 for a little buffer
+// (bit/s) * (seconds) / (10 bits / byte for UART)
+#define UART_BUF_SIZE (((BAUD_RATE * (DESIRED_USEC_PER_LOOP / 1000) / 1000) / 10) + 64)
+
 // Declaration of interrupt handler
 void Handler(void *CallBackRef, u32 Event, unsigned int EventData);
 
+
+static u8 recvBuf[UART_BUF_SIZE];
+
 int initUartComms() {
-	XUartPs* uartInstPtr = uart0_init(COMM_UART_DEVICE_ID, 921600);
+	XUartPs* uartInstPtr = uart0_init(COMM_UART_DEVICE_ID, 115200);
 	// Initialize UART0 (Bluetooth/WiFi)
 	if(!uartInstPtr) {
 		return -1;
@@ -23,7 +32,7 @@ int initUartComms() {
 
 	uart0_clearFIFOs();
 
-	if (!uart0_int_init(COMM_UART_DEVICE_ID)) {
+	if (uart0_int_init(COMM_UART_INT_IRQ_ID) != XST_SUCCESS) {
 		return -1;
 	}
 
@@ -36,7 +45,7 @@ int initUartComms() {
 	 */
 	XUartPs_SetHandler(uartInstPtr, (XUartPs_Handler)Handler, uartInstPtr);
 
-	u32 IntrMask = XUARTPS_IXR_RXFULL | XUARTPS_IXR_RXOVR;
+	u32 IntrMask = XUARTPS_IXR_RXFULL | XUARTPS_IXR_RXOVR | XUARTPS_IXR_TOUT;
 
 	XUartPs_SetInterruptMask(uartInstPtr, IntrMask);
 
@@ -52,11 +61,12 @@ int initUartComms() {
 	 * Increase the time out value if baud rate is high, decrease it if
 	 * baud rate is low.
 	 */
-	XUartPs_SetRecvTimeout(uartInstPtr, 8);
+	XUartPs_SetRecvTimeout(uartInstPtr, 4);
 
 	// Second argument is the number of bytes to trigger an interrupt at
 	XUartPs_SetFifoThreshold(uartInstPtr, 12);
 
+	XUartPs_Recv(uartInstPtr, recvBuf, UART_BUF_SIZE);
 
 	return 0;
 }
@@ -85,8 +95,10 @@ int initUartComms() {
 void Handler(void *CallBackRef, u32 Event, unsigned int EventData)
 {
 	/* data has been received */
-	if (Event == XUARTPS_EVENT_RECV_DATA || Event == XUARTPS_EVENT_RECV_TOUT) {
-		MIO7_led_on();
+	if (Event == XUARTPS_EVENT_RECV_DATA || Event == XUARTPS_EVENT_RECV_TOUT || Event == XUARTPS_IXR_RXOVR) {
+		if (EventData >= UART_BUF_SIZE) {
+			MIO7_led_on();
+		}
 	}
 }
 
diff --git a/quad/sw/comm_dev/src/uart.c b/quad/sw/comm_dev/src/uart.c
index 10f8e643cc0e7822fde3c41ca665ee6b6091efd1..7d42b9833ee3e810946582f2573a8e5163fac8bc 100644
--- a/quad/sw/comm_dev/src/uart.c
+++ b/quad/sw/comm_dev/src/uart.c
@@ -279,8 +279,8 @@ XUartPs* uart0_init(u16 deviceID, int baudRate){
 }
 
 // Initializes the interrupt system for UART 0
-int uart0_int_init(u16 deviceID) {
-	return SetupInterruptSystem(_Uart0PS, deviceID);
+int uart0_int_init(u16 UartIntrId) {
+	return SetupInterruptSystem(_Uart0PS, UartIntrId);
 }
 
 void uart0_clearFIFOs(){