HF-Core Platform 0.1.0-dev
Hardware-Agnostic Handler Layer & RTOS Utilities for HardFOC
Loading...
Searching...
No Matches
Tmc9660AdcWrapper.h
Go to the documentation of this file.
1
48#ifndef COMPONENT_HANDLER_TMC9660_ADC_WRAPPER_H_
49#define COMPONENT_HANDLER_TMC9660_ADC_WRAPPER_H_
50
51#include "base/BaseAdc.h"
52
53// Forward declaration to avoid including the full handler header.
54class Tmc9660Handler;
55
72class Tmc9660AdcWrapper : public BaseAdc {
73public:
79 explicit Tmc9660AdcWrapper(Tmc9660Handler& handler) noexcept;
80
82 ~Tmc9660AdcWrapper() noexcept override = default;
83
86 Tmc9660AdcWrapper& operator=(const Tmc9660AdcWrapper&) = delete;
88 Tmc9660AdcWrapper& operator=(Tmc9660AdcWrapper&&) = delete;
89
93
95 bool Initialize() noexcept override;
96
98 bool Deinitialize() noexcept override;
99
101 hf_u8_t GetMaxChannels() const noexcept override;
102
104 bool IsChannelAvailable(hf_channel_id_t channel_id) const noexcept override;
105
107 hf_adc_err_t ReadChannelV(hf_channel_id_t channel_id, float& channel_reading_v,
108 hf_u8_t numOfSamplesToAvg = 1,
109 hf_time_t timeBetweenSamples = 0) noexcept override;
110
112 hf_adc_err_t ReadChannelCount(hf_channel_id_t channel_id, hf_u32_t& channel_reading_count,
113 hf_u8_t numOfSamplesToAvg = 1,
114 hf_time_t timeBetweenSamples = 0) noexcept override;
115
117 hf_adc_err_t ReadChannel(hf_channel_id_t channel_id, hf_u32_t& channel_reading_count,
118 float& channel_reading_v, hf_u8_t numOfSamplesToAvg = 1,
119 hf_time_t timeBetweenSamples = 0) noexcept override;
120
122 hf_adc_err_t ReadMultipleChannels(const hf_channel_id_t* channel_ids, hf_u8_t num_channels,
123 hf_u32_t* readings, float* voltages) noexcept override;
124
126 hf_adc_err_t GetStatistics(hf_adc_statistics_t& statistics) noexcept override;
127
129 hf_adc_err_t GetDiagnostics(hf_adc_diagnostics_t& diagnostics) noexcept override;
130
132 hf_adc_err_t ResetStatistics() noexcept override;
133
135 hf_adc_err_t ResetDiagnostics() noexcept override;
136
138
139private:
141};
142
143#endif // COMPONENT_HANDLER_TMC9660_ADC_WRAPPER_H_
Delegation wrapper that adapts Tmc9660Handler::Adc for external ownership.
Definition Tmc9660AdcWrapper.h:72
hf_adc_err_t ReadChannelV(hf_channel_id_t channel_id, float &channel_reading_v, hf_u8_t numOfSamplesToAvg=1, hf_time_t timeBetweenSamples=0) noexcept override
Definition Tmc9660AdcWrapper.cpp:47
Tmc9660Handler & handler_
Reference to the TMC9660 handler (not owned).
Definition Tmc9660AdcWrapper.h:140
hf_adc_err_t ReadMultipleChannels(const hf_channel_id_t *channel_ids, hf_u8_t num_channels, hf_u32_t *readings, float *voltages) noexcept override
Definition Tmc9660AdcWrapper.cpp:71
hf_adc_err_t ResetDiagnostics() noexcept override
Definition Tmc9660AdcWrapper.cpp:90
hf_adc_err_t GetDiagnostics(hf_adc_diagnostics_t &diagnostics) noexcept override
Definition Tmc9660AdcWrapper.cpp:82
hf_adc_err_t ReadChannel(hf_channel_id_t channel_id, hf_u32_t &channel_reading_count, float &channel_reading_v, hf_u8_t numOfSamplesToAvg=1, hf_time_t timeBetweenSamples=0) noexcept override
Definition Tmc9660AdcWrapper.cpp:62
hf_adc_err_t ReadChannelCount(hf_channel_id_t channel_id, hf_u32_t &channel_reading_count, hf_u8_t numOfSamplesToAvg=1, hf_time_t timeBetweenSamples=0) noexcept override
Definition Tmc9660AdcWrapper.cpp:54
~Tmc9660AdcWrapper() noexcept override=default
Default destructor. Does not affect the handler or its ADC.
hf_u8_t GetMaxChannels() const noexcept override
Definition Tmc9660AdcWrapper.cpp:39
hf_adc_err_t GetStatistics(hf_adc_statistics_t &statistics) noexcept override
Definition Tmc9660AdcWrapper.cpp:78
bool Deinitialize() noexcept override
Definition Tmc9660AdcWrapper.cpp:35
Tmc9660AdcWrapper(Tmc9660Handler &handler) noexcept
Construct the ADC delegation wrapper.
Definition Tmc9660AdcWrapper.cpp:23
hf_adc_err_t ResetStatistics() noexcept override
Definition Tmc9660AdcWrapper.cpp:86
bool Initialize() noexcept override
Definition Tmc9660AdcWrapper.cpp:31
bool IsChannelAvailable(hf_channel_id_t channel_id) const noexcept override
Definition Tmc9660AdcWrapper.cpp:43
Unified, non-templated handler for a single TMC9660 motor controller device.
Definition Tmc9660Handler.h:452