Forked repo of Platform Drivers- Analog Devices
Diff: adc_data_capture.h
- Revision:
- 18:5ae03a197e59
- Parent:
- 17:af1f2416dd26
--- a/adc_data_capture.h Tue Jul 13 13:58:07 2021 +0530 +++ b/adc_data_capture.h Mon Aug 02 16:03:08 2021 +0530 @@ -35,41 +35,41 @@ * data capture functions */ struct data_capture_ops { - /* Save the previous active channels value */ - int32_t (*save_prev_active_chns)(void); - /* Restore (enable) the previous active channels */ - int32_t (*restore_prev_active_chns)(void); - /* Enable ADC current (user input) channel */ - int32_t (*enable_curr_chn)(uint32_t chn); - /* Disable ADC current (user input) channel */ - int32_t (*disable_curr_chn)(uint32_t chn); - /* Disable all ADC channels */ - int32_t(*disable_all_chns)(void); - /* Enable conversion for single sample read */ - int32_t (*enable_single_read_conversion)(void); - /* Enable conversion for continuous sample read */ - int32_t (*enable_continuous_read_conversion)(uint32_t chn_mask); - /* Disable conversion */ - int32_t (*disable_conversion)(void); + /* Perform operations required before single sample read */ + int32_t(*single_sample_read_start_ops)(uint8_t input_chn); + /* Wait for conversion to finish on enabled channels and read conversion data */ - int32_t (*wait_for_conv_and_read_data)(uint32_t *read_data, uint8_t chn); + int32_t(*perform_conv_and_read_sample)(uint32_t *read_data, uint8_t chn); + + /* Enable operations required post single sample read */ + int32_t(*single_sample_read_stop_ops)(uint8_t input_chn); + + /* Perform operations required before continuous sample read */ + int32_t(*continuous_sample_read_start_ops)(uint32_t chn_mask); + /* Read ADC raw sample/data */ - int32_t (*read_sampled_data)(uint32_t *read_data, uint8_t buff_chn_indx); - /* Trigger next continuous conversion sample read */ - int32_t (*trigger_next_cont_conversion)(void); + int32_t(*read_converted_sample)(uint32_t *read_data, uint8_t input_chn); + + /* Perform operations required post continuous sample read */ + int32_t(*continuous_sample_read_stop_ops)(void); + + /* Trigger next data conversion */ + int32_t(*trigger_next_conversion)(void); }; /******************************************************************************/ /************************ Public Declarations *********************************/ /******************************************************************************/ -void save_data_capture_ops_instance(struct data_capture_ops *ops); +int32_t read_single_sample(uint8_t input_chn, uint32_t *raw_data); +size_t read_buffered_data(char *pbuf, + size_t bytes, + size_t offset, + uint32_t active_chns_mask, + uint8_t sample_size_in_bytes); +void store_requested_samples_count(size_t bytes, uint8_t sample_size_in_bytes); void start_data_capture(uint32_t ch_mask, uint8_t num_of_chns); -void data_capture_callback(void *ctx, uint32_t event, void *extra); void stop_data_capture(void); -size_t buffered_data_read(char *pbuf, size_t bytes, - size_t offset, uint32_t active_chns_mask, uint8_t sample_size_in_bytes); -void store_requested_samples_count(size_t bytes, uint8_t sample_size_in_bytes); -int32_t single_data_read(uint8_t input_chn, uint32_t *raw_data); +void data_capture_callback(void *ctx, uint32_t event, void *extra); #endif /* _ADC_DATA_CAPTURE_H_ */