Cleaned up ADC module

This commit is contained in:
Jake Goodwin 2025-02-23 10:56:00 -08:00
parent 2add13a745
commit de463a3469
2 changed files with 4 additions and 8 deletions

View File

@ -85,10 +85,7 @@ void ADC_Disable() {
RegEdit_ClearBit((void *)&ADCSRA, ADEN);
}
uint16_t ADC_ReadValue_Impl(uint8_t adc_chan) {
if (IsInvalidChannel(adc_chan)) {
return UINT16_MAX;
}
uint16_t ADC_ReadValue_Impl(void) {
// start conversion.
RegEdit_SetBit((void *)&ADCSRA, ADSC);
@ -106,9 +103,9 @@ uint16_t ADC_ReadValue_Impl(uint8_t adc_chan) {
cycles++;
}
uint8_t val = ADC;
uint16_t val = ADC;
return val;
}
// Set the default for the function pointer.
uint16_t (*ADC_ReadValue)(uint8_t adc_chan) = ADC_ReadValue_Impl;
uint16_t (*ADC_ReadValue)(void) = ADC_ReadValue_Impl;

View File

@ -52,12 +52,11 @@ void ADC_Disable();
/**
* @brief Reads ADC value into variable
*
* @param adc_chan The bin number of the ADC pin being read.
*
* This function depends on the ADC already being initialized and enabled
* before being called.
*/
extern uint16_t (*ADC_ReadValue)(uint8_t adc_chan);
extern uint16_t (*ADC_ReadValue)();
/**
* @brief Sets up the ADC