added (wrong port numbered) support for the digital inputs
diff --git a/gyro_board/src/usb/analog.h b/gyro_board/src/usb/analog.h
index 7b2fb58..262b230 100644
--- a/gyro_board/src/usb/analog.h
+++ b/gyro_board/src/usb/analog.h
@@ -4,33 +4,43 @@
extern int64_t gyro_angle;
struct DataStruct {
- int64_t gyro_angle;
+ int64_t gyro_angle;
- int32_t right_drive;
- int32_t left_drive;
- int32_t shooter_angle;
- int32_t shooter;
- int32_t indexer;
- int32_t wrist;
+ int32_t right_drive;
+ int32_t left_drive;
+ int32_t shooter_angle;
+ int32_t shooter;
+ int32_t indexer;
+ int32_t wrist;
- int32_t capture_top_rise;
- int32_t capture_top_fall;
- int32_t capture_bottom_fall_delay;
- int32_t capture_wrist_rise;
- int32_t capture_shooter_angle_rise;
+ int32_t capture_top_rise;
+ int32_t capture_top_fall;
+ int32_t capture_bottom_fall_delay;
+ int32_t capture_wrist_rise;
+ int32_t capture_shooter_angle_rise;
- int8_t top_rise_count;
+ int8_t top_rise_count;
- int8_t top_fall_count;
+ int8_t top_fall_count;
- int8_t bottom_rise_count;
+ int8_t bottom_rise_count;
- int8_t bottom_fall_delay_count;
- int8_t bottom_fall_count;
+ int8_t bottom_fall_delay_count;
+ int8_t bottom_fall_count;
- int8_t wrist_rise_count;
+ int8_t wrist_rise_count;
- int8_t shooter_angle_rise_count;
+ int8_t shooter_angle_rise_count;
+
+ union {
+ struct {
+ uint8_t wrist_hall_effect : 1;
+ uint8_t angle_adjust_bottom_hall_effect : 1;
+ uint8_t top_disc : 1;
+ uint8_t bottom_disc : 1;
+ };
+ uint32_t digitals;
+ };
} __attribute__((__packed__));
// Gets called in the USB data output ISR. Assumes that it will not be preempted
// except by very high priority things.