// components/peripherals/include/adc121s021_dma.h #ifndef ADC_DMA_H_ #define ADC_DMA_H_ #include #include #ifdef __cplusplus extern "C" { #endif /** * @brief Inicializa o ADC121S021 no barramento SPI partilhado. * * - Garante que o spi_bus_manager foi inicializado. * - Regista o dispositivo ADC no bus. */ void adc121s021_dma_init(void); /** * @brief Lê uma única amostra (12 bits) do ADC121S021. * * Esta função faz uma transação SPI bloqueante (polling), suficientemente * rápida para uso em burst (100 amostras em ~2–3 ms). * * @param[out] sample Ponteiro onde será escrito o valor lido (0..4095). * @return true em caso de sucesso, false se ocorrer erro. */ bool adc121s021_dma_get_sample(uint16_t *sample); #ifdef __cplusplus } #endif #endif /* ADC_DMA_H_ */