AM Daemon ライブラリリファレンス
公開メンバ関数 | 全メンバ一覧
amdaemon::OutputUnit クラス

カテゴリ単位のID付けされた出力処理を行うクラス。 [詳解]

#include <OutputUnit.h>

公開メンバ関数

 OutputUnit (InnerIndexHolder)
 コンストラクタ。 [詳解]
 
bool exists (const OutputId &id) const
 指定した識別IDの出力が存在するか否かを取得する。 [詳解]
 
void setValue (const OutputId &id, std::int64_t value, bool forceUpdate=false)
 出力値を設定する。 [詳解]
 
std::int64_t getCurrentValue (const OutputId &id) const
 現在出力値として設定されている値を取得する。 [詳解]
 
std::int64_t getMinValue (const OutputId &id) const
 出力値として有効な最小値を取得する。 [詳解]
 
std::int64_t getMaxValue (const OutputId &id) const
 出力値として有効な最大値を取得する。 [詳解]
 
SwitchOutput getSwitch (const OutputId &id)
 スイッチ出力ラッパを取得する。 [詳解]
 
AnalogOutput getAnalog (const OutputId &id, double minValue, double maxValue)
 アナログ出力ラッパを取得する。 [詳解]
 
AnalogOutput getAnalog (const OutputId &id, double maxValue=1)
 アナログ出力ラッパを取得する。 [詳解]
 

詳解

カテゴリ単位のID付けされた出力処理を行うクラス。

参照
Output, Player

このクラスのインスタンスをアプリ側で直接生成することはできない。 Output クラスのメンバ関数 Output::getSystem および Output::getPlayer から取得すること。

出力識別ID値は文字列から作成できる。 アプリ実装においては、定数を定義してそれを用いることを推奨する。

namespace outputs
{
const amdaemon::OutputId CoinBlock = amdaemon::OutputId::make(L"coin_block");
}

有効な出力識別IDそのものはDaemonプロセスの設定ファイルで定義する。

スイッチ出力は SwitchOutput クラス、アナログ出力は AnalogOutput クラスで それぞれラップして出力値を設定することを推奨する。 メンバ関数 getSwitch および getAnalog で各ラッパを取得できる。

構築子と解体子

amdaemon::OutputUnit::OutputUnit ( InnerIndexHolder  )
explicit

コンストラクタ。

覚え書き
アプリ側からは利用できない。

関数詳解

bool amdaemon::OutputUnit::exists ( const OutputId id) const

指定した識別IDの出力が存在するか否かを取得する。

引数
[in]id出力識別ID。
戻り値
true存在する場合。
false存在しない場合。
void amdaemon::OutputUnit::setValue ( const OutputId id,
std::int64_t  value,
bool  forceUpdate = false 
)

出力値を設定する。

引数
[in]id出力識別ID。
[in]value出力値。出力先デバイスにより値の意味は異なる。
[in]forceUpdate値が変化しない場合も更新要求するならば true 。既定値は false 。
例外
Exception
  • 引数 id に存在しない出力識別IDを指定した場合。
  • 引数 value に有効範囲外の値を指定した場合。
std::int64_t amdaemon::OutputUnit::getCurrentValue ( const OutputId id) const

現在出力値として設定されている値を取得する。

引数
[in]id出力識別ID。
戻り値
現在出力値として設定されている値。
例外
Exception引数 id に存在しない出力識別IDを指定した場合。

現在ライブラリ内で保持している値を返す。 起動直後などは、実デバイスにこの値が設定されているとは限らない。

std::int64_t amdaemon::OutputUnit::getMinValue ( const OutputId id) const

出力値として有効な最小値を取得する。

引数
[in]id出力識別ID。
戻り値
出力値として有効な最小値。
例外
Exception引数 id に存在しない出力識別IDを指定した場合。
std::int64_t amdaemon::OutputUnit::getMaxValue ( const OutputId id) const

出力値として有効な最大値を取得する。

引数
[in]id出力識別ID。
戻り値
出力値として有効な最大値。
例外
Exception引数 id に存在しない出力識別IDを指定した場合。
SwitchOutput amdaemon::OutputUnit::getSwitch ( const OutputId id)
inline

スイッチ出力ラッパを取得する。

引数
[in]id出力識別ID。
戻り値
スイッチ出力ラッパ。

引数 id に存在しない出力識別IDを指定した場合でもラッパを取得できる。 ただしラッパのメンバ関数 SwitchOutput::exists は false を返す。

AnalogOutput amdaemon::OutputUnit::getAnalog ( const OutputId id,
double  minValue,
double  maxValue 
)
inline

アナログ出力ラッパを取得する。

引数
[in]id出力識別ID。
[in]minValue線形変換された最小値として用いる値。
[in]maxValue線形変換された最大値として用いる値。
戻り値
アナログ出力ラッパ。
例外
Exception引数 minValue または maxValue に非数値(NAN等)を指定した場合。

引数 id に存在しない出力識別IDを指定した場合でもラッパを取得できる。 ただしラッパのメンバ関数 AnalogOutput::exists は false を返す。

AnalogOutput amdaemon::OutputUnit::getAnalog ( const OutputId id,
double  maxValue = 1 
)
inline

アナログ出力ラッパを取得する。

引数
[in]id出力識別ID。
[in]maxValue線形変換された最大値として用いる値。既定値は 1.0 。
戻り値
アナログ出力ラッパ。
例外
Exception引数 maxValue に非数値(NAN等)を指定した場合。

線形変換された最小値として用いる値は 0.0 とする。

引数 id に存在しない出力識別IDを指定した場合でもラッパを取得できる。 ただしラッパのメンバ関数 AnalogOutput::exists は false を返す。


このクラス詳解は次のファイルから抽出されました: