got analog sensors working (but not doing anything)
diff --git a/gyro_board/src/usb/analog.c b/gyro_board/src/usb/analog.c
index b00d1b4..b2ab48f 100644
--- a/gyro_board/src/usb/analog.c
+++ b/gyro_board/src/usb/analog.c
@@ -6,9 +6,8 @@
SC->PCONP |= PCONP_PCAD;
// Enable AD0.0, AD0.1, AD0.2, AD0.3
- PINCON->PINSEL1 &= ~(2 << 14 | 2 << 16 | 2 << 18 | 2 << 20);
+ PINCON->PINSEL1 &= ~(3 << 14 | 3 << 16 | 3 << 18 | 3 << 20);
PINCON->PINSEL1 |= 1 << 14 | 1 << 16 | 1 << 18 | 1 << 20;
- ADC->ADCR = 0x00200500;
ADC->ADCR = (1 << 0 | 1 << 1 | 1 << 2 | 1 << 3) /* enable all 4 */ |
7 << 8 /* 100MHz / 8 = 12.5MHz */ |
1 << 16 /* enable burst mode */ |
@@ -36,5 +35,5 @@
}
} while (!(value & 1 << 31));
- return ((value & 0xFFF0) >> 4);
+ return (value >> 4) & 0x3FF;
}
diff --git a/gyro_board/src/usb/encoder.c b/gyro_board/src/usb/encoder.c
index 7b6d268..77344fb 100644
--- a/gyro_board/src/usb/encoder.c
+++ b/gyro_board/src/usb/encoder.c
@@ -537,9 +537,9 @@
packet->main.left_drive = encoder5_val;
packet->main.right_drive = encoder4_val;
packet->main.indexer = encoder3_val;
- packet->main.battery_voltage = analog(0);
+ packet->main.battery_voltage = analog(3);
packet->main.left_drive_hall = analog(1);
- packet->main.right_drive_hall = analog(3);
+ packet->main.right_drive_hall = analog(2);
NVIC_DisableIRQ(EINT3_IRQn);