Fixed DIO mapping.
diff --git a/gyro_board/src/usb/README b/gyro_board/src/usb/README
new file mode 100644
index 0000000..bfd7f00
--- /dev/null
+++ b/gyro_board/src/usb/README
@@ -0,0 +1,18 @@
+Encoder 0: Wrist
+Encoder 1: Shooter
+Encoder 2: angle adjust
+Encoder 3: Indexer
+
+DIO 1: Bottom beam break
+DIO 2: Top beam break
+DIO 3: Wrist Hall Effect
+DIO 4: Angle Adjust Hall Effect
+DIO 5: NOP
+DIO 6: NOP
+DIO 7: Right Drive
+DIO 8: Right Drive
+DIO 9: Left Drive
+DIO 10: Left Drive
+DIO 11: NOP
+DIO 12: NOP
+
diff --git a/gyro_board/src/usb/analog.c b/gyro_board/src/usb/analog.c
index 850882e..a20464a 100644
--- a/gyro_board/src/usb/analog.c
+++ b/gyro_board/src/usb/analog.c
@@ -501,7 +501,7 @@
   NVIC_DisableIRQ(EINT2_IRQn);
 
   packet->wrist = (int32_t)QEI->QEIPOS;
-  packet->wrist_hall_effect = digital(0);
+  packet->wrist_hall_effect = digital(3);
   packet->capture_wrist_rise = capture_wrist_rise;
   packet->wrist_rise_count = wrist_rise_count;
 
@@ -515,16 +515,16 @@
 
   packet->capture_top_fall = capture_top_fall;
   packet->top_fall_count = top_fall_count;
-  packet->top_disc = digital(4);
+  packet->top_disc = digital(2);
 
   packet->capture_bottom_fall_delay = capture_bottom_fall_delay;
   packet->bottom_fall_delay_count = bottom_fall_delay_count;
   packet->bottom_fall_count = bottom_fall_count;
-  packet->bottom_disc = digital(3);
+  packet->bottom_disc = digital(1);
 
   packet->capture_shooter_angle_rise = capture_shooter_angle_rise;
   packet->shooter_angle_rise_count = shooter_angle_rise_count;
-  packet->angle_adjust_bottom_hall_effect = digital(2);
+  packet->angle_adjust_bottom_hall_effect = digital(4);
 
   NVIC_EnableIRQ(EINT3_IRQn);