AM Daemon ライブラリリファレンス
|
DipSwitch、PushSwitch、LEDの情報を提供するMonostateクラス。 [詳解]
#include <BoardIO.h>
公開メンバ関数 | |
std::uint16_t | getDipSwitchBits () const |
DipSwitchのON/OFF状態ビット列を取得する。 [詳解] | |
std::uint16_t | getDipSwitchAppValue () const |
DipSwitchのアプリ定義値を取得する。 [詳解] | |
bool | isDipSwitchOn (std::size_t index) const |
DipSwitchのON/OFF状態を取得する。 [詳解] | |
bool | isDipSwitchOn (DipSwitchPos pos) const |
DipSwitchのON/OFF状態を取得する。 [詳解] | |
std::uint16_t | getPushSwitchBits () const |
PushSwitchのON/OFF状態ビット列を取得する。 [詳解] | |
bool | isPushSwitchOn (std::size_t index) const |
PushSwitchのON/OFF状態を取得する。 [詳解] | |
void | setLedState (std::size_t index, bool on, bool forceUpdate=false) |
LEDの状態を設定する。 [詳解] | |
std::uint16_t | getCurrentLedStateBits () const |
現在設定されているLED状態ビット列を取得する。 [詳解] | |
bool | isCurrentLedStateOn (std::size_t index) const |
現在設定されているLED状態が点灯状態であるか否かを取得する。 [詳解] | |
DipSwitch、PushSwitch、LEDの情報を提供するMonostateクラス。
Core クラスのメンバ関数 Core::execute 呼び出しによって内容が更新される。
DipSwitchやPushSwitchの生入力値を取得したり、LEDを直接操作したい場合に用いる。 ID付けされた入出力処理を行う場合はこのクラスではなく Input クラスや Output クラスを用いること。
Output クラスとはLED出力値を共有しており、 どちらか一方で設定した出力値はもう一方にも反映される。
std::uint16_t amdaemon::BoardIO::getDipSwitchBits | ( | ) | const |
DipSwitchのON/OFF状態ビット列を取得する。
ON状態の場合、対応するビットは 1 になる。 OFF状態の場合、対応するビットは 0 となる。 各ビットはDipSwitchのインデックスに対応している。
iostream との親和性のために戻り値の型を std::uint16_t としているが、 実際に値が入るのは下位 amdaemon::DipSwitchCount ビットまでとなる。
ビット演算を行いたくない場合、メンバ関数 isDipSwitchOn で各DipSwitchの 状態を個別に取得するか、 std::bitset クラスで戻り値をラップするとよい。
std::uint16_t amdaemon::BoardIO::getDipSwitchAppValue | ( | ) | const |
DipSwitchのアプリ定義値を取得する。
bool amdaemon::BoardIO::isDipSwitchOn | ( | std::size_t | index | ) | const |
DipSwitchのON/OFF状態を取得する。
[in] | index | DipSwitchインデックス。 |
true | ON状態である場合。 |
false | OFF状態である場合。 |
Exception | 引数 index に amdaemon::DipSwitchCount 以上の値を指定した場合。 |
|
inline |
DipSwitchのON/OFF状態を取得する。
[in] | pos | DipSwitch位置。 |
true | ON状態である場合。 |
false | OFF状態である場合。 |
Exception | 引数 pos に不正な値を指定した場合。 |
std::uint16_t amdaemon::BoardIO::getPushSwitchBits | ( | ) | const |
PushSwitchのON/OFF状態ビット列を取得する。
ON状態の場合、対応するビットは 1 になる。 それ以外の場合、対応するビットは 0 となる。 各ビットはPushSwitchのインデックスに対応している。
iostream との親和性のために戻り値の型を std::uint16_t としているが、 実際に値が入るのは下位 amdaemon::PushSwitchCount ビットまでとなる。
ビット演算を行いたくない場合、メンバ関数 isPushSwitchOn で各PushSwitchの 状態を個別に取得するか、 std::bitset クラスで戻り値をラップするとよい。
bool amdaemon::BoardIO::isPushSwitchOn | ( | std::size_t | index | ) | const |
PushSwitchのON/OFF状態を取得する。
[in] | index | PushSwitchインデックス。 |
true | ON状態である場合。 |
false | OFF状態である場合。 |
Exception | 引数 index に amdaemon::PushSwitchCount 以上の値を指定した場合。 |
void amdaemon::BoardIO::setLedState | ( | std::size_t | index, |
bool | on, | ||
bool | forceUpdate = false |
||
) |
LEDの状態を設定する。
[in] | index | LEDインデックス。 |
[in] | on | 点灯状態にするならば true 、消灯状態にするならば false 。 |
[in] | forceUpdate | 値が変化しない場合も更新要求するならば true 。既定値は false 。 |
Exception | 引数 index に amdaemon::BoardLedCount 以上の値を指定した場合。 |
この関数で指定しても即座に更新されるわけではなく、 Core クラスのメンバ関数 Core::execute 呼び出しによって更新される。
std::uint16_t amdaemon::BoardIO::getCurrentLedStateBits | ( | ) | const |
現在設定されているLED状態ビット列を取得する。
現在ライブラリ内で保持しているLED状態を返す。 起動直後などは、実際のLEDがこの状態になっているとは限らない。
点灯状態の場合、対応するビットは 1 になる。 消灯状態の場合、対応するビットは 0 となる。 各ビットはLEDのインデックスに対応している。
iostream との親和性のために戻り値の型を std::uint16_t としているが、 実際に値が入るのは下位 amdaemon::BoardLedCount ビットまでとなる。
ビット演算を行いたくない場合、メンバ関数 isCurrentLedStateOn で各LED状態を 個別に取得するか、 std::bitset クラスで戻り値をラップするとよい。
bool amdaemon::BoardIO::isCurrentLedStateOn | ( | std::size_t | index | ) | const |
現在設定されているLED状態が点灯状態であるか否かを取得する。
[in] | index | LEDインデックス。 |
true | 点灯状態である場合。 |
false | 消灯状態である場合。 |
Exception | 引数 index に amdaemon::BoardLedCount 以上の値を指定した場合。 |
現在ライブラリ内で保持しているLED状態を返す。 起動直後などは、実際のLEDがこの状態になっているとは限らない。