ADC API

概要

ADC API は、単一ピンの ADC 入力を初期化し、RAW 値または電圧値として読み取るための低レベル API です。

xmc::adc::createAdcDriver() で生成して使用します。

設定

xmc::adc::AdcConfig

struct xmc::adc::AdcConfig {};

ADC 初期化時に使用する設定構造体です。 現行定義ではメンバーはありませんが、将来の設定拡張点として用意されています。

xmc::adc::getDefaultAdcConfig

xmc::adc::AdcConfig xmc::adc::getDefaultAdcConfig();

推奨デフォルト値で初期化された AdcConfig を返します。 AdcDriverClass::init() に渡す設定値を取得するために使用します。

AdcDriver

AdcDriver は std::shared_ptr<AdcDriverClass> のエイリアスです。

xmc::adc::createAdcDriver

xmc::adc::AdcDriver xmc::adc::createAdcDriver(int pin = XMC_PIN_GPIO_0);

AdcDriver を生成して返します。 通常はこの関数でドライバを作成し、init() 後に readRaw() / readVoltage() を使用します。

init

XmcStatus xmc::adc::AdcDriverClass::init(const xmc::adc::AdcConfig &cfg);

ADC ドライバを初期化します。 cfg には初期化設定を指定します。戻り値は XmcStatus で、成功時は XMC_OK です。

deinit

void xmc::adc::AdcDriverClass::deinit();

ADC ドライバを終了します。 以後 ADC を使用しない場合に呼び出します。

getMaxValue

void xmc::adc::AdcDriverClass::getMaxValue(uint16_t *raw = nullptr, float *voltage = nullptr);

ADC の最大 RAW 値と最大電圧を取得します。

rawnullptr でない場合は最大 RAW 値を書き込み、voltagenullptr でない場合は基準となる最大電圧 [V] を書き込みます。

readRaw

XmcStatus xmc::adc::AdcDriverClass::readRaw(uint16_t *value);

ADC を 1 回サンプリングし、RAW 値を取得します。 value に読み取り結果を書き込みます。戻り値は XmcStatus です。

readVoltage

XmcStatus xmc::adc::AdcDriverClass::readVoltage(float *value);

ADC を 1 回サンプリングし、電圧値 [V] として取得します。 value に変換結果を書き込み、戻り値は XmcStatus です。