Public メソッド | |
| def | __init__ |
| コンストラクタ | |
| def | isNew |
| 最新データか確認 | |
| def | name |
| ポート名称を取得する。 | |
| def | write |
| DataPort に値を書き込む | |
| def | read |
| DataPort から値を読み出す | |
| def | init |
| InPort 内のリングバッファの値を初期化(サブクラス実装用) | |
| def | update |
| バインドされた変数に InPort バッファの最新値を読み込む | |
| def | getNewDataLen |
| 未読の新しいデータ数を取得する | |
| def | getNewList |
| 未読の新しいデータを取得する | |
| def | getNewListReverse |
| 未読の新しいデータを逆順(新->古)で取得する | |
| def | setOnWrite |
| InPort バッファへデータ入力時のコールバックの設定 | |
| def | setOnWriteConvert |
| InPort バッファへデータ書き込み時のコールバックの設定 | |
| def | setOnRead |
| InPort バッファへデータ読み込み時のコールバックの設定 | |
| def | setOnReadConvert |
| InPort バッファへデータ読み出し時のコールバックの設定 | |
| def | setOnOverflow |
| InPort バッファへバッファオーバーフロー時のコールバックの設定 | |
| def | setOnUnderflow |
| InPort バッファへバッファアンダーフロー時のコールバックの設定 | |
| def | getPortDataType |
| データ型名取得用メソッド | |
InPort の実装クラス。 InPort は内部にリングバッファを持ち、外部から送信されたデータを順次 このリングバッファに格納する。リングバッファのサイズはデフォルトで64と なっているが、コンストラクタ引数によりサイズを指定することができる。 データはフラグによって未読、既読状態が管理され、isNew(), getNewDataLen() getNewList(), getNewListReverse() 等のメソッドによりハンドリングすることが できる。
| def __init__ | ( | self, | ||
| name, | ||||
| value, | ||||
| buffer_, | ||||
read_block = False, |
||||
write_block = False, |
||||
read_timeout = 0, |
||||
write_timeout = 0 | ||||
| ) |
コンストラクタ
コンストラクタ。
| self | ||
| name | InPort 名。InPortBase:name() により参照される。 | |
| value | この InPort にバインドされる変数 | |
| buffer_ | InPort が内部に保持するバッファ | |
| read_block | 読込ブロックフラグ。 データ読込時に未読データがない場合、次のデータ受信までブロックする かどうかを設定(デフォルト値:False) | |
| write_block | 書込ブロックフラグ。 データ書込時にバッファがフルであった場合、バッファに空きができる までブロックするかどうかを設定(デフォルト値:False) | |
| read_timeout | 読込ブロックを指定していない場合の、データ読取タイム アウト時間(ミリ秒)(デフォルト値:0) | |
| write_timeout | 書込ブロックを指定していない場合の、データ書込タイム アウト時間(ミリ秒)(デフォルト値:0) |
| def isNew | ( | self | ) |
| def write | ( | self, | ||
| value | ||||
| ) |
DataPort に値を書き込む
DataPort に値を書き込む。
| self | ||
| value | 書込対象データ |
| def read | ( | self | ) |
DataPort から値を読み出す
DataPort から値を読み出す
| self |
| def init | ( | self, | ||
| value | ||||
| ) |
| def update | ( | self | ) |
| def getNewDataLen | ( | self | ) |
| def getNewList | ( | self | ) |
| def getNewListReverse | ( | self | ) |
| def setOnWrite | ( | self, | ||
| on_write | ||||
| ) |
InPort バッファへデータ入力時のコールバックの設定
InPort が持つバッファにデータがputされたときに呼ばれるコールバック オブジェクトを設定する。設定されるコールバックオブジェクトは 引数に value を持ち、戻り値 void の __call__ 関数を実装している必要がある。
class MyOnWrite:
def __call__(self, value):
処理
のようにコールバックオブジェクトを実装し、
| self | ||
| on_write | 設定対象コールバックオブジェクト |
| def setOnWriteConvert | ( | self, | ||
| on_wconvert | ||||
| ) |
| def setOnRead | ( | self, | ||
| on_read | ||||
| ) |
| def setOnReadConvert | ( | self, | ||
| on_rconvert | ||||
| ) |
| def setOnOverflow | ( | self, | ||
| on_overflow | ||||
| ) |
| def setOnUnderflow | ( | self, | ||
| on_underflow | ||||
| ) |
| def getPortDataType | ( | self | ) |
1.5.4