/** * @brief Interface to the AVR ADC hardware. * @details This file is... * @author Jake G * @date 2024 * @copyright None * @file ADC.h */ #ifndef ADC_H #define ADC_H #include #include /** * @brief Initializes the AVR hardware in order to accept * Input for ADC usage. * @param pin_num The number of the pin 0-7 you are initializing. * * This function only makes use of PORTA by default. It sets the direction * register to input, disables the pull-up resistor and also diables interrupts * alongside the input buffer(digital). * * This in turn helps reduce noise when using the ADC. * */ void ADC_Init(uint8_t pin_num); /** * @brief Enables the ADC * @param pin_num The number of the pin 0-7 you are enabling */ void ADC_Enable(uint8_t pin_num); /** * @brief Disables the ADC */ void ADC_Disable(); /** * @brief Reads ADC value into variable * * @param pin_num 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 pin_num); #endif //ADC_H